Release version 5.0 with major enhancements [skip ci]
This major release introduces multi-channel audio support, high-resolution playback, and various performance improvements. It also includes important breaking changes, new features, enhancements, bug fixes, and updates to documentation.
This commit is contained in:
+94
-2
@@ -1,6 +1,98 @@
|
||||
Minor Release Notes
|
||||
Version 5.0
|
||||
====
|
||||
Minor release notes are attached to the releases themselves.
|
||||
This major release represents a significant advancement in Shairport Sync's capabilities, introducing multi-channel audio support, high-resolution playback, and comprehensive performance improvements.
|
||||
|
||||
**Important Breaking Changes Notice:** Version 5.0 includes many breaking changes from previous versions of Shairport Sync. Please review the documentation carefully before upgrading. A useful guide to Version 5 Configuration File Changes in Version 5 is available [here](CONFIGURATIONFILECHANGES.md).
|
||||
|
||||
**New Features**
|
||||
|
||||
* **Multi-Channel and High-Resolution Audio Support**
|
||||
* 48,000 frames per second ("48k") operation.
|
||||
* 48k lossless stereo support.
|
||||
* 5.1 and 7.1 surround sound support.
|
||||
* Multi-channel and multi-rate operation on `ALSA`, PipeWire, PulseAudio, FreeBSD, `stdout` and Unix `pipe` output backends.
|
||||
|
||||
* **Automatic Audio Format Selection**
|
||||
* Flexible and controllable output format selection.
|
||||
* Automatic rate, sample format, and channel count selection.
|
||||
|
||||
* **Full FFmpeg Integration**
|
||||
* Support for transcoding.
|
||||
* Advanced resampling capabilities.
|
||||
* New audio format support.
|
||||
|
||||
* **Enhanced Resampling**
|
||||
* New `vernier` resampling and interpolation method optimized for low-power CPUs.
|
||||
* Better performance on resource-constrained devices.
|
||||
|
||||
* **Convolution and Loudness Enhancements**
|
||||
* Convolution system is now multithreaded and works on stereo and multichannel audio at 48k and 44.1k.
|
||||
* Multiple impulse response (IR) files can now be provided via `convolution_ir_files` setting.
|
||||
* New `convolution_thread_pool_size` setting for multithreaded processing (defaults to 1).
|
||||
* Loudness processing now works with stereo and multichannel audio at 48k and 44.1k.
|
||||
* Updated to the most recent [HiFi-LoFi FFT convolver](https://github.com/HiFi-LoFi/FFTConvolver).
|
||||
|
||||
* **MQTT Enhancements**
|
||||
* Added new `publish_retain` boolean option. When enabled, published MQTT messages have the `retain` flag set, so the MQTT broker stores the last message per topic and new subscribers receive the most recent value immediately. Thanks to [lululombard](https://github.com/lululombard) for [PR #2142](https://github.com/mikebrady/shairport-sync/pull/2142).
|
||||
|
||||
* **D-Bus Enhancements**
|
||||
* Added new `dbus_default_message_bus` command-line argument (can be `system` or `session`) to set the default message bus for both D-Bus native service and MPRIS service.
|
||||
|
||||
**Performance Improvements**
|
||||
|
||||
* Better operation on low-power devices down to Raspberry Pi B.
|
||||
* Improved efficiency on embedded systems.
|
||||
* Enhanced timestamp handling for better synchronization.
|
||||
* Improved sync error calculation.
|
||||
* Rebuilt buffered audio processor for cleaner handling of immediate and deferred flush requests.
|
||||
|
||||
**Docker Enhancements**
|
||||
|
||||
* Reduced Docker image sizes with slimmed-down `FFmpeg` library.
|
||||
* Removed `dhclient` from Docker images for smaller footprint.
|
||||
|
||||
**Bug Fixes**
|
||||
|
||||
* Fixed MQTT warning on service startup: "Could not establish a mqtt connection". The startup script now correctly states that the `mosquitto` service is required. Thanks to [Hugo Villeneuve](https://github.com/hvilleneuve29) for [PR #2137](https://github.com/mikebrady/shairport-sync/pull/2137).
|
||||
* Fixed compatibility with `mbedtls` library version 3.4+ (present on recent Linux versions). Thanks to [Christian Beier](https://github.com/bk138) for [finding](https://github.com/mikebrady/shairport-sync/issues/2115) and [fixing](https://github.com/mikebrady/shairport-sync/pull/2118) the bug.
|
||||
* Fixed PulseAudio backend so that `PA_ERR_NODATA` returns "No latency data yet". Thanks to [Vladimir Shakov](https://github.com/bogdad) for the [report and fix](https://github.com/mikebrady/shairport-sync/pull/2119).
|
||||
* Ensured old flush requests are deleted when a new play session starts. Thanks to [saujanyashah](https://github.com/saujanyashah) for the [report](https://github.com/mikebrady/shairport-sync/issues/2107).
|
||||
* Fixed format warnings on 64-bit and 32-bit systems
|
||||
* Removed compilation warnings on 32-bit builds
|
||||
* Improved argument checking for `debug()`, `inform()`, `warn()` and `die()` functions
|
||||
* Fixed "daemon" typos throughout codebase. Thanks to [Chris Boot](https://github.com/bootc) for [PR #1981](https://github.com/mikebrady/shairport-sync/pull/1981).
|
||||
* Added warning if a convolution impulse response file cannot be read due to bad path or permissions
|
||||
|
||||
**Build System Improvements**
|
||||
|
||||
* Unified service file with variable substitution for Avahi support, making it easier to add future service dependencies. Thanks to [Hugo Villeneuve](https://github.com/hvilleneuve29).
|
||||
* Network interface selection now only considers interfaces that are up, running and not loopback interfaces. Thanks to [Carl Johnson](https://github.com/SoarVermont) for the [suggestion](https://github.com/mikebrady/shairport-sync/issues/1996).
|
||||
|
||||
**Configuration File Changes and Deprecations**
|
||||
|
||||
* New settings: `convolution_ir_files` (replaces `convolution_ir_file`), `convolution_enabled` (replaces `convolution`), `convolution_max_length_in_seconds` (replaces `convolution_max_length`), `loudness_enabled` (replaces `loudness`).
|
||||
* New `convolution_thread_pool_size` setting (defaults to 1).
|
||||
* Deprecated settings: `convolution_ir_file`, `convolution`, `convolution_max_length`, `loudness`.
|
||||
* Corresponding D-Bus methods and properties have been updated.
|
||||
|
||||
**Deprecation Notice**
|
||||
|
||||
* The Jack Audio and `soundio` backends are deprecated and will be removed in a future release. Consider using the updated PipeWire backend instead.
|
||||
|
||||
**Documentation Updates**
|
||||
|
||||
* Updated BUILD.md with latest build instructions.
|
||||
* Updated AIRPLAY2.md with feature information.
|
||||
* Enhanced convolution and loudness documentation.
|
||||
|
||||
**Maintenance**
|
||||
|
||||
* Fixed FFmpeg deprecation warnings.
|
||||
* Bumped `actions/checkout` from 6.0.1 to 6.0.2.
|
||||
* Bumped `docker/login-action` from 3.6.0 to 3.7.0.
|
||||
* Bumped `docker/build-push-action` from 6.13.0 to 6.15.0.
|
||||
* Bumped `docker/setup-qemu-action` from 3.4.0 to 3.6.0.
|
||||
* Bumped `docker/setup-buildx-action` from 3.9.0 to 3.10.0.
|
||||
|
||||
Version 4.3 -- Security Updates, Bug Fixes and Enhancements
|
||||
====
|
||||
|
||||
Reference in New Issue
Block a user