AzuraCast v0.9.9 Release Notes

Release Date: 2020-03-14 // about 4 years ago
  • ๐Ÿ†• New Features and Important Changes

    Auto-Assign Folders to Playlists : If you select a folder in the Music Files manager and add it to one or more playlists, any songs uploaded inside that folder (via the web interface or SFTP) will automatically be added to that playlist. If the files in the folder are also in other playlists, they won't be removed from those playlists, just added to the folder's playlists.

    โฑ Streamer Schedules : You can now set scheduled times when streamers are supposed to be broadcasting. You can choose to "enforce" this schedule, which means that the streamer/DJ can only connect during their scheduled time and no other times.

    โฑ Schedule View : Now that both playlists and streamers are scheduled, you can use AzuraCast to produce a full schedule lineup for your station including both upcoming scheduled playlists and scheduled DJ/streamers. We have created new schedule API endpoints to facilitate this, and added a new "Schedule" section to station profiles.

    Record Live Broadcasts : Thanks to several improvements within AzuraCast, we now track the start and end times for every DJ/streamer broadcast. You can view the full history for each streamer by clicking the "Broadcasts" button next to their name. We also now offer the ability to automatically record live broadcasts; the recording of each given broadcast can be viewed in the same "Broadcasts" panel. Also, when viewing the song playback timeline, you will be able to see which DJ/streamer was live when a particular track was broadcast.

    ๐Ÿ”ง Advanced Liquidsoap Configuration Editor : We've replaced the single "Advanced Custom Configuration" field in the station profile with a newer, much more powerful editor tool for directly editing Liquidsoap configuration. This editor shows the automatically generated configuration alongside your custom code, and allows you to inject custom code in multiple new places.

    Visual Cue Point Editor : Thanks to a pull requested contribution from Bjarn Bronsveld, you can now edit a music file's cue-in/cue-out/fade-in/fade-out points with a rich, interactive waveform viewer that shows markers for each of the specified points. This offers a significantly improved experience over the previous timestamp input fields (which can still be manually edited if necessary).

    ๐Ÿ†• New IP Geolocation Options : With the changes to the MaxMind GeoLite database, we've abstracted out how we perform IP geolocation. By default, all Docker installations come with the DBIP lookup tool, which is suitable for a majority of use cases. If you prefer GeoLite for its result accuracy, you can enter a license key acquired from their web site and AzuraCast will download and use the GeoLite database instead.

    ๐Ÿ› Bug Fixes and Minor Improvements

    ๐ŸŒ The azuracast_web_v2 Docker image is now directly tied to the main code repository, so rolling-release updates are much faster and involve far less load time.

    Multiple playlists can now have the same name (#2281).

    ๐Ÿ›  Several bugs with station cloning have been fixed and the feature is now again fully functional. (#2276, #2427)

    ๐Ÿ’ป The "Prefer Browser URL" and "Enable SFTP Server" settings have been tweaked so they will behave more sensibly, and will not interfere with portions of AzuraCast's web interface that make API calls.

    โšก๏ธ Several sections of AzuraCast (including, notably, the Duplicate Songs report and Radio Automation code) have been heavily optimized to avoid memory overflow with very large music libraries. (#2003)

    โšก๏ธ Liquidsoap has been updated to version 1.4.1.

    Quotas are now enforced within the built-in SFTP server. (#2315).

    You can now directly provide an amplification value that Liquidsoap will use on each track from the media manager. (#2334)

    โฑ The AzuraCast AutoDJ's scheduling code has been significantly overhauled to be easier to maintain and to fix a number of "edge case" scenarios; you should now see much more accurate track selection that more reliably avoids duplicate artists/tracks while still preferring higher weighted playlists.

    In situations where files are served directly from the filesystem, we now take advantage of nginx's built-in X-Accel-Redirect functionality to instruct nginx to serve the file directly from disk instead of passing it through PHP; this results in much faster and more reliable downloads for media previewing, album art, historical broadcasts, backups, and more.

    In newer Vue components (i.e. the media manager, playlist manager, streamer manager) modal dialog boxes will autofocus on the relevant input, and the enter key will submit the modal dialog's form as expected (#2449).

    ๐Ÿ‘€ When previewing a music track or other finite-length file within the AzuraCast web interface, you can seek through the file using a new progress slider alongside the player controls in the header menu.

    You can now make the Listener map fullscreen if desired.


Previous changes from v0.9.8

  • ๐Ÿ†• New Features

    โšก๏ธ Updated to Liquidsoap 1.4.0 : Both Ansible and Docker installations have been updated to version 1.4.0 of Liquidsoap. This new version introduces smarter crossfading, better UTF-8 support and a number of quality-of-life improvements. Some of the syntax of the new version is not backwards-compatible with the previous versions, so updating is highly recommended for all users to avoid errors.

    ๐Ÿ†• New Playlist Manager : Alongside the new Media Manager released in the previous version, we have also rebuilt the Playlist manager to be a fully interactive Vue.js component. This allows for inline editing, reordering, and removal of playlists, and support for the new scheduling features detailed below.

    โฑ Playlist Scheduling Improvements : All playlist types can now be scheduled, and any single playlist can now have multiple schedule entries. Schedule entries can also have a start and end date, for limited-time announcements or seasonal content.

    ๐Ÿ› Bug Fixes/Updates

    • โฑ Increased the timeout allotted to backups (#2149, #1717) and backup restoration (#2166).
    • ๐Ÿณ The built-in Docker FTP service will now use the correct external IP for PASV connections, so it will be compatible with significantly more clients.
    • When specifying times for media fade-in/fade-out/cue-in/cue-out, you can specify the time in mm:ss format rather than in total seconds if you prefer (#2117).
    • Various accessibility improvements across the system.
    • ๐Ÿ‘ท Saving playlists will no longer block the web request, and will be handled instead by a separate worker process, allowing for larger playlists to be saved more frequently (#2068).
    • โœ… Modified the way we check for the latest CA certificates to avoid stability issues.
    • ๐Ÿ›  Fixed a bug where clicking breadcrumb navigation in the Media Manager would show all files as "not processed" (#2086).
    • Avoid writing to a temporary directory in cases where a song is already locally stored on the server, which should cut down significantly on temporary directory sizes.