* 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.
* 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.
* Added an 'EVENT_LINES' table to the database.
* Incremented the database version to 290.
* Removed the 'RDEvent::preimportTableName()' method.
* Removed the 'RDEvent::postimportTableName()' method.
* 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.
* 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).
* Dropped the 'CART.ISRC' field from the database.
* Dropped the 'DECKS.DEFAULT_SAMPRATE' field from the database.
* Dropped the 'RDLIBRARY.INPUT_STREAM' field from the database.
* Dropped the 'RDLIBRARY.OUTPUT_STREAM' field from the database.
* Dropped the 'RDLIBRARY.RECORD_GPI' field from the database.
* Dropped the 'RDLIBRARY.PLAY_GPI' field from the database.
* Dropped the 'RDLIBRARY.STOP_GPI' field from the database.
* Dropped the 'RDLIBRARY.DEFAULT_SAMPRATE' field from the database.
* Dropped the 'RECORDINGS.DEFAULT_SAMPRATE' field from the database.
* Dropped the 'RDLOGEDIT.SAMPRATE' field from the database.
* Dropped the 'SERVICES.TFC_START_OFFSET' field from the database.
* Dropped the 'SERVICES.TFC_START_LENGTH' field from the database.
* Dropped the 'SERVICES.MUS_START_OFFSET' field from the database.
* Dropped the 'SERVICES.MUS_START_LENGTH' field from the database.
* Incremented the database version to 285.
* Dropped the 'RDAIRPLAY.INSTANCE' field from the database.
* Dropped the 'RDAIRPLAY.CARD<n>' fields from the database.
* Dropped the 'RDAIRPLAY.PORT<n>' fields from the database.
* Dropped the 'RDAIRPLAY.START_RML<n>' fields from the database.
* Dropped the 'RDAIRPLAY.STOP_RML<n>' fields from the database.
* Dropped the 'RDAIRPLAY.OP_MODE' field from the database.
* Dropped the 'RDAIRPLAY.START_MODE' field from the database.
* Dropped the 'RDPANEL.INSTANCE' field from the database.
* Dropped the 'RDPANEL.CARD<n>' fields from the database.
* Dropped the 'RDPANEL.PORT<n>' fields from the database.
* Dropped the 'RDPANEL.START_RML<n>' fields from the database.
* Dropped the 'RDPANEL.STOP_RML<n>' fields from the database.
* Altered the default value of the 'MATRICES.PORT field to 0.
* Altered the default value of the 'MATRICES.PORT_2 field to 0.
* Altered the default value of the 'MATRICES.INPUTS field to 0.
* Altered the default value of the 'MATRICES.OUTPUTS field to 0.
* Altered the default value of the 'MATRICES.GPIS field to 0.
* Altered the default value of the 'MATRICES.GPOS field to 0.
* Incremented the database version to 284.
* Fixed bugs in rdcatch(1) that incorrectly escaped host
names in SQL calls.
* Fixed a bug in 'RDLog::create()' that failed to initialize
the modified datetime correctly.
* Added an 'AUDIO_CARDS' table to the database.
* Dropped the 'STATIONS.CARD<n>_DRIVER', 'STATIONS.CARD<n>NAME',
'STATIONS.CARD<n>_INPUTS' and 'STATIONS.CARD<n>OUTPUTS' fields
from the database.
* Incremented the database version to 282.
* Added an 'AUDIO_CARDS.CLOCK_SOURCE' field to the database.
* Added an 'AUDIO_INPUTS' table to the database.
* Added an 'AUDIO_OUTPUTS' table to the database.
* Dropped the 'AUDIO_PORTS' table from the database.
* Incremented the database version to 283.
* Changed the legend on the 'Audio Ports' button to 'ASI Audio Ports'
on the 'Edit Host' dialog in rdadmin(1).
* Changed the title of the 'Configure Audio Ports' dialog to
'Configure AudioScience Audio Ports' on the 'Edit Host' dialog
in rdadmin(1).
* Added a 'RDAIRPLAY.VIRTUAL_EXIT_CODE' field to the database.
* Incremented the database version to 281.
* Added 'RDAirPlayConf::virtualExitCode()' and
'RDAirPlayConf::setVirtualExitCode()' methods.
* Implemented Start/Stop settings for vlogs.
* Added a 'USERS.WEBGET_LOGIN_PRIV' field to the database.
* Incremented the database version to 277.
* Added 'RDUser::webgetLogin()' and 'RDUser::setWebgetLogin()'
methods.
* Added a 'Allow WebGet Login' control in the 'Production Rights'
section of the 'User' dialog in rdadmin(1).
* Converted ripcd(8) to use RDApplication.
* Documented a 'Notification' message type in
'docs/apis/notification.xml'.
* Added an 'RDMulticaster' class.
* Added an 'mcast_recv_test' program in 'tests/'.
* Added a 'SYSTEM.NOTIFICATION_ADDRESS' field to the database.
* Incremented the database version to 276.
* Added an 'Mcast Address for Notifications' control to the
'System-Wide Settings' dialog in rdadmin(1).
* Implemented the 'Process Notification' ['ON'] command in
ripcd(8).
* Added an 'RDRipc::sendNotification()' method.
* Added an 'RDRipc::notificationReceived()' signal.
* 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).
* Added a 'LOGS.LOCK_USER_NAME' field to the database.
* Added a 'LOGS.LOCK_STATION_NAME' field to the database.
* Added a 'LOGS.LOCK_IPV4_ADDRESS' field to the database.
* Added a 'LOGS.LOCK_DATETIME' field to the database.
* Incremented the database version to 273.
* Added log locking logic to rdlogedit(1).
* Added a 'Managing System Settings' section to the Operations Guide.
* Added a 'Managing Scheduler Codes' section to the Operations Guide.
* Added a 'Managing Replicators' section to the Operations Guide.
* Changed the title of the 'Edit TTYs' dialog in
rdadmin(1) to 'Edit Serial Ports'.
* Added a 'Configuring Serial Ports' section to the Operations Guide.
* Changed the title of the 'RDLogEdit configuration' dialog in
rdadmin(1) to 'Configure RDLogEdit'.
* Added a 'Configuring RDLogEdit' section to the Operations Guide.
* Changed the title of the 'RDPanel configuration' dialog in
rdadmin(1) to 'Configure RDPanel'.
* Added a 'Configuring RDPanel' section to the Operations Guide.
* Changed the title of the 'RDAirPlay configuration' dialog in
rdadmin(1) to 'Configure RDAirPlay'.
* Added a 'Configuring RDAirPlay' section to the Operations Guide.