Shairport Sync 5.2
This update contains new features and bug fixes and is recommended for all users.
New Features and Enhancements
-
A new MQTT command,
queue_next, has been added -- thanks to Scott Simon for the PR:A new
queue_nextMQTT command enqueues a track by its Persistent ID (hexadecimaltrack_id), for example:queue_next 316a7653186B6917. The command is sent as a remote control command viaDACPto the player.Please note that, like all other remote control commands, this works for Classic AirPlay only.
-
Added a long-overdue exit handler to enable Shairport Sync to exit cleanly — that is, to attempt to clean everything up, e.g. open files, sockets, devices, threads, etc. before exit. If cleanup isn’t finished after one second, exit will occur unconditionally.
The new exit handler is now used for normal exit, abnormal exit after fatal errors and for quit requests from the D-Bus and MPRIS interfaces.
Bug Fixes
- Metadata: Restored the previous way of receiving metadata, which was inadvertently removed, for better compatibility for older users of metadata. A temporary new option in the
diagnosticssection of the configuration file allows you to opt for the newer plist-based metadata, which is considerably richer but not yet integrated into the D-Bus or MPRIS interfaces. Thanks to Léo for the report. - Convolution & Loudness: Fixed a number of bugs in the convolution and loudness code. The bugs were due to mixing up input and output rates and channel counts. If the input and output rates and channel counts were identical, no problem. But if rates were different, the wrong finite impulse response filter would be loaded. Many thanks to Christopher Wawak for the report and follow-up.
- MQTT: Fixed byte order of the
track_idpublished over MQTT. - Fixed a very low-level mutex-locking error that interfered with debugging.
- Unfixable Error Hang: Fixed a hang when an unfixable error occurred. When an unfixable error occurs without an unfixable error handler installed, the mutex protecting Shairport Sync’s
alsabackend is now unlocked to permit a clean exit. Thanks to timg7 for the report. - Updated
audio_sndio.cto remove some harmless compiler warnings.
Deprecations
- The
log-to-syslogcommand line option and thelog_output_tosetting in thediagnosticspart of the configuration are obsolete and are now ignored.
Documentation Fix
- Fixed a broken link to
CONFIGURATION FLAGS.mdfromADVANCED TOPICS. Thanks to Adrián Reyes for the PR. - Updated the BUILD guide to include
gcryptin the list of packages needed when building for FreeBSD / AirPlay 2.
Dependabot Updates
- Merged in a number of CI-related Dependabot updates.