* Fixed a bug in the 'EditCart' web API call that caused updates to
the 'SongID' field to be ignored.
* Fixed a bug in the 'EditCart' web API call that caused updates to
the 'Conductor' field to be ignored.
* Modified the 'editcart.html' test harness to process UTF-8 strings
correctly.
* Modified the 'editcut.html' test harness to process UTF-8 strings
correctly.
* 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 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 a 'SERVICES.LOG_SHELFLIFE_ORIGIN' field to the database.
* Incremented the database version to 275.
* Added a drop-down control to the 'Set Logs to auto-delete' control
to allow origin to be specified in the 'Edit Service' dialog in
rdadmin(1).
* Implemented application of the 'Purge Logs' setting when creating
logs manually.
* Changed the wording of the 'Purge Logs' and 'Purge ELR Data'
control in the Edit Service dialog in rdadmin(1).
* Added 'RDLog::create()' and 'RDLog::remove()' static methods.
* Added a 'USER_SERVICE_PERMS' table to the database.
* Incremented the database version to 272.
* Added a 'Service Permissions' button to the Edit User dialog in
rdadmin(1).
* Added a 'STATIONS.SHORT_NAME' field to the database.
* Incremented the database version to 270.
* Added 'RDStation::shortName()' and 'RDStation::setShortName()'
methods.
* Removed the 'Broadcast Security Model' control from the 'Edit
Host' dialog.
* Added a 'Short Name' control to the 'Edit Host' dialog.
* Implemented a '%R' wildcard for Rivendell Host Short Name.
* Fixed a bug in 'web/rdxport/carts.cpp' and 'web/rdxport/import.cpp'
that caused the 'EditCart' web API call to return an error when
attempting to set the Title field to its current value when
Allow Duplicate Cart Titles was not enabled.
* Added a '<fadedownGain>' parameter to the return of the 'ListLog'
web API call.
* Added 'FADEUP_GAIN' and 'FADEDOWN_GAIN' parameters to the 'SaveLog'
web API call.
* Added a 'SYSTEM.FIX_DUP_CART_TITLES' field to the database.
* Incremented the database version to 264.
* Added 'RDSystem::fixDuplicateCartTitles()' and
'RDSystem::setFixDuplicateCartTitles()' methods in 'lib/rdsystem.cpp'
and 'lib/rdsystem.h'.
* Added an 'Auto-Correct Duplicate Cart Titles' checkbox to the
'System Settings' dialog in 'rdadmin/edit_settings.cpp' and
'rdadmin/edit_settings.h'.
* Modified the 'EditCart' web call to enforce the 'Auto-Correct
Duplicate Cart Titles' setting.