* Added a 'WEBAPI_AUTHS' table to the database.
* Added a 'USERS.WEBAPI_AUTH_TIMEOUT' field to the database.
* Incremented the database version to 260.
* Added 'RDUser::webapiAuthTimeout()' and
'RDUser::setWebapiAuthTimeout()' methods in 'lib/rduser.cpp' and
'lib/rduser.h'.
* Added a 'WebAPI Timeout' control to the Edit User dialog in
'rdadmin/edit_user.cpp' and 'rdadmin/edit_user.h'.
* Implemented a 'CreateTicket' Web API call.
* Fixed a bug in 'lib/rdaudioconvert.cpp' that caused conversions
from MPEG Layer 3 VBR data to be truncated when no end point
was specified.
* Fixed a bug in 'web/rdxport/import.cpp' that caused the
end marker to be positioned incorrectly when importing MPEG
Layer 3 VBR files.
* Fixed a bug in 'rdlibrary/audio_cart.cpp' where the 'Conductor'
failed to be imported from RDXL chunks.
* Added a 'songId' field to the cart metadata XML.
* Added 'RDCart::xmlSql()' and second 'RDCart::xml()' methods.
* Refactored the 'RDCart::xml()' method to use a SQL query.
* Refactored the Cart and Cut web methods in 'web/rdxport/carts.cpp'
to use SQL queries.
* Modified 'lib/rdformpost.cpp' to use read-only accessors for
std::map values.
* Added a check for valid event IDs for the 'SaveLog' method in
'web/rdxport/logs.cpp'.
* Removed the 'CategoryGapLookup=' parameter from
rlm_tagstation.conf(5).
* Added a 'CategoryPromotion=' parameter to rlm_tagstation.conf(5).
* Changed the behavior of the TagStation RLM as to not send an update
if its group is not explicitly listed in one of the TagStation
categories.
* Modified the '<forcedLength>', '<averageLength>',
'<lengthDeviation>', '<averageSegueLength>' and
'<averageHookLength>' fields in the return of the 'ListCart'
and 'ListCarts' web methods to return a two-digit hours field.
* Fixed a bug in 'lib/rdlog_line.cpp' that caused the event start
time to be incorrect in the 'ListLog' Web API method for times of
'00:00:00.0' for 'hard' type.
* Changed the DLL load target for libmad from 'libmad.so' to
'libmad.so.0' in 'cae/cae.cpp' and 'lib/rdaudioconvert.cpp'.
* Changed the DLL load target for lame from 'libmp3lame.so' to
'libmp3lame.so.0' in 'cae/cae.cpp' and 'lib/rdaudioconvert.cpp'.
* Changed the DLL load target for faad from 'libfaad.so' to
'libfaad.so.2' in 'cae/cae.cpp' and 'lib/rdmp4.cpp'.
* Changed the DLL load target for mp4v2 from 'libmp4v2.so' to
'libmp4v2.so.2' in 'cae/cae.cpp' and 'lib/rdaudioconvert.cpp'.
* Fixed a bug in 'web/tests/editcut.js' that caused the EditCut
test harness to fail when using non-localhost URLs.
* Fixed a bug in 'web/tests/editcart.js' that caused the EditCut
test harness to fail when using non-localhost URLs.
* Added an 'AddLog' method to the Web API.
* Added an 'DeleteLog' method to the Web API.
* Added a 'SaveLog' method to the Web API.
* Added 'eventLength', 'linkEventName', 'linkStartSlop',
'linkEndSlop', 'linkId', 'linkEmbedded', 'extStartTime',
'extLength', 'extCartName', 'extData', 'extEventId',
and 'extAnncType' XML fields to the return of the ListLog web
API method
* Modified the Edit Log dialog so as to provide indication when
the log has been modified.
* Fixed a bug in 'rdlogedit/edit_log.cpp' that caused the Modified
datestamp to be updated when 'OK' was clicked even if no changes
were made.