* Reverted the leading '0' fix to the 'CounterPoint Traffic
Reconciliation' report generator.
* Added a 'CounterPoint Traffic Reconciliation v2' report.
* Fixed a bug in the 'CounterPoint Traffic Reconciliation' report
generator in rdlogmanager(1) that caused it to omit the leading '0'
from values in the 'Scheduled event length' column.
* Fixed a regression in rdlogmanager(1) that caused trailer
whitespace to be generated in the 'EXT_DATA', 'EXT_EVENT',
'EXT_ANNC_TYPE' and 'EXT_CART_NAME' log fields when importing
from a CounterPoint format log.
* Added a 'USERS.EMAIL_ADDRESS' field to the database.
* Added 'RDUser::emailAddress()', 'RDUser::setEmaiAddress()' and
'RDUser::emailContact()' methods.
* Added 'RDUser::emailIsValid()' and 'RDUser::emailContact()'
static methods.
* Added logic to rdcastmanager(1) to insert the author's e-mail
contact automatically when posting a new episode.
* Added a 'FEEDS.AUDIENCE_METRICS' field to the database.
* Incremented the database version to 316.
* Added a 'Collect Audience Metrics' checkbox to the 'Feed'
dialog in rdadmin(1).
* Added an 'RDTransfer' base class.
* Rebased 'RDDelete' to 'RDTransfer'.
* Added 'sftp' support to 'RDDelete'.
* Added 'file' support to 'RDDelete'.
* Refactored RSS generation to occur in 'RDFeed'.
* Added a 'delete_test' test harness.
* Fixed a bug with the '%y' metadata wildcard where garbage would
be returned if a valid year had not been set.
* Added a 'metadata_wildcard_test' harness.
* Added a 'FEEDS.IS_SUPERFEED' field to the database.
* Added a 'FEED_KEY_NAMES' table to the database.
* Incremented the database version to 315.
* Added a 'Superfeed' column to the feed list in the 'Rivendell
Feed List' dialog in rdadmin(1).
* Added an 'Is Superfeed' dropdown to the 'Feed' dialog in
rdadmin(1).
* Added a 'Select Member Feeds' button to the 'Feed' dialog in
rdadmin(1).
* Added an 'RSS Superfeed' selection dialog to rdadmin(1).
* Added a '%wc' ['Industry Standard Commercial Identification (ISCI)
Code'] metadata wildcard.
* Implemented the '%wc' metadata wildcard for PyPAD.
* Added support for the '%wc' wildcards to the '--metadata-pattern='
switch in rdimport(1).
* Added '--set-string-isci' switch to rdimport(1).
* Added support for the '%wc' wildcard to the '--metadata-pattern='
switch in rdexport(1).
* Consolidated the Metadata Wildcard definitions in the
'RDResolveNowNext()' function into the 'RDLogLine::resolveWildcards()'
method.
* Added 'recordMbId' and 'releaseMbId' fields to the cut XML data
schema.
* Added '%wm' ['MusicBrainz Recording ID'] and '%wr'
['MusicBrainz Release ID'] metadata wildcards.
* Fixed a bug in the MusicBrainz CD lookup that caused it to
confound track info in multi-disc releases.
* Fixed a bug in the MusicBrainz CD lookup that caused it to
segfault when processing release with no Label information.
* Added a 'STATIONS.BROWSER_PATH' field to the database.
* Incremented the database version to 314.
* Added a 'Web Browser' control to the 'Edit Host' dialog in
rdadmin(1).
* Added a MusicBrainz record lookup button to the full disc ripper
in rdlibrary(1).
* Added a MusicBrainz record lookup button to the disc track ripper
in rdlibrary(1).
* Fixed a bug in the full disc ripper in rdlibrary(1)that caused it
to fail to save MBIDs to the database after a successful rip.
* Fixed a bug in the disc track ripper in rdlibrary(1)that caused it
to fail to save MBIDs to the database after a successful rip.
* Added a 'RDLIBRARY.CD_SERVER_TYPE' field to the database.
* Added an 'RDLIBRARY.MB_SERVER' field to the database.
* Incremented the database version to 312.
* Added a 'CD Metadata Source' dropdown to the 'Configure RDLibrary'
dialog in rdadmin(1).
* Added a 'Dummy' CD metadata lookup source in the 'RDDummyLookup'
class.
* Added a 'CUTS.TRACK_MBID' field to the database.
* Added a 'CUTS.RELEASE_MBID' field to the database.