Version 4.1 brings support for AirPlay 2 operation. It works with iOS, iPadOS, macOS, HomePod mini and Apple TV sources, but not with Windows.
Limited support is available for HomeKit -- Shairport Sync speakers can be added to the Home app, though not all features are working.
AirPlay 2 operation requires a companion program called NQPTP and requires a somewhat more powerful system. Please see AIRPLAY2.md for more.
Note that you can still build Shairport Sync to support "classic" AirPlay (aka "AirPlay 1") as before.
The various guides for building and updating Shairport Sync have been consolidated into BUILD.md.
Here is a brief initial list of the high-level new features and changes:
- AirPlay 2 operation.
- Improved
libao
backend for better compatibility with HomeBrew installations. - Improved MQTT and D-Bus facilities.
- Metadata improvements.
- Automatically-generated Docker images.
There have been many many bug fixes and enhancements to the core operation of Shairport Sync.
Changes
Changes in 4.1-rc1:
- Bug fixes: close DAC when SPS goes inactive under the "auto" setting.
- Fix some minor Makefile issues.
- Documentation: Improved "Events.md" page.
Changes in 4.1-rc2:
- Bug fixes: Fix a memory allocation crashing bug. Fix two memory leaks.
- Start using
libgcrypt
again to avoid a memory leak inlibcrypto
. - Documentation updates.
IMPORTANT -- the libgcrypt
library is now needed (again) for building Shairport Sync -- see the BUILD.md guide.
Changes in 4.1-rc3:
- Bug fix: Fix an elusive crashing bug when a session key is missing from an AirPlay 2 play request.
- Enhancement: Add a new information/debugging option
--displayConfig
or-X
. - Enhancement: Improve debug messaging with
libdaemon
. - Enhancement: Help message update.
- Enhancement: The
xmltoman
library is no longer needed. - Enhancement: Improve the use of lightweight
git
tags used by GitHub to tag releases. - Documentation: Update
man
page. - Documentation: Add a page on adjusting synchronization to match other speakers.
Changes in 4.1-rc4:
- Bug fix: Fix a bug that delayed metadata appearing in the D-Bus, MPRIS and MQTT interfaces.
- Docker: Additional command line arguments to the docker run command are passed to the shairport-sync application on the AirPlay 2 docker image.
- Docker: Use the s6-overlay system on the Classic docker image.
- Enhancement: Clean up the generation of Play/Pause/Stop conditions. Add true Pause for AirPlay 2 Buffered streams.
- Documentation: Some cleanups and updates.