* Fixed a bug in 'RDAudioExport', 'RDAudioImport',
'RDAudioStore', 'RDCart', 'RDCopyAudio', 'RDPeakExport',
'RDRehash', and 'RDTrimAudio' that caused credentials encoded in
UTF-8 to be corrupted.
* Cleaned up memory leaks in 'RDAudioExport', 'RDAudioImport',
'RDAudioStore', 'RDCart', 'RDCopyAudio', 'RDPeakExport',
'RDRehash', and 'RDTrimAudio'.
* Modified Xload operations in 'RDDelete', 'RDDownload' and
'RDUpload' to work properly with credentials using UTF-8 strings.
* Added a 'SaveFile' test method to the web API.
* Added a 'SaveString' test method to the web API.
* Refactored the multipart-mime parser in 'RDFormPost' to process
UTF-8 strings correctly.
* Fixed a bug in 'RDCastSearchString()' that threw a SQL error when
passed a filter string consisting of pure whitespace.
* Fixed bugs in 'rdcastmanager.cgi' that caused corruption when
displaying UTF-8 strings.
* Fixed a bug in the 'RDEscapeString' function that caused corruption
in UTF-8 strings.
* Added a UTF-8 complaint MySQL driver in 'drivers/qt3-mysql-utf/'.
* Added an 'IMPORTER_LINES' table to the database.
* Incremented the database version to 295.
* Refactored the log importer code to use the static 'IMPORTER_LINES'
table.
* Fixed a bug in rdadmin(1) that caused the credentials fields to
be greyed out when configuring a podcast feed to use SFTP uploads.
* Fixed a bug in 'RDExport' that caused encoding of credentials
to be corrupt.
* Fixed a regression in the RDFeed service that caused detection
of feed names to fail.
* Added an 'EVENT_LINES' table to the database.
* Incremented the database version to 290.
* Removed the 'RDEvent::preimportTableName()' method.
* Removed the 'RDEvent::postimportTableName()' method.
* Fixed a bug in 'RDStation::remove()' where the 'AUDIO_INPUTS'
was failed to be purged of stale host entries.
* Fixed a bug in 'RDStation::remove()' where the 'AUDIO_CARDS'
was failed to be purged of stale host entries.
* Fixed a bug in 'RDStation::create()' that threw SQL errors.
* Added a 'STATIONS.JACK_PORT' field to the database.
* Incremented the database version to 287.
* Added an 'Initial Audio Ports' control to the 'JACK Configuration'
dialog in rdadmin(1).
* Implemented 'Activate JACK Port' ['JA'] and 'Remove JACK Port' ['JR']
RMLs.
* Stubbed out rddbmgr(8).
* Implemented the '--create' command in rddbmgr(8).
* Fixed a bug in 'RDStation::create()' that generated corrupt records
in the 'AUDIO_INPUT' and 'AUDIO_OUTPUTS' tables when creating a
new host with no exemplar.
* Fixed a bug in rdadmin(1) that caused 'Length' parameters in
custom log import settings to fail to be copied correctly when
cloning a new service.
* Dropped the 'SERVICES.TFC_LENGTH_OFFSET' field from the database.
* Dropped the 'SERVICES.TFC_LENGTH_LENGTH' field from the database.
* Dropped the 'SERVICES.MUS_LENGTH_OFFSET' field from the database.
* Dropped the 'SERVICES.MUS_LENGTH_LENGTH' field from the database.
* Incremented the database version to 286.
* Removed drop of the 'RECORDINGS.SAMPRATE' field from schema
change 285.
* Cleaned up SQL calls in rdcatchd(8).
* Cleaned up SQL calls in 'RDStation'.
* Cleaned up SQL calls in 'RDLibraryConf'.
* Cleaned up SQL calls in 'RDLogeditConf'.
* Cleaned up SQL calls in 'RDLogLine'.
* Cleaned up SQL calls in 'RDSvc'.
* Cleaned up SQL calls in rivendell_filter(1).