Personal tools

Difference between revisions of "ChangeSummary"

From Rivendell Wiki

Jump to: navigation, search
m (Add changes for version 3.6.2.)
m (Add change description for version 4.3.0.)
 
(13 intermediate revisions by the same user not shown)
Line 3: Line 3:
  
 
This page contains version change descriptions in summary form for Rivendell versions released within at least the most recent five years (quite probably longer). Change descriptions are limited (mostly) to user-visible changes.
 
This page contains version change descriptions in summary form for Rivendell versions released within at least the most recent five years (quite probably longer). Change descriptions are limited (mostly) to user-visible changes.
 +
 +
This change summary tracks the two most recent stable versions. As of November, 2023 you can see summaries for versions [[#Version 4.X Changes|4.X]] and [[#Version 3.X Changes|3.X]].
  
 
Please see the [https://raw.githubusercontent.com/ElvishArtisan/rivendell/master/ChangeLog ChangeLog] and [https://github.com/ElvishArtisan/rivendell/blob/master/NEWS NEWS] files in the [https://github.com/elvishartisan/rivendell source code] for a complete list of changes and bug fixes.
 
Please see the [https://raw.githubusercontent.com/ElvishArtisan/rivendell/master/ChangeLog ChangeLog] and [https://github.com/ElvishArtisan/rivendell/blob/master/NEWS NEWS] files in the [https://github.com/elvishartisan/rivendell source code] for a complete list of changes and bug fixes.
  
 
See the [https://github.com/elvishartisan/rivendell/issues Issues] list for current reported bugs, issues and feature requests.
 
See the [https://github.com/elvishartisan/rivendell/issues Issues] list for current reported bugs, issues and feature requests.
 +
 +
== Version 4.X Changes ==
 +
 +
 +
 +
=== 4.3.0 (2024-06-26) ===
 +
 +
* Database version '''375'''
 +
 +
 +
 +
* <font style="color:blueviolet">Database Schema Change</font>: Changed the &lsquo;ELR_LINES.EXT_EVENT_ID&rsquo; database field from &lsquo;varchar(8)&rsquo; to &rsquo;varchar(32)&rsquo;
 +
 +
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in the &lsquo;Edit Audio&rsquo; dialog that caused it to ignore the state of the &lsquo;Edit Audio&rsquo; user privilege
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in the SoundPanel that caused button color highlighting for addition/move/delete operations to fail to be displayed for User panels when the user didn&rsquo;t have the &lsquo;Configure System Panels&rsquo; privilege
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in rdairplay(1) that caused the start time indicators in the button log to display the incorrect color for hard time events
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in the audio importation system that could cause the detected length of an MPEG file to be &lsquo;0&rsquo;
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in the &lsquo;Edit Service&rsquo; dialog in rdadmin(1) that made it impossible to use a field width of greater than 8 for the &lsquo;Event ID&rsquo; log import field
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdpadd(8) that could cause corruption when processing JSON updates
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in the &lsquo;pypad_icecast2.py PyPAD script that caused mojibake when sending ISO-8859-1 characters with code points &gt;= 0x80
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in the &lsquo;Edit Audio&rsquo; dialog in rdlibrary(1) that caused play-out to fail to stop at the end marker when using the &lsquo;Play To&rsquo; feature
 +
 +
 +
* <font style="color:blue">Code (internal) change</font>: Refactored the &lsquo;RDEventLine::generateLog()&rsquo; method to isolate music selector code into the &lsquo;RDEventLine::GenerateMusicSchedEvent()&rsquo; method
 +
* <font style="color:blue">Code (internal) change</font>: Added &lsquo;python3-venv&rsquo;, &lsquo;python3-virtualenv&rsquo;,  &lsquo;python3-build&rsquo; and &lsquo;twine&rsquo; packages to the list of required build packages for Ubuntu 22.04 LTS and Ubuntu 24.04 LTS in &lsquo;INSTALL&rsquo;
 +
* <font style="color:blue">Code (internal) change</font>: Added a &lsquo;Debian 12 "Bookworm"&rsquo; section to the &lsquo;INSTALL&rsquo; file
 +
 +
 +
 +
=== 4.2.2 (2024-05-02) ===
 +
 +
* Database version '''374''' (no change from previous release)
 +
 +
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdlibrary(1) that could cause segfaults when deleting cut entries from a cart
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in the build system that failed to package &lsquo;Appendix I. Library Text Searches&rsquo; in the HTML version of the Operations Guide
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in rdlibrary(1) that caused output of the Cart Report to not reflect the current filter and sorting state of the library list
 +
* <font style="color:red">Bug fix</font>: Fixed a race condition in the PAD XML feed that could cause corrupt updates
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in the WebGet service that caused stale temp files to be left behind after processing
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in &lsquo;RDWaveFile&rsquo; that broke reading of start and end dates in files containing a &lsquo;scot&rsquo; chunk
 +
* <font style="color:green">Functionality</font>: Added a &lsquo;KillPypadAfterError=&rsquo; directive to the &lsquo [Debugging]&rsquo; section of rd.conf(5)
 +
* <font style="color:orange">Documentation</font>: Documented the &lsquo;[Debugging]&rsquo; section in the rd.conf(5) man page
 +
 +
 +
=== 4.2.1 (2024-04-24) ===
 +
 +
* Database version '''374''' (no change from previous release)
 +
 +
 +
* <font style="color:red">Bug fix</font>: Fixed a bug that failed to remove a temporary directory after use
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in the PyPAD subsystem that broke null datetime handling and cause PyPAD instances to crash
 +
* <font style="color:green">Functionality</font>: Added an &lsquo;Ubuntu 24.04 LTS&rsquo; section to &lsquo;INSTALL&rsquo;
 +
 +
=== 4.2.0 (2024-04-06) ===
 +
 +
* Database version '''374''' (changed from previous release)
 +
 +
 +
* <font style="color:blueviolet">Database Schema Change</font>: Added a &lsquo;RDAIRPLAY.MESSAGE_WIDGET_URL&rsquo; field to the database
 +
* <font style="color:blueviolet">Database Schema Change</font>: Changed the &lsquo;AUDIO_CARDS.NAME&rsquo; database field from &lsquo;<tt>varchar(64)</tt>&rsquo; to &lsquo;<tt>text</tt>&rsquo;
 +
* <font style="color:blueviolet">Database Schema Change</font>: Added a &lsquo;REPLICATORS.PROGRAM_CODE&rsquo; field to the database
 +
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in rdairplay(1) that could cause the space bar to fail to start the next main log event
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in rdlogmanager(1) that caused clock titles to fail to be centered in the pie wedge display in the &lsquo;Edit Clock&rsquo; dialog
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in rdlibrary(1) that caused the &lsquo;Forced Length&rsquo; control in the &lsquo;Edit Cart&rsquo; dialog to be misformatted when the system was configured to use 12 hour time format
 +
* <font style="color:red">Bug fix</font>: Fixed bugs in rdairplay(1) that caused scroll bars to appear when loading web content into the message widget
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in rdlogmanager(1) that could throw SQL &ldquo;''column out of range''&rdquo; errors when importing traffic logs
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdlogmanager(1) that threw SQL errors when processing log GUIDs containing apostrophes
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in rdairplay(1) that caused invalid PAD JSON to be emitted when processing a Chain event
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in the PAD subsystem that caused meta-events to be included in the update events
 +
 +
* <font style="color:green">Functionality</font>: Added a check to the audio importation system to validate metadata cue point positions relative to the actual audio duration
 +
* <font style="color:green">Functionality</font>: Several changes to the Rivendell replication code:
 +
:* added a &lsquo;''Program Code''&rsquo; control to the &lsquo;''Rivendell Replicators''&rsquo; dialog in rdadmin(1)
 +
:* renamed the &lsquo;''Citadel X-Digital Portal''&rsquo; replicator to &lsquo;''X-Digital National ISCI Model''&rsquo;
 +
:* added a &lsquo;''X-Digital Cue Model''&rsquo; replicator
 +
:* added the option to provision users from an existing RSS feed to the &lsquo;''Add RSS Feed''&rsquo; dialog in rdadmin(1)
 +
:* (internal, code change) added &lsquo;<tt>RDReplicator::programCode()</tt>&rsquo; and &lsquo;<tt>RDReplicator::setProgramCode()</tt>&rsquo; methods
 +
* <font style="color:green">Functionality</font>: Added support for displaying web pages in RDAirPlay&lsquo;s message panel. Changes include:
 +
:* implementation of a new &ldquo;Load Message&rdquo; [&lsquo;LM&rsquo;] RML
 +
:* modification of rdairplay(1) to make the Message Widget retain the loaded URL across instances
 +
:* modification of rdairplay(1) to make the Message Widget continually poll and update loaded URLs using the &lsquo;file:&rsquo; schema
 +
* <font style="color:green">Functionality</font>: Added support for extended event program associated data (PAD, aka metadata); changes include:
 +
:* addition of an extended event PAD output at TCP port 34290
 +
:* addition of an &lsquo;ExtendedNextPadEvents=&rsquo; directive to rd.conf(5) (see the 'ExtendedNextPadEvents=' directive in the '[Tuning]' section of the <tt>rd.conf</tt>(5) manual page)
 +
 +
=== 4.1.3 (2024-01-24) ===
 +
 +
* Database version '''371''' (no change)
 +
 +
 +
* <font style="color:red">Bug fix</font>: Fixed a race in the log machine logic that could cause truncated play-outs with segue transitions
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in ripcd(8) that could cause a segfault when processing a null password in the &lsquo;Login&rsquo; [&rsquo;LO&rsquo;] RML
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in rdairplay(1) that caused the &lsquo;Sch. Time&rsquo; column to be removed from the Full Log lists
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in rdairplay(1) when using the &lsquo;Append Log&rsquo; [&rsquo;AL&rsquo;] RML caused the Full Log widget to only display the first event of the appended log
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in rdcartslots(1) that broke audio meters
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in rdcatch(1) that broke play-out of the head and tail audition buttons
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in rdcatchd(8) that broke play-out events
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in rdcatchd(8) that caused recordings to always be saved in PCM16 format when the &lsquo;Normalize&rsquo; attribute was set for the recording event
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in rdcatchd(8) that caused recordings to MPEG Layer II to fail
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in the &lsquo;Cut Info / Record&rsquo; dialog in rdlibrary(1) that caused the audio meter to fail to be zeroed when resetting from record ready
 +
* <font style="color:red">Bug fix</font>: Fixed regressions in &lsquo;RDCae&rsquo; and the HPI driver in caed(8) that caused the length of audio captures to be reported incorrectly
 +
* <font style="color:red">Bug fix</font>: Fixed regressions in the CAE subsystem that broke play-out positioning and active output port reporting
 +
 +
* <font style="color:green">Functionality</font>: Reduced the minimum size of rdairplay(1) to 1280x870 so as to fit on a 1280x1024 display
 +
* <font style="color:green">Functionality</font>: Added support for subclauses in the cart library search filter
 +
* <font style="color:green">Functionality</font>: Optimized the handling of cart numbers when searching for carts
 +
 +
* <font style="color:blue">Code (internal) change</font>: Cleaned up warnings about unprocessed CAE commands in the syslog
 +
* <font style="color:blue">Code (internal) change</font>: Refactored the CAE control interface to assign session IDs from the client rather than the service end
 +
* <font style="color:blue">Code (internal) change</font>: Added &lsquo;debhelper&rsquo; to the list of required build packages for Debian 11 "Bullseye" in &lsquo;INSTALL&rsquo;
 +
* <font style="color:blue">Code (internal) change</font>: Removed the &lsquo;card-num&rsquo;, &lsquo;port-num&rsquo; and &lsquo;stream-num&rsquo; parameters from the &lsquo;Set Output Volume&rsquo; [&rsquo;OV&rsquo;] and &lsquo;Fade Output Volume&rsquo; [&rsquo;FV&rsquo;] CAE commands
 +
* <font style="color:blue">Code (internal) change</font>: Removed vestigal support for the &lsquo;Open RTP Capture Channel&rsquo; [&rsquo;CO&rsquo;] CAE command
 +
* <font style="color:blue">Code (internal) change</font>: Removed vestigal support for the &lsquo;Output Stream Status&rsquo; [&rsquo;MS&rsquo;] CAE command
 +
* <font style="color:blue">Code (internal) change</font>: Added &lsquo;Wants=hpklinux.service&rsquo; to the &lsquo;rivendell&rsquo; SystemD service definition
 +
* <font style="color:blue">Code (internal) change</font>: Changed the default value of the &lsquo;RDLogLine::Imported&rsquo; start time from &lsquo;00:00:00&rsquo; to NULL
 +
* <font style="color:blue">Code (internal) change</font>: Changed the distro name from &lsquo;Raspbian&rsquo; to &lsquo;Raspberry Pi OS&rsquo; in &lsquo;configure.ac&rsquo;
 +
* <font style="color:blue">Code (internal) change</font>: Changed the recommended base branch for PRs from &lsquo;master&rsquo; to &lsquo;v4&rsquo; in the &lsquo;CONTRIBUTING CHANGES&rsquo; section of &lsquo;CODINGSTYLE&rsquo;
 +
* <font style="color:blue">Code (internal) change</font>: Modified the call parameters of the &lsquo;Output Stream Meter Levels&rsquo; [&rsquo;MO&rsquo;] CAE command to use play session serial numbers rather than card and stream numbers
 +
* <font style="color:blue">Code (internal) change</font>: Modified the schema reversion 348=&gt;347 in rddbmgr(8) to remove out-of-bounds SoundPanel button entries
 +
* <font style="color:blue">Code (internal) change</font>: Documented the meaning of the &lsquo;RDLogLine::StartTimeType&rsquo; enum in &lsquo;lib/rdlog_line.h&rsquo;
 +
 +
* <font style="color:orange">Documentation</font>: Documented the &lsquo;Source&rsquo; and &lsquo;Ingest&rsquo; fields for Cuts in the &lsquo;RDLibrary&rsquo; chapter of the Operations Guide
 +
* <font style="color:orange">Documentation</font>: Rewrote and expanded the &lsquo;Events&rsquo; section of the &lsquo;RDLogManager&rsquo; chapter of the Operations Guide
 +
* <font style="color:orange">Documentation</font>: Added an &lsquo;Evergreen Cuts&rsquo; section to the &lsquo;RDLibrary&rsquo; chapter of the Operations Guide
 +
* <font style="color:orange">Documentation</font>: Rewrote the CAE API documentation so as to use the term &lsquo;stream&rsquo; more consistently
 +
* <font style="color:orange">Documentation</font>: Added a &lsquo;Library Text Searches&rsquo; appendix to the Operations Guide
 +
 +
 +
=== 4.1.2 (2023-11-21) ===
 +
 +
* Database version '''371''' (no change)
 +
 +
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdvairplayd(8) that caused virtual logs to fail to process &lsquo;Load Log&lsquo; [&lsquo;LL&rsquo;], &lsquo;Set Duck Level&rsquo; [&lsquo;MD&rsquo;] and &lsquo;Stop&rsquo; [&lsquo;PS&rsquo;] RMLs with a &lsquo;mach&rsquo; parameter of &lsquo;0&rsquo;
 +
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in the &lsquo;RDHPIPlayStream&rsquo; that could cause audio play-out to be truncated; this code is used to play on Audio Science audio adapters
 +
* <font style="color:red">Bug fixes</font>: Fixed many bugs in &lsquo;RDSoundPanel&rsquo;. Many &ldquo;cosmetic&rdquo; changes including those affecting drag-and-drop operation, button rendering, colors, resizing, etc., as well as crash fixes
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in caed(8) that caused multiple play-outs on a common port to interfere with each others mixer settings
 +
* <font style="color:red">Bug fix</font>: Fixed a bug that failed to remove records from the &lsquo;USER_SERVICE_PERMS&rsquo; database table
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdairplay(1) that caused a segfault when attempting to unload a log from the voice tracker while the tracker was active
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdairplay(1) that allowed access to the Voice Tracker even when the current user had the &lsquo;Voicetrack Logs&rsquo; privilege revoked
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdlogmanager(1) that caused scheduler codes containing space characters to fail to be processed correctly
 +
* <font style="color:red">Bug fix</font>: Fixed a long-standing (and annoying) bug in ripcd(8) that caused memory to be leaked when processing RMLs
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in caed(8) that could cause play-outs from different hosts to cross-talk into each other&rsquo;s outputs when using a shared caed(8) instance
 +
* <font style="color:green">Functionality</font>: Added a &lsquo;TestOutputStreams=&rsquo; directive to the &lsquo;[Caed]&rsquo; section of rd.conf(5); this is likely useful only for developers
 +
* <font style="color:green">Functionality</font>: Added a &lsquo;PadSegueOverlap=&rsquo; directive to rd.conf(5); this value is used in the playout engine to alter the start time of tracks when the transition type is set to '''SEGUE'''
 +
* <font style="color:green">Functionality</font>: Added a &lsquo;--dump-panel-updates&rsquo; switch to rdpanel(1)
 +
* <font style="color:green">Functionality</font>: Added a &lsquo;--dump-panel-updates&rsquo; switch to rdairplay(1)
 +
* <font style="color:green">Functionality</font>: Added a &lsquo;SoundPanel Buttons&rsquo; notification
 +
* <font style="color:green">Functionality</font>: Prepended the string &lsquo;[mixer]&rsquo; to all syslog entries generated as a result of enabling the &lsquo;EnableMixerLogging=&rsquo; directive in rd.conf(5)
 +
* <font style="color:green">Functionality</font>: Added checks to the &lsquo;Add Scheduler Code&rsquo; dialog in rdadmin(1) to enforce the use of only alphanumeric characters plus space
 +
 +
* <font style="color:blue">Code (internal) change</font>: Refactored the &lsquo;RDSoundPanel&rsquo;, &lsquo;RDPanelButton&rsquo; and &lsquo;RDButtonPanel&rsquo; classes to avoid races when changing the current Rivendell user
 +
* <font style="color:blue">Code (internal) change</font>: Added code to the &lsquo;Unload Playback&rsquo; [&lsquo;UP&rsquo;] CAE command to mute all output port volume controls from the subject output stream
 +
* <font style="color:blue">Code (internal) change</font>: Added a feature to the &lsquo;Set Output Port&rsquo; [&lsquo;OP&rsquo;] CAE command where passing a &lsquo;-1&rsquo; for the &lsquo;port-num&rsquo; argument will cause all output stream volume controls for the specified stream to be muted
 +
* <font style="color:blue">Code (internal) change</font>: Added a &lsquo;RDJsonEscape(const QString &str)&rsquo; function in &lsquo;lib/rdweb.cpp&rsquo; and &lsquo;lib/rdweb.h&rsquo;
 +
* <font style="color:blue">Code (internal) change</font>: Refactored the &lsquo;RDCae&rsquo; class to use the native BSD sockets API instead of &lsquo;QTcpSocket&rsquo;
 +
* <font style="color:blue">Code (internal) change</font>: Added a &lsquo;gpio_fuzz_test&rsquo; test harness in &lsquo;tests/&rsquo;
 +
* <font style="color:blue">Code (internal) change</font>: Added a &lsquo;rml_torture_test&rsquo; test harness in &lsquo;tests/&rsquo;
 +
 +
* <font style="color:orange">Documentation</font>: Added a rdpanel(1) man page
 +
* <font style="color:orange">Documentation</font>: Clarified the entries for the &lsquo;Pause Panel&rsquo; [&lsquo;PU&rsquo;] and &lsquo;Stop Panel&rsquo; [&lsquo;PT&rsquo;] RMLs in the Operations Guide
 +
* <font style="color:orange">Documentation</font>: Corrected typos in the Operations Guide for the &lsquo;Duck Panel Button&rsquo; [&lsquo;PD&rsquo;] and &lsquo;Set Duck Level&rsquo; [&lsquo;MD&rsquo;] RMLs that incorrectly specified &lsquo;dBFS&rsquo; as the unit for the &lsquo;level&rsquo; parameter
 +
* <font style="color:orange">Documentation</font>: Corrected an error in the invocation specification for the &lsquo;Insert Cart&rsquo; [&lsquo;PX&rsquo;] RML in the Operations Guide
 +
* <font style="color:orange">Documentation</font>: Added &lsquo;Realms&rsquo; to &lsquo;The Rivendell Object Paradigm&rsquo; section of the Operations Guide
 +
* <font style="color:orange">Documentation</font>: Added a note about RDS configuration settings to the exemplar file for the &lsquo;pypad_nautel.py&rsquo; plug-in
 +
 +
 +
=== 4.1.0 (2023-08-09) ===
 +
 +
* Database verson '''371'''
 +
 +
* <font style="color:red">Bug fix</font>: Fixed regressions that caused spontaneous resizing of the main window in rdairplay(1) when switching between Sound Panel and Voice Tracker views on the right-hand side
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in rdlogmanager(1) that caused the pie chart to fail to be drawn correctly upon first displaying the &lsquo;Edit Clock&rsquo; dialog
 +
* <font style="color:red">Bug fix</font>: Fixed a fencepost bug in the &lsquo;Render Log&rsquo; dialog in rdlogedit(1) that caused rendered log to include the cart immediately after the end of the selected section when setting the &lsquo;Include&rsquo; dropdown to &lsquo;Only Selected Events&rsquo;
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdlibrary(1) that could cause the &lsquo;Add Cart&rsquo; dialog to display the incorrect type for the selected group
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdcastmanager(1) where changes to podcast metadata would fail to be reflected in the feed list
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in rdlogmanager(1) that caused records to be omitted from reports using the &lsquo;CBSI DeltaFlex Traffic Reconciliation v2.01&rsquo; export filter
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in rdlibrary(1) that caused cart deletion to fail with the message "Voicetrack Found"
 +
* <font style="color:green">Functionality</font>: Added an &lsquo;ID&rsquo; column to the &lsquo;Podcast Item List&rsquo; dialog in rdcastmanager(1)
 +
* <font style="color:green">Functionality</font>: Added three columns to the library list in rdlibrary(1): &lsquo;Plays&rsquo;, &lsquo;Last Played&rsquo;, and &lsquo;Ingested On&rsquo;
 +
* <font style="color:green">Functionality</font>: Added support for updating library metadata on subsequent dropbox imports
 +
* <font style="color:orange">Documentation</font>: Added a rivendell(7) manual page
 +
 +
 +
=== 4.0.2 (2023-06-23) ===
 +
 +
* Database verson '''370'''
 +
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in the voice tracker that caused the waveform displays to be greyed out out immediately after creating a new track marker
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdcatchd(8) that would cause a segfault after reception of a &lsquo;Start Record Deck&rsquo; [&lsquo;RS&rsquo;] RML
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in rdcatch(1) that caused a phantom event entry to appear in the Event List while processing the &lsquo;Start Record Deck&rsquo; [&lsquo;RS&rsquo;] RML
 +
 +
=== 4.0.1 (2023-06-16) ===
 +
 +
* Database verson '''370'''
 +
 +
Rivendell version 4, in development for more than two years, brings many &ldquo;under-the-hood&ldquo; as well as visible changes to the system. This list is incomplete, but attempts to highlight the most important changes. Please edit this page if you see something missing.
 +
 +
* <font style="color:red">Bug fix</font>: Many bugs have been fixed; many more have likely been introduced
 +
* <font style="color:green">Functionality</font>: switch to graphical programming library [https://www.qt.io/ Qt] version [https://doc.qt.io/qt-5/ 5].
 +
* <font style="color:green">Functionality</font>: new layout of the RDAirPlay window: You may now resize the RDAirPlay window; note however that RDAirPlay has a '''minimum size''' of 1310x870 pixels. RDAirPlay also received a revamped level metering system; the side effect of this is that the meters are now oriented vertically instead of horizontally
 +
* <font style="color:green">Functionality</font>: the minimum supported display (monitor) size is 1680 x 1050 pixels; displays smaller than this may cause problems with some Rivendell applications
 +
* <font style="color:green">Functionality</font>: the &lsquo;Edit Markers&rsquo; window has changed significantly; see the current manual for instructions on setting, changing, and deleting markers from Cuts
 +
* <font style="color:green">Functionality</font>: Rivendell v4.x aims for full compatibility with MySQL 8.0 and earlier versions in their default installation configurations.
 +
* <font style="color:green">Functionality</font>: RDPanel, as well as several windows within RDAdmin now allow for dynamic window sizing
 +
* <font style="color:green">Functionality</font>: Date and time presentation formats can now be customized on the basis of site perferences.
 +
* <font style="color:green">Functionality</font>: It is now possible to disable grid processing on a service-by-service basis, thus permitting a complete schedule to be generated by an external music scheduler. See the &lsquo;Bypassing Grid Processing&rsquo; section in the &lsquo;Generating Logs and Reports with RDLogManager&rsquo; section of the Operation Guide for details.
 +
*  <font style="color:orange">Documentation</font>: The documentation has been edited and brought up to date with respect to the current code and functionality of the system
 +
 +
== Version 3.X Changes ==
 +
 +
=== 3.6.8 (2023-11-21) ===
 +
 +
* Database verson '''347'''
 +
 +
* <font style="color:red">Bug fix</font>: Fixed a long-standing (and annoying) bug in ripcd(8) that caused memory to be leaked when processing RMLs
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in the PyPAD API that caused incorrect date/time resolutions when using the &lsquo;MMM&rsquo; wildcard
 +
* <font style="color:green">Functionality</font>: Changed the value of the &lsquo;Password=&rsquo; directive in the &lsquo;[mySQL]&rsquo; section of &lsquo;conf/rd.conf-sample&rsquo; to &lsquo;hackme&rsquo;
 +
* <font style="color:green">Functionality</font>: Added the API documentation to the &lsquo;rivendell-opsguide&rsquo; RPM package
 +
* <font style="color:green">Functionality</font>: Added API documentation and man pages to the &lsquo;rivendell-opsguide&rsquo; RPM package
 +
 +
=== 3.6.7 (2023-01-27) ===
 +
 +
* Database verson '''347'''
 +
 +
* <font style="color:red">Bug fix</font>: Fixed broken waveform generation on ARM architectures
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdcatchd(8) that caused record events to be captured with the incorrect sampling rate
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in the podcasting subsystem that broke validation of the &lsquo;direct&rsquo; name space
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdlibrary(1) that caused the field names for the &lsquo;FILENAME&rsquo; and &lsquo;LENGTH&rsquo; fields in the &lsquo;Cart Data Dump (CSV)&rsquo; report to be corrupted
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdservice(8) that could cause dropboxes to be instantiated with invalid segue level values
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdlogmanager(1) that caused the slop factors for inline traffic events to fail to be applied when importing a traffic log
 +
*  <font style="color:orange">Documentation</font>: Corrected errors in the WebAPI documentation regarding the argument type of the &lsquo;LINE&lt;n&gt;_TIME_TYPE&rsquo; field in the &lsquo;SaveLog&rsquo; call
 +
 +
=== 3.6.6 (2022-10-02) ===
 +
 +
* Database verson '''347'''
 +
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdrssd(8) that caused a podcast episode to be deleted immediately after being made active if the &lsquo;Air Date/Time&rsquo; was set for the future and &lsquo;Item Expires&rsquo; was set to &lsquo;No&rsquo; in the &lsquo;Editing Item&rsquo; dialog
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdcastmanager(1) that caused incorrect ordering when sorting by the &lsquo;Start&rsquo; and &lsquo;Expiration&rsquo; columns in the &lsquo;Podcast Item List&rsquo; dialog
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in the CDDB parser that caused it to emit an error message when processing a 202 response
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in PyPAD where resolution of datetimes could be incorrect
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdservice(8) that could cause a segfault (crash) when started with a previous instance running
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdlogmanager(1) that could cause a segfault (crash) when merging a log
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdrssd(8) that caused incorrect error data to be logged
 +
* <font style="color:red">Bug fix</font>: Fixed a regression in the Disc Ripper in rdlibrary(1) that caused manual changes to track metadata to be incorrectly applied
 +
* <font style="color:green">Functionality</font>: Added &lsquo;--by-isci&rsquo; and &lsquo;--dump-isci-xref&rsquo; options to rdimport(1) and modified rdimport(1) to allow the &lsquo;--by-isci&rsquo; option to take a service name option
 +
* <font style="color:green">Functionality</font>: Added a &lsquo;StayOnTop=&rsquo; directive to the &lsquo;[SoftKeys]&rsquo; section of rd.conf(5)
 +
* <font style="color:green">Functionality</font>: Changed the default &lsquo;--process-interval=&rsquo; value from 60 seconds to 30 seconds in rdrssd(8)
 +
* <font style="color:green">Functionality</font>: Added &lsquo;RDListView::DateTimeSort&rsquo; to the &lsquo;RDListView::SortType enumeration
 +
* <font style="color:green">Functionality</font>: Added explicit processing for 201, 230, 401, 402, 403, 409, 431, 432, 433, 434, 501, 502, 503 and 530 returns in the CDDB parser
 +
* <font style="color:green">Functionality</font>: Added an Online Feed Report to rdcastmanager(1)
 +
* <font style="color:green">Functionality</font>: Modified the full disc ripper and the per-track ripper in rdlibrary(1) to use CD-Text
 +
* <font style="color:green">Functionality</font>: Renamed the &lsquo;CD Metadata Source&rsquo; control in rdlibrary(1) to use &lsquo;CDDB&rsquo; instead of &lsquo;FreeDB&rsquo; when configuring CDDB lookups
 +
* <font style="color:green">Functionality</font>: Added support for a &lsquo;SuppressLinkParameterInheritance=&rsquo; directive in the &lsquo;[Hacks]&rsquo; section of rd.conf(5)
 +
* <font style="color:blue">Code (internal) change</font>: Added code to the podcasting subsystem to log extended curl(1) information to syslog
 +
 +
=== 3.6.5 (2022-03-18) ===
 +
 +
* Database verson '''347'''
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdimport(1) that could create duplicate Scheduler Code entries when using the &lsquo;--to-cart&rsquo; and &lsquo;--add-scheduler-code&rsquo; switches simultaneously
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in the &lsquo;rdxport&rsquo; service that caused the &lsquo;ListLog&rsquo; WebAPI call to return null values in the &lsquo;description&rsquo;, &lsquo;isrc&rsquo;, &lsquo;isci&rsquo;, &lsquo;recordingMbId&rsquo; and &lsquo;releaseMbId&rsquo; fields
 +
* <font style="color:green">Functionality</font>: Added a &lsquo;direct&rsquo; namespace to the &lsquo;Apple iTunes&rsquo; and &lsquo;Apple iTunes + Superfeed&rsquo; RSS schemas
 +
 +
 +
=== 3.6.4 (2022-02-22) ===
 +
 +
Note: version 3.6.3 was tagged, but not released.
 +
 +
* Database verson '''347'''
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdlogmanager(1) that caused leading event attributes to fail to be preserved when suppressing Music of Traffic import markers
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in the rdxport &lsquo;Import&rsquo; service that could result in incorrect end marker placement when processing variable bit rate (VBR) MPEG files
 +
* <font style="color:red">Bug fix</font>: Fixed an arithmetic overflow bug in &lsquo;RDWaveFile&rsquo; that could cause the play length of MPEG-encoded to be incorrectly calculated
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdimport(1) that caused premature validation of metadata
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rdxport(8) that caused the &lsquo;SaveLog&rsquo; WebAPI call to fail if the target log didn&rsquo;t exist
 +
* <font style="color:red">Bug fix</font>: Fixed a bug in rddbmgr(8) that could cause the 346=&gt;347 schema conversion to hang indefinitely with databases containing large cart libraries
 +
* <font style="color:green">Functionality</font>: Added a &lsquo;SuppressMusicImportLinks=&rsquo; directive to the [Hacks] section of rd.conf(5)
 +
* <font style="color:green">Functionality</font>: Added support for [NowGroups] and [NextGroups] sections in PyPAD script configurations
 +
* <font style="color:green">Functionality</font>: Deprecated use of the &lsquo;Transmit Now & Next data&rsquo; checkbox in the &lsquo;Group&rsquo; dialog in rdadmin(1)
 +
* <font style="color:green">Functionality</font>: Added a &lsquo;SaveWebgetFilesDirectory=&rsquo; directive to rd.conf(5)
 +
* <font style="color:green">Functionality</font>: Modified the mode of files generated by the rd-conf(5) &lsquo;SaveWebgetFilesDirectory=&rsquo; configuration directive from 0440 to 0664
 +
* <font style="color:green">Functionality</font>: Added a &lsquo;linkLength&rsquo; field and a &lsquo;graceTime&rsquo; field to the return XML for the &lsquo;ListLog&rsquo; WebAPI call
 +
* <font style="color:green">Functionality</font>: Added a &lsquo;Log Listing (CSV)&rsquo; report to rdlogedit(1)
 +
* <font style="color:green">Functionality</font>: Added a &lsquo;--print-progress&rsquo; switch to rddbmgr(8)
 +
* <font style="color:blue">Code (internal) change</font>: Overhauled the code for reading MPEG frame headers in &lsquo;RDWaveFile&rsquo;
 +
* <font style="color:blue">Code (internal) change</font>: Increased the import process timeout for the WebGet service to 1200 seconds
 +
  
 
=== 3.6.2 (2021-07-30) ===
 
=== 3.6.2 (2021-07-30) ===
Line 414: Line 705:
 
* <font style="color:green">Functionality</font>: add new web API methods related to Scheduler Codes
 
* <font style="color:green">Functionality</font>: add new web API methods related to Scheduler Codes
 
* <font style="color:red">Bug fix</font>: fixed a bug that caused issues with Services containing the &ldquo;-&rdquo; (dash) character
 
* <font style="color:red">Bug fix</font>: fixed a bug that caused issues with Services containing the &ldquo;-&rdquo; (dash) character
 
=== 2.11.0 (2015-09-18) ===
 
* Database version '''252'''
 
* <font style="color:green">Functionality</font>: add RDCatch upload/download protocols ''sftp'' and ''scp''
 
* <font style="color:green">Functionality</font>: add support to import ''MP4/AAC'' files
 
* <font style="color:green">Functionality</font>: add support for the ''Ross NK'' series video switcher
 
* <font style="color:green">Functionality</font>: add support for ''PCM24'' in the core audio library code
 
* <font style="color:red">Bug fix</font>: re-wrote the CD ripper code to make it faster and more reliable
 
* <font style="color:red">Bug fix</font>: fixed several bugs related to audio data and buffering
 
* <font style="color:red">Bug fix</font>: Normalized service clock data from the 'SERVICES' to the 'SVC_CLOCKS' table
 
 
=== 2.10.3 (2015-02-24) ===
 
* Database version '''242'''
 
* <font style="color:green">Functionality</font>: add RLM (plugin) for Live365 streaming service (which is defunct as of Summer 2016)
 
* <font style="color:green">Functionality</font>: add &ldquo;MrMaster&rdquo; and &ldquo;Spin Count&rdquo; reports
 
* <font style="color:green">Functionality</font>: add support for audio switcher devices that use the &ldquo;Software Authority&rdquo; protocol
 
* <font style="color:green">Functionality</font>: add ability to set segue markers in the CLI app ''rdmarkerset''
 
* <font style="color:red">Bug fix</font>: fixed a bug that caused issues with Services containing a <Space> character in the service name
 
 
=== 2.10.2 (2014-11-25) ===
 
* Database version '''242'''
 
* <font style="color:green">Functionality</font>: CLI ''rdimport'' enhancement: add two date-related options to the command
 
* <font style="color:green">Functionality</font>: add column for ELR data in RDLogEdit
 
* <font style="color:red">Bug fix</font>: fixed a bug in the Audio Science adapter for cards with only AES3 ports
 
 
=== 2.10.1 (2014-11-04) ===
 
* Database version '''242'''
 
* <font style="color:green">Functionality</font>: add &ldquo;DSP utilization and profiling&rdquo; info for Audio Science adapters
 
* <font style="color:green">Functionality</font>: add the column &ldquo;EXT DATA&rdquo; to the &ldquo;Edit Log&rdquo; screen in RDLogEdit
 
* <font style="color:red">Bug fix</font>: fixed a memory fault (crash) in RDLogEdit when dropping a cart that was being used in a log
 

Latest revision as of 12:57, 30 June 2024

Rivendell Change Summary

This page contains version change descriptions in summary form for Rivendell versions released within at least the most recent five years (quite probably longer). Change descriptions are limited (mostly) to user-visible changes.

This change summary tracks the two most recent stable versions. As of November, 2023 you can see summaries for versions 4.X and 3.X.

Please see the ChangeLog and NEWS files in the source code for a complete list of changes and bug fixes.

See the Issues list for current reported bugs, issues and feature requests.

Version 4.X Changes

4.3.0 (2024-06-26)

  • Database version 375


  • Database Schema Change: Changed the ‘ELR_LINES.EXT_EVENT_ID’ database field from ‘varchar(8)’ to ’varchar(32)’


  • Bug fix: Fixed a regression in the ‘Edit Audio’ dialog that caused it to ignore the state of the ‘Edit Audio’ user privilege
  • Bug fix: Fixed a bug in the SoundPanel that caused button color highlighting for addition/move/delete operations to fail to be displayed for User panels when the user didn’t have the ‘Configure System Panels’ privilege
  • Bug fix: Fixed a regression in rdairplay(1) that caused the start time indicators in the button log to display the incorrect color for hard time events
  • Bug fix: Fixed a regression in the audio importation system that could cause the detected length of an MPEG file to be ‘0’
  • Bug fix: Fixed a bug in the ‘Edit Service’ dialog in rdadmin(1) that made it impossible to use a field width of greater than 8 for the ‘Event ID’ log import field
  • Bug fix: Fixed a bug in rdpadd(8) that could cause corruption when processing JSON updates
  • Bug fix: Fixed a bug in the ‘pypad_icecast2.py PyPAD script that caused mojibake when sending ISO-8859-1 characters with code points >= 0x80
  • Bug fix: Fixed a regression in the ‘Edit Audio’ dialog in rdlibrary(1) that caused play-out to fail to stop at the end marker when using the ‘Play To’ feature


  • Code (internal) change: Refactored the ‘RDEventLine::generateLog()’ method to isolate music selector code into the ‘RDEventLine::GenerateMusicSchedEvent()’ method
  • Code (internal) change: Added ‘python3-venv’, ‘python3-virtualenv’, ‘python3-build’ and ‘twine’ packages to the list of required build packages for Ubuntu 22.04 LTS and Ubuntu 24.04 LTS in ‘INSTALL’
  • Code (internal) change: Added a ‘Debian 12 "Bookworm"’ section to the ‘INSTALL’ file


4.2.2 (2024-05-02)

  • Database version 374 (no change from previous release)


  • Bug fix: Fixed a bug in rdlibrary(1) that could cause segfaults when deleting cut entries from a cart
  • Bug fix: Fixed a bug in the build system that failed to package ‘Appendix I. Library Text Searches’ in the HTML version of the Operations Guide
  • Bug fix: Fixed a regression in rdlibrary(1) that caused output of the Cart Report to not reflect the current filter and sorting state of the library list
  • Bug fix: Fixed a race condition in the PAD XML feed that could cause corrupt updates
  • Bug fix: Fixed a bug in the WebGet service that caused stale temp files to be left behind after processing
  • Bug fix: Fixed a regression in ‘RDWaveFile’ that broke reading of start and end dates in files containing a ‘scot’ chunk
  • Functionality: Added a ‘KillPypadAfterError=’ directive to the &lsquo [Debugging]’ section of rd.conf(5)
  • Documentation: Documented the ‘[Debugging]’ section in the rd.conf(5) man page


4.2.1 (2024-04-24)

  • Database version 374 (no change from previous release)


  • Bug fix: Fixed a bug that failed to remove a temporary directory after use
  • Bug fix: Fixed a regression in the PyPAD subsystem that broke null datetime handling and cause PyPAD instances to crash
  • Functionality: Added an ‘Ubuntu 24.04 LTS’ section to ‘INSTALL’

4.2.0 (2024-04-06)

  • Database version 374 (changed from previous release)


  • Database Schema Change: Added a ‘RDAIRPLAY.MESSAGE_WIDGET_URL’ field to the database
  • Database Schema Change: Changed the ‘AUDIO_CARDS.NAME’ database field from ‘varchar(64)’ to ‘text
  • Database Schema Change: Added a ‘REPLICATORS.PROGRAM_CODE’ field to the database
  • Bug fix: Fixed a regression in rdairplay(1) that could cause the space bar to fail to start the next main log event
  • Bug fix: Fixed a regression in rdlogmanager(1) that caused clock titles to fail to be centered in the pie wedge display in the ‘Edit Clock’ dialog
  • Bug fix: Fixed a regression in rdlibrary(1) that caused the ‘Forced Length’ control in the ‘Edit Cart’ dialog to be misformatted when the system was configured to use 12 hour time format
  • Bug fix: Fixed bugs in rdairplay(1) that caused scroll bars to appear when loading web content into the message widget
  • Bug fix: Fixed a regression in rdlogmanager(1) that could throw SQL “column out of range” errors when importing traffic logs
  • Bug fix: Fixed a bug in rdlogmanager(1) that threw SQL errors when processing log GUIDs containing apostrophes
  • Bug fix: Fixed a regression in rdairplay(1) that caused invalid PAD JSON to be emitted when processing a Chain event
  • Bug fix: Fixed a bug in the PAD subsystem that caused meta-events to be included in the update events
  • Functionality: Added a check to the audio importation system to validate metadata cue point positions relative to the actual audio duration
  • Functionality: Several changes to the Rivendell replication code:
  • added a ‘Program Code’ control to the ‘Rivendell Replicators’ dialog in rdadmin(1)
  • renamed the ‘Citadel X-Digital Portal’ replicator to ‘X-Digital National ISCI Model
  • added a ‘X-Digital Cue Model’ replicator
  • added the option to provision users from an existing RSS feed to the ‘Add RSS Feed’ dialog in rdadmin(1)
  • (internal, code change) added ‘RDReplicator::programCode()’ and ‘RDReplicator::setProgramCode()’ methods
  • Functionality: Added support for displaying web pages in RDAirPlay‘s message panel. Changes include:
  • implementation of a new “Load Message” [‘LM’] RML
  • modification of rdairplay(1) to make the Message Widget retain the loaded URL across instances
  • modification of rdairplay(1) to make the Message Widget continually poll and update loaded URLs using the ‘file:’ schema
  • Functionality: Added support for extended event program associated data (PAD, aka metadata); changes include:
  • addition of an extended event PAD output at TCP port 34290
  • addition of an ‘ExtendedNextPadEvents=’ directive to rd.conf(5) (see the 'ExtendedNextPadEvents=' directive in the '[Tuning]' section of the rd.conf(5) manual page)

4.1.3 (2024-01-24)

  • Database version 371 (no change)


  • Bug fix: Fixed a race in the log machine logic that could cause truncated play-outs with segue transitions
  • Bug fix: Fixed a bug in ripcd(8) that could cause a segfault when processing a null password in the ‘Login’ [’LO’] RML
  • Bug fix: Fixed a regression in rdairplay(1) that caused the ‘Sch. Time’ column to be removed from the Full Log lists
  • Bug fix: Fixed a regression in rdairplay(1) when using the ‘Append Log’ [’AL’] RML caused the Full Log widget to only display the first event of the appended log
  • Bug fix: Fixed a regression in rdcartslots(1) that broke audio meters
  • Bug fix: Fixed a regression in rdcatch(1) that broke play-out of the head and tail audition buttons
  • Bug fix: Fixed a regression in rdcatchd(8) that broke play-out events
  • Bug fix: Fixed a regression in rdcatchd(8) that caused recordings to always be saved in PCM16 format when the ‘Normalize’ attribute was set for the recording event
  • Bug fix: Fixed a regression in rdcatchd(8) that caused recordings to MPEG Layer II to fail
  • Bug fix: Fixed a regression in the ‘Cut Info / Record’ dialog in rdlibrary(1) that caused the audio meter to fail to be zeroed when resetting from record ready
  • Bug fix: Fixed regressions in ‘RDCae’ and the HPI driver in caed(8) that caused the length of audio captures to be reported incorrectly
  • Bug fix: Fixed regressions in the CAE subsystem that broke play-out positioning and active output port reporting
  • Functionality: Reduced the minimum size of rdairplay(1) to 1280x870 so as to fit on a 1280x1024 display
  • Functionality: Added support for subclauses in the cart library search filter
  • Functionality: Optimized the handling of cart numbers when searching for carts
  • Code (internal) change: Cleaned up warnings about unprocessed CAE commands in the syslog
  • Code (internal) change: Refactored the CAE control interface to assign session IDs from the client rather than the service end
  • Code (internal) change: Added ‘debhelper’ to the list of required build packages for Debian 11 "Bullseye" in ‘INSTALL’
  • Code (internal) change: Removed the ‘card-num’, ‘port-num’ and ‘stream-num’ parameters from the ‘Set Output Volume’ [’OV’] and ‘Fade Output Volume’ [’FV’] CAE commands
  • Code (internal) change: Removed vestigal support for the ‘Open RTP Capture Channel’ [’CO’] CAE command
  • Code (internal) change: Removed vestigal support for the ‘Output Stream Status’ [’MS’] CAE command
  • Code (internal) change: Added ‘Wants=hpklinux.service’ to the ‘rivendell’ SystemD service definition
  • Code (internal) change: Changed the default value of the ‘RDLogLine::Imported’ start time from ‘00:00:00’ to NULL
  • Code (internal) change: Changed the distro name from ‘Raspbian’ to ‘Raspberry Pi OS’ in ‘configure.ac’
  • Code (internal) change: Changed the recommended base branch for PRs from ‘master’ to ‘v4’ in the ‘CONTRIBUTING CHANGES’ section of ‘CODINGSTYLE’
  • Code (internal) change: Modified the call parameters of the ‘Output Stream Meter Levels’ [’MO’] CAE command to use play session serial numbers rather than card and stream numbers
  • Code (internal) change: Modified the schema reversion 348=>347 in rddbmgr(8) to remove out-of-bounds SoundPanel button entries
  • Code (internal) change: Documented the meaning of the ‘RDLogLine::StartTimeType’ enum in ‘lib/rdlog_line.h’
  • Documentation: Documented the ‘Source’ and ‘Ingest’ fields for Cuts in the ‘RDLibrary’ chapter of the Operations Guide
  • Documentation: Rewrote and expanded the ‘Events’ section of the ‘RDLogManager’ chapter of the Operations Guide
  • Documentation: Added an ‘Evergreen Cuts’ section to the ‘RDLibrary’ chapter of the Operations Guide
  • Documentation: Rewrote the CAE API documentation so as to use the term ‘stream’ more consistently
  • Documentation: Added a ‘Library Text Searches’ appendix to the Operations Guide


4.1.2 (2023-11-21)

  • Database version 371 (no change)


  • Bug fix: Fixed a bug in rdvairplayd(8) that caused virtual logs to fail to process ‘Load Log‘ [‘LL’], ‘Set Duck Level’ [‘MD’] and ‘Stop’ [‘PS’] RMLs with a ‘mach’ parameter of ‘0’
  • Bug fix: Fixed a regression in the ‘RDHPIPlayStream’ that could cause audio play-out to be truncated; this code is used to play on Audio Science audio adapters
  • Bug fixes: Fixed many bugs in ‘RDSoundPanel’. Many “cosmetic” changes including those affecting drag-and-drop operation, button rendering, colors, resizing, etc., as well as crash fixes
  • Bug fix: Fixed a regression in caed(8) that caused multiple play-outs on a common port to interfere with each others mixer settings
  • Bug fix: Fixed a bug that failed to remove records from the ‘USER_SERVICE_PERMS’ database table
  • Bug fix: Fixed a bug in rdairplay(1) that caused a segfault when attempting to unload a log from the voice tracker while the tracker was active
  • Bug fix: Fixed a bug in rdairplay(1) that allowed access to the Voice Tracker even when the current user had the ‘Voicetrack Logs’ privilege revoked
  • Bug fix: Fixed a bug in rdlogmanager(1) that caused scheduler codes containing space characters to fail to be processed correctly
  • Bug fix: Fixed a long-standing (and annoying) bug in ripcd(8) that caused memory to be leaked when processing RMLs
  • Bug fix: Fixed a bug in caed(8) that could cause play-outs from different hosts to cross-talk into each other’s outputs when using a shared caed(8) instance
  • Functionality: Added a ‘TestOutputStreams=’ directive to the ‘[Caed]’ section of rd.conf(5); this is likely useful only for developers
  • Functionality: Added a ‘PadSegueOverlap=’ directive to rd.conf(5); this value is used in the playout engine to alter the start time of tracks when the transition type is set to SEGUE
  • Functionality: Added a ‘--dump-panel-updates’ switch to rdpanel(1)
  • Functionality: Added a ‘--dump-panel-updates’ switch to rdairplay(1)
  • Functionality: Added a ‘SoundPanel Buttons’ notification
  • Functionality: Prepended the string ‘[mixer]’ to all syslog entries generated as a result of enabling the ‘EnableMixerLogging=’ directive in rd.conf(5)
  • Functionality: Added checks to the ‘Add Scheduler Code’ dialog in rdadmin(1) to enforce the use of only alphanumeric characters plus space
  • Code (internal) change: Refactored the ‘RDSoundPanel’, ‘RDPanelButton’ and ‘RDButtonPanel’ classes to avoid races when changing the current Rivendell user
  • Code (internal) change: Added code to the ‘Unload Playback’ [‘UP’] CAE command to mute all output port volume controls from the subject output stream
  • Code (internal) change: Added a feature to the ‘Set Output Port’ [‘OP’] CAE command where passing a ‘-1’ for the ‘port-num’ argument will cause all output stream volume controls for the specified stream to be muted
  • Code (internal) change: Added a ‘RDJsonEscape(const QString &str)’ function in ‘lib/rdweb.cpp’ and ‘lib/rdweb.h’
  • Code (internal) change: Refactored the ‘RDCae’ class to use the native BSD sockets API instead of ‘QTcpSocket’
  • Code (internal) change: Added a ‘gpio_fuzz_test’ test harness in ‘tests/’
  • Code (internal) change: Added a ‘rml_torture_test’ test harness in ‘tests/’
  • Documentation: Added a rdpanel(1) man page
  • Documentation: Clarified the entries for the ‘Pause Panel’ [‘PU’] and ‘Stop Panel’ [‘PT’] RMLs in the Operations Guide
  • Documentation: Corrected typos in the Operations Guide for the ‘Duck Panel Button’ [‘PD’] and ‘Set Duck Level’ [‘MD’] RMLs that incorrectly specified ‘dBFS’ as the unit for the ‘level’ parameter
  • Documentation: Corrected an error in the invocation specification for the ‘Insert Cart’ [‘PX’] RML in the Operations Guide
  • Documentation: Added ‘Realms’ to ‘The Rivendell Object Paradigm’ section of the Operations Guide
  • Documentation: Added a note about RDS configuration settings to the exemplar file for the ‘pypad_nautel.py’ plug-in


4.1.0 (2023-08-09)

  • Database verson 371
  • Bug fix: Fixed regressions that caused spontaneous resizing of the main window in rdairplay(1) when switching between Sound Panel and Voice Tracker views on the right-hand side
  • Bug fix: Fixed a regression in rdlogmanager(1) that caused the pie chart to fail to be drawn correctly upon first displaying the ‘Edit Clock’ dialog
  • Bug fix: Fixed a fencepost bug in the ‘Render Log’ dialog in rdlogedit(1) that caused rendered log to include the cart immediately after the end of the selected section when setting the ‘Include’ dropdown to ‘Only Selected Events’
  • Bug fix: Fixed a bug in rdlibrary(1) that could cause the ‘Add Cart’ dialog to display the incorrect type for the selected group
  • Bug fix: Fixed a bug in rdcastmanager(1) where changes to podcast metadata would fail to be reflected in the feed list
  • Bug fix: Fixed a regression in rdlogmanager(1) that caused records to be omitted from reports using the ‘CBSI DeltaFlex Traffic Reconciliation v2.01’ export filter
  • Bug fix: Fixed a regression in rdlibrary(1) that caused cart deletion to fail with the message "Voicetrack Found"
  • Functionality: Added an ‘ID’ column to the ‘Podcast Item List’ dialog in rdcastmanager(1)
  • Functionality: Added three columns to the library list in rdlibrary(1): ‘Plays’, ‘Last Played’, and ‘Ingested On’
  • Functionality: Added support for updating library metadata on subsequent dropbox imports
  • Documentation: Added a rivendell(7) manual page


4.0.2 (2023-06-23)

  • Database verson 370
  • Bug fix: Fixed a bug in the voice tracker that caused the waveform displays to be greyed out out immediately after creating a new track marker
  • Bug fix: Fixed a bug in rdcatchd(8) that would cause a segfault after reception of a ‘Start Record Deck’ [‘RS’] RML
  • Bug fix: Fixed a regression in rdcatch(1) that caused a phantom event entry to appear in the Event List while processing the ‘Start Record Deck’ [‘RS’] RML

4.0.1 (2023-06-16)

  • Database verson 370

Rivendell version 4, in development for more than two years, brings many “under-the-hood“ as well as visible changes to the system. This list is incomplete, but attempts to highlight the most important changes. Please edit this page if you see something missing.

  • Bug fix: Many bugs have been fixed; many more have likely been introduced
  • Functionality: switch to graphical programming library Qt version 5.
  • Functionality: new layout of the RDAirPlay window: You may now resize the RDAirPlay window; note however that RDAirPlay has a minimum size of 1310x870 pixels. RDAirPlay also received a revamped level metering system; the side effect of this is that the meters are now oriented vertically instead of horizontally
  • Functionality: the minimum supported display (monitor) size is 1680 x 1050 pixels; displays smaller than this may cause problems with some Rivendell applications
  • Functionality: the ‘Edit Markers’ window has changed significantly; see the current manual for instructions on setting, changing, and deleting markers from Cuts
  • Functionality: Rivendell v4.x aims for full compatibility with MySQL 8.0 and earlier versions in their default installation configurations.
  • Functionality: RDPanel, as well as several windows within RDAdmin now allow for dynamic window sizing
  • Functionality: Date and time presentation formats can now be customized on the basis of site perferences.
  • Functionality: It is now possible to disable grid processing on a service-by-service basis, thus permitting a complete schedule to be generated by an external music scheduler. See the ‘Bypassing Grid Processing’ section in the ‘Generating Logs and Reports with RDLogManager’ section of the Operation Guide for details.
  • Documentation: The documentation has been edited and brought up to date with respect to the current code and functionality of the system

Version 3.X Changes

3.6.8 (2023-11-21)

  • Database verson 347
  • Bug fix: Fixed a long-standing (and annoying) bug in ripcd(8) that caused memory to be leaked when processing RMLs
  • Bug fix: Fixed a bug in the PyPAD API that caused incorrect date/time resolutions when using the ‘MMM’ wildcard
  • Functionality: Changed the value of the ‘Password=’ directive in the ‘[mySQL]’ section of ‘conf/rd.conf-sample’ to ‘hackme’
  • Functionality: Added the API documentation to the ‘rivendell-opsguide’ RPM package
  • Functionality: Added API documentation and man pages to the ‘rivendell-opsguide’ RPM package

3.6.7 (2023-01-27)

  • Database verson 347
  • Bug fix: Fixed broken waveform generation on ARM architectures
  • Bug fix: Fixed a bug in rdcatchd(8) that caused record events to be captured with the incorrect sampling rate
  • Bug fix: Fixed a bug in the podcasting subsystem that broke validation of the ‘direct’ name space
  • Bug fix: Fixed a bug in rdlibrary(1) that caused the field names for the ‘FILENAME’ and ‘LENGTH’ fields in the ‘Cart Data Dump (CSV)’ report to be corrupted
  • Bug fix: Fixed a bug in rdservice(8) that could cause dropboxes to be instantiated with invalid segue level values
  • Bug fix: Fixed a bug in rdlogmanager(1) that caused the slop factors for inline traffic events to fail to be applied when importing a traffic log
  • Documentation: Corrected errors in the WebAPI documentation regarding the argument type of the ‘LINE<n>_TIME_TYPE’ field in the ‘SaveLog’ call

3.6.6 (2022-10-02)

  • Database verson 347
  • Bug fix: Fixed a bug in rdrssd(8) that caused a podcast episode to be deleted immediately after being made active if the ‘Air Date/Time’ was set for the future and ‘Item Expires’ was set to ‘No’ in the ‘Editing Item’ dialog
  • Bug fix: Fixed a bug in rdcastmanager(1) that caused incorrect ordering when sorting by the ‘Start’ and ‘Expiration’ columns in the ‘Podcast Item List’ dialog
  • Bug fix: Fixed a bug in the CDDB parser that caused it to emit an error message when processing a 202 response
  • Bug fix: Fixed a bug in PyPAD where resolution of datetimes could be incorrect
  • Bug fix: Fixed a bug in rdservice(8) that could cause a segfault (crash) when started with a previous instance running
  • Bug fix: Fixed a bug in rdlogmanager(1) that could cause a segfault (crash) when merging a log
  • Bug fix: Fixed a bug in rdrssd(8) that caused incorrect error data to be logged
  • Bug fix: Fixed a regression in the Disc Ripper in rdlibrary(1) that caused manual changes to track metadata to be incorrectly applied
  • Functionality: Added ‘--by-isci’ and ‘--dump-isci-xref’ options to rdimport(1) and modified rdimport(1) to allow the ‘--by-isci’ option to take a service name option
  • Functionality: Added a ‘StayOnTop=’ directive to the ‘[SoftKeys]’ section of rd.conf(5)
  • Functionality: Changed the default ‘--process-interval=’ value from 60 seconds to 30 seconds in rdrssd(8)
  • Functionality: Added ‘RDListView::DateTimeSort’ to the ‘RDListView::SortType enumeration
  • Functionality: Added explicit processing for 201, 230, 401, 402, 403, 409, 431, 432, 433, 434, 501, 502, 503 and 530 returns in the CDDB parser
  • Functionality: Added an Online Feed Report to rdcastmanager(1)
  • Functionality: Modified the full disc ripper and the per-track ripper in rdlibrary(1) to use CD-Text
  • Functionality: Renamed the ‘CD Metadata Source’ control in rdlibrary(1) to use ‘CDDB’ instead of ‘FreeDB’ when configuring CDDB lookups
  • Functionality: Added support for a ‘SuppressLinkParameterInheritance=’ directive in the ‘[Hacks]’ section of rd.conf(5)
  • Code (internal) change: Added code to the podcasting subsystem to log extended curl(1) information to syslog

3.6.5 (2022-03-18)

  • Database verson 347
  • Bug fix: Fixed a bug in rdimport(1) that could create duplicate Scheduler Code entries when using the ‘--to-cart’ and ‘--add-scheduler-code’ switches simultaneously
  • Bug fix: Fixed a bug in the ‘rdxport’ service that caused the ‘ListLog’ WebAPI call to return null values in the ‘description’, ‘isrc’, ‘isci’, ‘recordingMbId’ and ‘releaseMbId’ fields
  • Functionality: Added a ‘direct’ namespace to the ‘Apple iTunes’ and ‘Apple iTunes + Superfeed’ RSS schemas


3.6.4 (2022-02-22)

Note: version 3.6.3 was tagged, but not released.

  • Database verson 347
  • Bug fix: Fixed a bug in rdlogmanager(1) that caused leading event attributes to fail to be preserved when suppressing Music of Traffic import markers
  • Bug fix: Fixed a bug in the rdxport ‘Import’ service that could result in incorrect end marker placement when processing variable bit rate (VBR) MPEG files
  • Bug fix: Fixed an arithmetic overflow bug in ‘RDWaveFile’ that could cause the play length of MPEG-encoded to be incorrectly calculated
  • Bug fix: Fixed a bug in rdimport(1) that caused premature validation of metadata
  • Bug fix: Fixed a bug in rdxport(8) that caused the ‘SaveLog’ WebAPI call to fail if the target log didn’t exist
  • Bug fix: Fixed a bug in rddbmgr(8) that could cause the 346=>347 schema conversion to hang indefinitely with databases containing large cart libraries
  • Functionality: Added a ‘SuppressMusicImportLinks=’ directive to the [Hacks] section of rd.conf(5)
  • Functionality: Added support for [NowGroups] and [NextGroups] sections in PyPAD script configurations
  • Functionality: Deprecated use of the ‘Transmit Now & Next data’ checkbox in the ‘Group’ dialog in rdadmin(1)
  • Functionality: Added a ‘SaveWebgetFilesDirectory=’ directive to rd.conf(5)
  • Functionality: Modified the mode of files generated by the rd-conf(5) ‘SaveWebgetFilesDirectory=’ configuration directive from 0440 to 0664
  • Functionality: Added a ‘linkLength’ field and a ‘graceTime’ field to the return XML for the ‘ListLog’ WebAPI call
  • Functionality: Added a ‘Log Listing (CSV)’ report to rdlogedit(1)
  • Functionality: Added a ‘--print-progress’ switch to rddbmgr(8)
  • Code (internal) change: Overhauled the code for reading MPEG frame headers in ‘RDWaveFile’
  • Code (internal) change: Increased the import process timeout for the WebGet service to 1200 seconds


3.6.2 (2021-07-30)

  • Database verson 347
  • Functionality: Added support for system dark themes in RDAirplay
  • Bug fix: Fixed a bug in rdlogedit(1) that could cause a crash when attempting to play a non-audio event in the ‘Voice Tracker’ dialog
  • Bug fix: Fixed a bug in rdimport(1) that caused the cart title uniqueness check to be applied to the incorrect string when the ‘--set-string-title=’ switch was used


3.6.1 (2021-06-06)

  • Database verson 347
  • Bug fix: Fixed a bug in rdimport(1) that could cause a crash when the ‘--fix-broken-formats’ switch is used
  • Functionality: Added syslog DEBUG messages around the start/stop of ephemeral processes in rdservice(8)
  • Functionality: Added an ‘--initial-maintenance’ switch to rdservice(8)
  • Functionality: Added an ‘--force-system-maintenance’ switch to rdservice(8)
  • Functionality: Modified rdmaint(8) to enable it to operate even when the Rivendell services are not running

3.6.0 (2021-05-15)

  • Database verson 347
  • Bug fix: Fixed title separation in rdlogmanager(1) scheduler
  • Bug fix: Fixed bug in library code lib/rdwavefile.cpp that copied CartChunk Cut ID past the end of the first "NULL" character
  • Bug fix: Fixed a bug in rdairplay(1) that caused the Talk Timer to fail to be populated when adding new carts to a log
  • Bug fix: Fixed a bug in the Cart Selector Dialog that made it impossible to enter an apostrophe character in the filter search line
  • Bug fix: Fixed a bug in rdimport(1) where the title of an existing cart would be overwritten with a default title even when no title was found in the file metadata
  • Bug fix: Fixed a bug in ‘RDFlacDecode’ that caused conversion of files with names containing non-ASCII characters to fail
  • Bug fix: Fixed a bug in rdadmin(1) where clicking the ‘OK’ button in the ‘Edit Switcher’ dialog would cause an error dialog to appear with a ‘primary serial device not active’ warning. The following devices are affected: ‘Local GPIO’, ‘Local Audio Adapter’, ‘Logitek vGuest’, ‘Livewire LWRP Audio’, and ‘Kernel GPIO’
  • Functionality: Modified rdimport(1) and the Webget service so as to send e-mail reports to the address of the current Rivendell user in addition to the group’s Notification E-Mail Address
  • Functionality: Added a ‘STACK_LINES.TITLE’ field to the database
  • Functionality: Added the value of the detected CartChunk CutID to the error message generated when rejecting said CutID as invalid when using the ‘--use-cartchunk-cutid’ switch in rdimport(1)
  • Functionality: Added code to print the value of the detected CartChunk CutID when using both the ‘--use-cartchunk-cutid’ and ‘--verbose’ flags in rdimport(1)
  • Functionality: Created pypad_ino713_tcp based upon pypad_ino713, converting from UDP to TCP. Added an adjustable delay to account for broadcast air delays
  • Functionality: Created pypad_nautel based upon pypad_ino713_tcp, including RDS parameters from documentation. Includes delay as above
  • Functionality: Added a new ‘RadioTraffic.com Traffic Reconciliation’ report. Renamed the existing ‘RadioTraffic.com Traffic Reconciliation’ to ‘Original RadioTraffic.com Traffic Reconciliation (DEPRECATED)’
  • Functionality: Changed the way in which the VU Meter UDP port is chosen. One can now specify the base port number and the maximum number of UDP ports to consider when caed(8) sets up the VU meter port
  • Documentation: Documented the ‘MeterPortBaseNumber=’ and ‘MeterPointRange=’ directives in the rd.conf(5) man page

3.5.0 (2020-12-12)

  • Database verson 346
  • Bug fix: Corrected the column settings in RDAdmin > Manage Hosts > [host] > Dropboxes
  • Bug fix: Fixed regression with "Scheduler Code:" label overlapping "Group" combobox in rdlibrary(1)
  • Bug fix: Fixed several bugs in rdadmin(1) that messed with passwords, user settings, and other important settings
  • Bug fix: Fixed several bugs in rdlogmanager(1) that caused all kinds of mischief
  • Bug fix: Fixed a bug in rdairplay(1) where copying a log event using the ‘Copy’ button would result in the new event always getting a ‘PLAY’ transition
  • Bug fix: Fixed a bug in rddbmgr(8) that could cause database corruption problems
  • Bug fix: Fixed bugs in rdimport(1) that caused incorrect exit codes to be emitted when a non-existent group was specified, and that caused generation of double error messages when processing invalid audio files
  • Bug fix: Fixed a bug in rdmonitor(1) that caused false indications of a failed audio store when used with autofs(8)
  • Functionality: Major overhaul of Rivendell’s podcast handling features; see the ChangeLog for all the details
  • Functionality: Modified the GVC7000 switcher driver to insert 50 mS pauses between protocol commands
  • Functionality: Allow RN Macro to run when Rivendell daemons running as non-root
  • Functionality: Many changes to rdadmin(1), including:
  • Added whitespace to the set of banned characters for service names
  • Added a ‘SSH Ident. File’ control to the ‘Host’ dialog
  • Added an ‘Inline Traffic Inheritance’ control to the ‘Edit Service’ dialog
  • Added type icons to the ‘Imported Events’ list in the ‘Test Import’ dialog
  • Renamed the ‘Inline Traffic Inheritance’ control to ‘Inline Traffic Start/Length’ and moved it to the ‘Music Data Import’ section of the ‘Edit Service’ dialog
  • Added an ‘Encoder Profiles’ dialog
  • Renamed the ‘Note Cart String’ controls to ‘Insert Marker String’ in the ‘Edit Service dialog
  • Added an ‘Origin E-Mail Address’ control to the ‘System-Wide Settings’ dialog
  • Added a ‘Notification E-Mail Addresses’ control to the ‘Group’ dialog
  • Added a ‘Send e-mail reports’ checkbox to the ‘Dropbox Configuration’ dialog
  • Added ‘E-Mail Address’, ‘Phone Number’ and ‘Local Auth’ columns to the ‘Users’ list in the ‘Rivendell User List’ dialog
  • Added an ‘Administer RSS Feeds’ checkbox to the ‘Administrative Rights’ section of the ‘User’ dialog
  • Added a deprecation warning for the ‘Allow Duplicate Cart Titles’ and ‘Auto-Correct Duplicate Cart Titles’ checkboxes on the ‘System-Wide Settings’ dialog
  • Functionality: Added support for FTPS protocol for uploading, downloading, and Feed management
  • Functionality: Significant update to the Rivendell Web interfaces (Web API, WebGet service, rivwebcapi API, etc.)
  • Functionality: Added ‘--scheduler-code=’ switch to rdexport(1)
  • Functionality: Added generation of an ‘RDLogManager Error Report’ when errors are detected when importing an external scheduler file in rdlogmanager(1)
  • Functionality: Restored operation of Label/Note carts in rdlogmanager(1)
  • Functionality: Updated rdservice(8) to use standard exit code defines
  • Functionality: Implemented the ‘--verbose’ switch for rdmaint(8)
  • Functionality: Added a sample Fail2Ban jail filter for the WebAPI in ‘conf/rivendell-webapi.conf’
  • Functionality: Added command line options ‘--output-pattern’, ‘--ticket=’, ‘--send-mail’ and ‘--mail-per-file’ to rdimport(1)
  • Functionality: Added the name of the import file to schedule import failure reports
  • Documentation: Documented the ‘%%’ filepath wildcard in the Operations Guide
  • Documentation: Added an ‘RDCastManager’ chapter to the Operations Guide
  • Documentation: Revised the ‘Managing Services’ section of the Operations Guide
  • Documentation: Rewrote the ‘Webget’ chapter of the Operations Guide to conform to changes in Webget
  • Documentation: Added a ‘Configuring Webget’ section to the Operations Guide
  • Documentation: Removed the ‘Cart Data Dump (fixed width)’ from the Operations Guide
  • Documentation: Documented user-facing changes to the ‘System-Wide Settings’ dialog, the ‘Rivendell Group List’ and the ‘Group’ dialogs in rdadmin(1) in the Operations Guide
  • Documentation: Documented the ‘Send e-mail reports’ checkbox in the ‘Dropbox Configuration’ dialog in rdadmin(1) in the Operations Guide
  • Code (internal) change: Prepended ‘RD_’ to the names of all common Javascript functions in ‘web/common/utils.js’
  • Code (internal) change: Added a ‘webget’ subpackage to the ‘make rpm’ target
  • Code (internal) change: Refactored the ‘Run Script’ [’RN’] RML to invoke scripts via the system shell, this change also removed the dependency on runuser(1)

3.4.1 (2020-07-21)

  • Database verson 317
  • Functionality: Added a ‘Results Report’ report in rdadmin(1)
  • Functionality: Removed the checkbox from the ‘Delete’ right-click menu item in the ‘Edit Event’ dialog in rdlogmanager(1)
  • Functionality: Modified ‘RDWaveFile’ to work around known fencepost errors in WAV files generated by "Sonic Studio soundBlade" by "PME Mastering, Inc."
  • Functionality: Modified the ‘Edit Event’ dialog in rdlogmanager(1) to show ‘[auto]’ as the transition type for the leading event in Pre-/Post-Import lists
  • Bug fix: Fixed a bug in rdlibrary(1) that caused cuts to be incorrectly sorted when scheduled ‘By Specified Order’
  • Bug fix: Fixed a bug in the Rivendell command line apps that caused value-only arguments containing ‘=’ characters to be incorrectly parsed
  • Bug fix: Fixed a bug in the Podcast Manager, Library Exporter and Web API that caused an error when processing multipart-mime submissions containing ‘=’ characters
  • Bug fix: Fixed a bug in rdairplay(1) where attempting to audition an audio cart with a disabled cue output would crash the application
  • Bug fix: Fixed a regression in rdairplay(1) that caused the ‘Forced Segue’ setting in rdadmin(1) to be ignored when executing an event with a hard start attribute
  • Bug fix: Fixed a bug in rdairplay(1) where a paused event could not be removed by dropping the empty cart on it
  • Bug fix: Fixed a bug in rdairplay(1) that cause incorrect pie timer indications after adding or deleting events to a running log
  • Bug fix: Fixed a bug in rdlibrary(1) that would cause a crash when attempting to delete a range of cuts, one of which was in the clipboard
  • Bug fix: Fixed a math bug in rdairplay(1) that caused the estimated stop-down times in the post point widget to be incorrect after adding or removing events from a running log
  • Bug fix: Fixed a bug in rdadmin(1) that made it impossible to enter useful strings in the ‘WaveForm Caption’ control on the ‘Edit RDLogEdit’ dialog
  • Bug fix: Fixed a bug in RDRenderer that caused segue transitions to be rendered without regard to the ‘No Fade on Segue Out’ checkbox in the ‘Edit Audio’ dialog
  • Bug fix: Fixed a bug in ripcd(8) that caused connections to ModbusTCP devices to fail to be properly restored by the connection watchdog
  • Bug fix: Fixed a regression in the ‘Edit Event’ dialog in rdlogmanager(1) that caused the first cart transition type to be incorrect when the ‘Pre-Import Carts’ list was populated
  • Bug fix: Fixed a bug in the ‘Add Next’ [’PX’] RML that failed to return an error when an invalid offset value was supplied
  • Bug fix: Fixed a bug in the ‘Add Next’ [’PX’] RML that failed to honor the ‘Default Trans. Type’ setting in the ‘Configure RDAirPlay’ dialog in rdadmin(1)

3.4.0 (2020-05-19)

  • Database verson 317
  • Bug fix: Fixed a regression in rdairplay(1) that caused two events to be started by a single spacebar tap if a SoundPanel event had been played previously
  • Bug fix: Fixed a bug in rdlogmanager(1) that caused the initial event in an imported set to fail receive the proper time and transition type if the ‘Include Import Markers in Finished Logs’ checkbox in rdadmin(1) had not been ticked
  • Bug fix: Fixed a regression in rdexport(1) that caused exported file names to be constructed improperly
  • Bug fix: Fixed a bug in rdlogmanager(1) that caused ‘Make Post Point’ label to be displayed without last ‘t’
  • Bug fix: Fixed a bug in rdairplay(1) where timer was not set properly when crossing midnight
  • Bug fix: Fixed a bug in the ‘List GPIs’ dialog in rdadmin(1) that prevented changes in GPI assignments from being propagated to the underlying device
  • Bug fix: Fixed a bug in the ‘Software Authority’ driver that caused autodetection of the number of GPIOs in a router to be unreliable
  • Bug fix: Fixed a regression in ‘RDEventLine’ that caused the ‘Append Log’ [’AL’] RML to append a copy of the currently loaded log instead of the one specified in the RML command
  • Bug fix: Fixed a bug in rdlogedit(1) that caused garbled text to appear when ‘Start Immediately’ was selected in the ‘Edit Log Entry’ dialog box
  • Bug fix: Fixed a regression that broke the ability to scroll through Sound Panel panels by means of the mouse wheel
  • Functionality: Modified rdairplay(1) to always scroll log to the top when using the hour selector
  • Functionality: Modified rdlogmanager(1) to disable merge buttons if the selected log does not contain any import links
  • Functionality: Modified rdadmin(1) Edit Service dialog to display built-in traffic and music import template values
  • Functionality: Added "Copy To Custom" buttons to rdadmin(1) Edit Service dialog
  • Functionality: Changed the layout of the ‘Editing Event’ dialog in rdlogmanager
  • Functionality: Removed the ‘Post Point’ checkbox from the ‘Editing Event’ dialog in rdlogmanager(1)
  • Functionality: Renamed the ‘REMARKS’ field to ‘USER NOTES’ in the ‘Editing Event’ and the ‘Edit Clock’ dialogs in rdlogmanager(1)
  • Functionality: Added a ‘Trans’ column to the event list in the ‘Edit Clock’ and the ‘List Events’ dialogs in rdlogmanager(1)

3.3.0 (2020-03-16)

  • Database verson 314
  • Bug fix: Fixed regressions in the following switcher drivers that could cause deadlocks and intermittent operation
  • BroadcastTools SS16.4
  • BroadcastTools SS 4.2
  • BroadcastTools SS4.4
  • BroadcastTools SS 8.2
  • BroadcastTools ACS8.2
  • BroadcastTools ADMS 44.22
  • BroadcastTools GPI-16
  • BroadcastTools SRC-16
  • BroadcastTools SRC-8 III
  • BroadcastTools SS 4.1 MLR
  • Bug fix: Fixed a regression in the implementation of the ‘Set Serial Trap’ [‘SI’] RML that could cause deadlocks and intermittent operation
  • Bug fix: Fixed a bug in rdairplay(1) that could cause random segfaults when updating the Label Widget
  • Bug fix: Fixed a bug with the ‘%y’ metadata wildcard where garbage would be returned if a valid year had not been set
  • Bug fix: 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
  • Bug fix: Fixed the layout of the ‘Matching Carts’ field in rdlibrary(1)’s main window when Realtime Filtering is disabled
  • Bug fix: Fixed a bug in rdairplay(1) that would cause a hard-timed log event with a ‘wait’ parameter set to attempt to play the event twice
  • Bug fix: Fixed a bug in rddbmgr(8) that threw a SQL error when attempting to modify a DB containing tables set to use character set UTF-8 to schema 297
  • Bug fix: Fixed a race in ripcd(8) that caused arguments to the ‘Run Shell Command’ [‘RN’] macro to be corrupted
  • Bug fix: Fixed a bug in the ‘Edit Event’ dialog in rdlogmanager(1) that caused the Transition Type dropdown to be greyed-out when the ‘IMPORT’ controls were set to use the built-in music scheduler
  • Functionality: Added a ‘delta-seconds’ modifier to Filepath Wildcards to enable positive and negative time offsets
  • Functionality: Removed support for CD-TEXT from the CD rippers
  • Functionality: Added support for ‘MusicBrainz’ CD metadata lookup
  • Functionality: Added a ‘Web Browser’ control to the ‘Edit Host’ dialog in rdadmin(1)
  • Functionality: Added support for displaying cover art in the MusicBrainz release chooser
  • Functionality: Added ‘%wm’ [‘MusicBrainz Recording ID’] and ‘%wr’ [‘MusicBrainz Release ID’] metadata wildcards
  • Functionality: Implemented the ‘%wm’ [‘MusicBrainz Recording ID’] and ‘%wr’ [‘MusicBrainz Release ID’] metadata wildcards for PyPAD
  • Functionality: Added support for the ‘%wi’, ‘%wm’ and ‘%wr’ wildcards to the ‘--metadata-pattern=’ switch in rdimport(1)
  • Functionality: Added ‘--set-string-isrc’, ‘--set-string-recording-mbid’ and ‘--set-string-release-mbid’ switches to rdimport(1)
  • Functionality: Added support for the ‘%wi’, ‘%wm’ and ‘%wr’ wildcards to the ‘--metadata-pattern=’ switch in rdexport(1)
  • Functionality: Added a ‘%wc’ [‘Industry Standard Commercial Identification (ISCI) Code’] metadata wildcard
  • Functionality: Implemented the ‘%wc’ metadata wildcard for PyPAD
  • Functionality: Added support for the ‘%wc’ wildcards to the ‘--metadata-pattern=’ switch in rdimport(1)
  • Functionality: Added ‘--set-string-isci’ switch to rdimport(1)
  • Functionality: Added support for the ‘%wc’ wildcard to the ‘--metadata-pattern=’ switch in rdexport(1)
  • Functionality: Removed the ‘RDLabel’ widget
  • Functionality: Added a ‘Disconnect All Jack Ports’ [‘JZ’] RML
  • Functionality: Added a ‘CounterPoint Traffic Reconciliation v2’ report

3.2.1 (2020-01-24)

  • Database verson 311
  • Bug fix: Fixed a bug in rdcatch(1) that threw a SQL error when clicking 'OK' on the ‘Edit Cart Event’ dialog
  • Bug fix: Fixed a regression in rdimport(1) that caused null characters to be written to cart metadata fields when importing files containing an ‘AIR1’ RIFF chunk
  • Bug fix: Fixed a regression in rdcatch(1) that caused the ‘Source’ dropdown in the ‘Edit Recording’ dialog to fail to be populated properly
  • Bug fix: Fixed a regression in the cart selector dialog that caused default focus to be lost on the ‘Filter’ control after second and subsequent invocations
  • Bug fix: Fixed a regression in rdcatchd(8) that broke audio metering
  • Bug fix: Fixed a regression in rdcatchd(8) that could cause download events to hang in an active state
  • Bug fix: Fixed a bug in rdcatch(1) that caused DOW flags to fail to be updated correctly on the event list after making a change
  • Bug fix: Fixed a bug in rdcatchd(8) that failed to send a MODIFY notification at the end of a Record or Download event
  • Bug fix: Fixed a bug in rdconvert that caused a segfault at startup
  • Bug fix: Fixed a bug in rdexport(1) that caused output filenames containing multi-byte UTF-8 characters to be corrupt
  • Bug fix: Fixed a bug in rdgpimon(1) that caused GPIO cart displays to fail to accurately reflect current state
  • Bug fix: Fixed a bug in rdgpimon(1) that caused incorrect state indications to be displayed after switching to a different page
  • Bug fix: Fixed a bug in rdimport(1) that caused non-Latin1 characters to be corrupted when using standard input
  • Bug fix: Fixed a bug in rdimport(1) that caused UTF-8 multibyte characters in filenames to be corrupted
  • Bug fix: Fixed a bug in rdlogmanager(1) that caused spurious log events to be inserted when generating a log
  • Bug fix: Fixed a bug in ripcd(8) that caused input and output counts to be calculated incorrectly for Software Authority protocol devices containing holes in the input and/or output lists
  • Bug fix: Fixed a bug in the ‘pypad-shoutcast1.py’ script that threw an exception when processing PAD containing multi-type UTF-8 characters
  • Bug fix: Fixed a bug in the ‘pypad_xds.py’ PyPAD script that could cause it to emit duplicate CIC updates
  • Bug fix: Fixed a bug in the ‘rivwebcapi’ validate_tm() function that caused dates containing ‘29 February’ to always fail regardless of leap-year validity
  • Bug fix: Fixed a bug in the rdxport service that could cause MODIFY notifications to fail to be sent by the ‘SaveLog’ WebAPI call
  • Bug fix: Fixed a regression in rdadmin(1) that caused controls to be hidden in the ‘Edit Report’ dialog
  • Bug fix: Fixed a regression in rdlogmanager(1) that caused incorrect logged start times to be generated for imported events
  • Bug fix: Fixed a regression in the rdxport service that caused the ListCuts WebAPI call to return corrupt data
  • Bug fix: Fixed a regression in the Web API that caused the and/or corrupt in served XML documents
  • Functionality: Implemented support for non-realtime library filtering in the ‘Editing Event’ dialog in rdlogmanager(1)
  • Functionality: Added a ‘Show Start Time As’ control to the ‘Edit Log’ dialog in rdlogedit(1)
  • Functionality: Made the rdlogedit(1) main window and ‘Edit Log’ dialog window sizes persistent
  • Functionality: Added a work-around in the ‘PyPAD.Receiver().__openDb()’ method to work with versions of MySQLdb that do not support the ‘password=’ parameter in ‘MySQLdb.connect()’
  • Functionality: Added ‘Repetitions=’ and ‘RepetitionDelay=’ directive to the configuration of the ‘pypad_xds.py’ PyPAD script
  • Functionality: Added ‘Username=’ and ‘Password=’ directives to the ‘pypad_httpget.py’ script for use for HTTP Basic Authentication
  • Functionality: Added the ability to view a report at time of generation in rdlogmanager(1)
  • Functionality: Adjusted the position of the ‘Matching Carts’ readout on the main window of rdlibrary(1)
  • Functionality: Changed the ‘Time’ column in the ‘Full Log Widget’ in rdairplay(1) to ‘Sch. Time’
  • Functionality: Implemented a work-around for importing CartChunk data containing a buggy ENCO implemention of the ‘AUD’ CartChunk timer
  • Functionality: Modified the Full Log widget in rdairplay(1) to display logged start times even when the referenced cart does not exist
  • Functionality: Tweaked the ‘LogLineBox::mouseMoveEvent()’ method in rdairplay(1) to require a cursor movement of at least 20 pixels before generating a cart drag

3.2.0 (2019-10-31)

  • Database verson 311
  • Bug fix: Fixed a bug in rddbmgr(8) that caused a segfault when processing a SQL error
  • Bug fix: Fixed a bug in rdimport(1) that caused it to throw an exception when given a ‘--metadata-pattern’ of less than three characters
  • Bug fix: Fixed a regression in rdimport(1) that caused a segfault when invoked with the ‘--metadata-pattern’ and ‘--log-syslog’ switches
  • Bug fix: Fixed a bug in rdairplay(1) that caused space bar presses to start the next event in the Main Log even when ‘Space Bar Action’ was set to ‘None’
  • Bug fix: Fixed bugs in 'RDWaveFile' that caused strings of null characters to be written into unfilled CartChunk string fields
  • Bug fix: Fixed a regression in 'rdxport.cgi' that caused a check of the Rivendell services to be triggered each time a WebAPI function was invoked
  • Bug fix: Fixed a regression in rdsoftkeys(1) that threw a segfault at startup
  • Functionality: Added the ability to configure the caption displayed for the first and third voicetrack waveforms in the Voicetracker dialog in rdlogedit(1)
  • Functionality: Reworked the font management system to permit the fonts used in the UI to be specified in rd.conf(5).
  • Functionality: Added support for posting podcast content via SFTP
  • Documentation: Added manual pages for rd.conf(5) and rdsoftkeys(1)

3.1.0 (2019-09-19)

  • Database verson 310
  • Bug fix: Fixed a bug in rdairplay(1) and rdvairplayd(8) where only the first log machine set to ‘load specified log’ would do so
  • Bug fix: Fixed a bug in rdlogedit(1) that caused hard start log items to have the Hour field doubled
  • Bug fix: Refactored the Python ‘pypad.Update.shouldBeProcessed()’ method to work correctly when using try: blocks in a PyPAD script
  • Bug fix: Refactored the PyPAD scripts to route updates properly in accordance with log directives in their configuration file
  • Bug fix: Fixed a bug that broke dropbox logging to individual files
  • Bug fix: Fixed a bug in caed(8) that broke timescaling support
  • Bug fix: Fixed bugs in rdlibrary(1) that broke CD ripping
  • Functionality: Refactored rdalsaconfig(1) to be more robust and intuitive
  • Functionality: Added a ‘pypad_httpget.py’ PyPAD script
  • Functionality: Updated CDDB code to use protocol level 6 (UTF-8 enabled)
  • Functionality: Added an ‘%l’ wildcard to Filepath Wildcards for ‘unpadded month’

3.0.3 (2019-08-05)

  • Database verson 308
  • Bug fix: Fixed a regression in ripcd(8) that broke the 'Connect Jack Ports' ['JC'] and 'Disconnect Jack Ports' ['JD'] RMLs

3.0.2 (2019-07-31)

  • Database verson 308
  • Bug fix: Fixed a problem with the Local Audio Adapter switcher driver that caused incorrect operation with the 'Switch Add' ['SA'], 'Switch Remove' ['SR'] and 'Switch Take' ['ST'] RMLs
  • Bug fix: Fixed a regression in rdlibrary(1) that caused macro carts entries to turn red after being viewed
  • Bug fix: Fixed regressions that made operations with serial devices unreliable
  • Functionality: Added support for switchers using the Grass Valley 7000 series protocol

3.0.1 (2019-07-16)

  • Database verson 308
  • Bug fix: Rivendell is now Unicode UTF-8 clean
  • Bug fix: Qt4 is now used throughout Rivendell instead of Qt3
  • Functionality: The Rivendell Loadable Modules system for processing PAD data has been completely replaced by PyPAD, allowing PAD processing plug-ins to be written in the popular Python scripting langauge. Backward compatible replacement scripts for many of the RLM plug-ins supplied in Rivendell v2.x are included
  • Functionality: Added a compatibility library to facilitate the use of the Rivendell Web API in external applications
  • Functionality: A system of virtual log machines has been added, allowing play-out of up to 23 logs simultaneously
  • Functionality: Rivendell is now fully systemd compatibile
  • Functionality: The Windows ports of rdlogedit(1) and rdlogmanager(1) have been removed
  • Documentation: The Rivendell Operations and Administration Guide has been updated and enhanced with more details about running a Rivendell system
  • Documentation: New manual pages have been added for Rivendell command that previously did not have them

See this message on the Rivendell Dev mailing list for more details about installing and upgrading Rivendell.

2.19.3 (2018-10-31)

  • Database verson 275
  • Bug fix: Fixed a bug that caused the ‘Switcher Matrix’ and ‘Switcher Output’ dropdowns to populate incorrect values when selecting a non-local ‘Switcher Host’ in the ‘Configure RDCatch’ dialog in rdadmin(1)
  • Bug fix: Fixed a bug in rdlogmanager(1) that caused the initial transition type specified in the ‘IMPORT’ section of the ‘Editing Event’ dialog to be applied to both the parent log link and the first imported event when the ‘PRE-IMPORT CARTS’ list was empty and no Timed Start was enabled
  • Bug fix: Fixed a bug in ripcd(8) that caused process of the ‘Air Gate’ [‘AG’] RML to fail
  • Bug fix: Fixed a bug in rdimport(1) that would throw a spurious SQL error when using the ‘--to-cart=’ switch with an already existing cart [Issue #000217]
  • Bug fix: Fixed a regression that caused rdimport(1) to return a ‘no free carts available in specified group’ when invoked without the ‘--to-cart=’ option
  • Bug fix: Fixed a regression in rdairplay(1) that caused carts Added or Copied to a log to have a PLAY transition regardless of the default transition type set in rdadmin(1)
  • Bug fix: Fixed a bug in ‘RDTextValidator’ that failed to catch banned characters added to the interior of existing strings
  • Bug fix: Various other bugs fixed
  • Functionality: Added a ‘TranscodingDelay=’ parameter to the ‘[Tuning]’ section of rd.conf(5)
  • Functionality: Added a Switcher/GPIO driver for the BroadcastTools SS 2.1 switcher
  • Functionality: Added support for GPIO on AudioScience adapters to the 'Local Audio Adapter' Switcher/GPIO driver
  • Functionality: Renamed the 'Add Next' ['PX'] RML to 'Insert Cart' ['PX'] and added two optional arguments to allow specification of the insertion position and transition type
  • Functionality: Added support for Spinitron v2 to the 'spinitron_plus' RLM
  • Functionality: Added an ‘ExportedFileMode=’ parameter to the ‘[Tuning]’ section of rd.conf(5) to permit permission mode of exported audio files to be specified
  • Documentation: Documented GPIO support for AudioScience cards in the ‘Local Audio Adapter’ section of the Operations Guide

2.19.2 (2018-04-14)

  • Database verson 275
  • Bug fix: Fixed a regression in the HPI support layer that broke audio capture with adapters lacking DMA bus-mastering support

2.19.1 (2018-03-27)

  • Database verson 275
  • Bug fix: Fixed a bug in rdlogmanager(1) that caused DB corruption when a clock was deleted while still being assigned to a grid.
  • Functionality: Implemented support for DMA bus-mastering for AudioScience HPI devices. This release supports the latest ASI cards that require DMA bus-mastering support. You may also need to update the hpklinux driver to v4.20.10 or later. RPMs for CentOS 7 are available at Paravel’s website.
  • Functionality: Removed rdhpiinfo(8). Replaced by the stand-alone ‘hpiinfo’ package.
  • Functionality: Removed the event time check for Playout events in rdcatch(1), as there is no sane way to determine a consistently ‘free’ playout time in the face of shifting cut lengths.

2.19.0 (2018-02-22)

  • Database verson 275
  • Bug fix: Fixed a bug in rdlibrary(1) that caused evergreen carts/cuts to fail to be highlighted in the correct color
  • Functionality: Added the ability to specify automatic log deletion on the basis of either the Creation Date or Air Date of the log
  • Functionality: Log Importation Changes. Changed music and traffic importation so that parent link events are still visible in linked logs
  • Functionality: Log Locking: implemented a system-wide protocol to prevent changes made to a log on one host from being inadvertently overwritten from another host

2.18.2 (2017-12-29)

  • Database version 272
  • Bug fix: Fixed a bug that caused creation of new clocks in rdlogmanager(1) to fail to initialize music scheduler components correctly in the database

2.18.1 (2017-12-22)

  • Database version 272
  • Bug fix: Fixed a bug that caused creation and initialization of a new Rivendell database to fail

2.18.0 (2017-12-21)

  • Database version updated to 272
  • Bug fix: Various bug fixes. See the ChangeLog for details
  • Functionality: Group Cut Expiration Policy: Added the ability to set a default End Date/Time for new cuts on a per-group basis
  • Functionality: Host Short Name: Added a Short Name parameter to Host profiles
  • Functionality: Macro Carts: It is now possible to use filepath wildcards in macro carts
  • Functionality: New Host Wildcards: Added two host wildcards: %r for Rivendell Host Name, and %R for Rivendell Short Name
  • Functionality: Provisioning Support: Added four new directives and to the [Provisioning] section of /etc/rd.conf
  • Functionality: MySQL Configuration: Added three parameters to the [mySQL] section of /etc/rd.conf
  • Functionality: Dropbox Enhancements: Added the ability to specify creation of default Segue Markers when processing files via dropbox
  • Functionality: RDImport/DropBox Enhancements: Added the ability to specify start and end datetimes via metadata pattern
  • Functionality: RDCatch Event Filtering: Added the ability to filter by event type in RDCatch
  • Functionality: Log Searching: A search filter (similar to that employed for seaching for carts) has been added to the List Logs dialogs
  • Functionality: Service Filtering in RDLogEdit: Added the ability to limit the visible set of logs in RDLogEdit by user
  • Functionality: Log Purge/Deletion Changes: Logs created manually (in rdlogedit(1) or rdairplay(1)) are now assigned a default purge/deletion date in accordance with the setting in RDAdmin->ManageServices
  • Functionality: Log Importation Changes: Changed music and traffic importation so that parent link events are still visible in linked logs
  • Functionality: Web API Changes: Added ‘FILTER’ and ‘RECENT’ call parameters to the ‘ListLogs’ Web API call
  • Documentation: Documentation Overhaul: The Rivendell Operations and Administration Guide has been exapanded and incorporated as part of the base Rivendell source in docs/opsguide. This guide is available as a separate CentOS package: rivendell-opsguide
  • Documentation: Rivendell APIs: The various application programming interfaces (notably the web API) is now documented and is included with the standard distribution

2.17.0 (2017-10-11)

  • Database version updated to 268
  • Bug fix: Web API: Many fixes and enhancements to improve operation
  • Bug fix: Many other bug fixes; see the ChangeLog for all the details (search for 2.17.0 and work your way backward through the list of changes)
  • Functionality: Dropboxes: Added the ability to force imports to be imported as mono, also added the ability to reset individual dropboxes
  • Functionality: New Switcher/GPIO Devices: Support has been added for the following Switcher/GPIO devices:
  • Broadcast Tools Universal 4.1 MLR>>Web Switcher
  • WheatNet LIO
  • WheatNet SLIO
  • Functionality: Macros: Added the ‘Air Gate’ [‘AG’] RML to permit conditional execution of RML on the basis of the status of the On-Air flag
  • Functionality:
  • Functionality: User Authentication: It is now possible to configure RDLogin to require entry of the user-name, rather than picking the name off of a list. See the ‘Show User List in RDLogin’ checkbox in RDAdmin->SystemSettings
  • Functionality: Log Rendering (EXPERIMENTAL): It is now possible to ‘render’ a log as a single audio object (file or cart/cut) without the need to play it out while capturing the audio in realtime. Render support is available through the ‘Render’ button in RDLogEdit and through the command-line rdrender(1) utility. See the rdrender(1) man page for details
  • Functionality: Provisioning Support. Added a [Provisioning] section to rd.conf(5) with directives to facilitate the automatic provisioning of Rivendell instances. See the comments in the [Provisioning] section of the sample rd.conf(5) file
  • Artwork: New Icons: Implemented a new icon set, with individualized icons for each Rivendell module

2.16.0 (2017-06-02)

  • Database version updated to 263
  • Bug fix: Many bug fixes; see the ChangeLog for all the details (search for 2.16.0 and work your way backward through the list of changes)
  • Functionality: Audio Store Hashing. Rivendell now automatically generates a SHA1 hash for each file in the audio store and records this value in the database, thus permitting automated recovery of audio in the event of loss or damage to the audio store's filesystem directory
  • Functionality: Added switcher support for Kernel GPIO devices, such as the GPIO interface on the Raspberry Pi 2 and 3
  • Functionality: Added switcher support for Modbus TCP devices
  • Functionality: Added an rdconvert(1) utility
  • Functionality: It is now possible to delegate authentication of Rivendell users by means of a PAM module, thus permitting ‘single sign-on’ integration with systems such as ActiveDirectory and FreeIPA
  • Functionality: Added various methods to the Rivendell Web API to permit integration with external audio and log editors

2.15.3 (2017-03-24)

  • Database version 259
  • Bug fix: Fixed bugs in MP3 file importation that caused files with variable bit rate (VBR) to be truncated during import.
  • Bug fix: Fixed a bug that caused dynamically loaded codec libraries to fail to be detected if the corresponding library’s so-called -devel package was not installed.
  • Functionality: Added an RLM for generating TagStation RLM events for NextRadio.
  • Functionality: Added AddLog, DeleteLog and SaveLog calls to the web API, along with general cleanup and correction of the overall Web API subsystem.

2.15.2 (2017-01-13)

  • Database version 259
  • Documentation: Document the interfaces for inserting inline traffic breaks and for inserting voice track markers (also add an example in docs/examples/)
  • Bug fix: in rdadmin/createdb.cpp that caused obsolete fields in the 'SERVICES' table to be included when creating a new database.
  • Bug fix: in lib/rdwavefile.cpp that caused RDXL chunks to be written with odd chunk lengths.
  • Bug fix: in lib/rdsimpleplayer.cpp that caused RDAirPlay to freeze when attempting to audition an expired cart.
  • Functionality: Added a LockRdairplayMemory= parameter to the [Hacks] section.
  • Functionality: Modified the LiveWire Multicast GPIO driver to generate GPO events using the 'I' event type.

2.15.1 (2016-08-05)

  • Database version 259
  • Bug fix: fixed WAV file export code to enhance compatibility with third-party applications

2.15.0 (2016-07-29)

  • Bug fix: complete support for the MySQL/MariaDB InnoDB database engine (for better transaction processing of database updates)
  • Functionality: enhancements to rdexport that include full metadata in RDXML format
  • Functionality: add CLI command rdclilogedit that enables editing of Rivendell Logs from the command line (without a GUI app)
  • Functionality: Update the database to version 259.

2.14.1 (2016-06-11)

  • Database version 258
  • Bug fix: additional fixes for newer versions of MySQL (and MariaDB)

2.14.0 (2016-06-10)

  • Database version 258
  • Functionality: add the ability to capture real-time events in RDCatch recordings and replay the events in sync with the captured audio
  • Functionality: add RML Macro Cut Event (CE) for placing real-time event markers into active RDCatch recordings
  • Functionality: add support for specifying precise start time and length parameters for Traffic events that are embedded in Music events
  • Bug fix: fixed a bug in RDAdmin that could cause creation of a new database to fail
  • Bug fix: fix issues that prevent compilation under newer versions of the GNU C compiler suite
  • Bug fix: various enhancements and fixes to the new(ish) rdexport utility
  • Bug fix: initial support for newer versions of MySQL (and MariaDB)
  • Bug fix: add code to allow embedded traffic breaks to be specified with start time and length in the music schedule.

2.13.0 (2016-05-10)

  • Database version 255
  • Functionality: add RLM plugin for the Paravel Systems WallTime clock
  • Functionality: add new CLI command rdexport to export Carts with metadata
  • Functionality: new report: Cut Log that includes the Description field for played events
  • Bug fix: fixed a crash in RDLibrary when attempting to open multiple Carts
  • Bug fix: fixed RDLogEdit to improve performance when saving and updating logs
  • Bug fix: fixed a bug that caused marker data to be deleted when exporting a Cut

2.12.0 (2016-04-14)

  • Database version 254
  • Functionality: add support for sequential Cut play-out - you can now configure carts to play cuts in a fixed, sequential order rather than by weight value
  • Functionality: add support for Broadcast Tools switchers
  • Functionality: add RML macro Copy Cut (CP) to copy cuts between carts
  • Functionality: add option to show only “recent” logs in RDLogEdit
  • Functionality: add new web API methods related to Scheduler Codes
  • Bug fix: fixed a bug that caused issues with Services containing the “-” (dash) character