github mikebrady/shairport-sync 2.8.4
V2.8.4 – Stable Version. Bug Fixes and Enhancements

latest releases: 3.3.9, 4.1-dev, 4.0-dev...
5 years ago

This stable release includes important bug fixes and minor enhancements and is recommended for all users. No settings need to be changed. For advice on updating an installation you built yourself, please visit the UPDATING page.

The following is a summary of the bug fixes and enhancements since version 2.8.3.

Bug Fixes

  • Checks have been added for empty or NULL audio buffers that were causing assertion violations and subsequent abnormal program termination.
  • An IPv6 bug has been fixed — a bug in the networking software would not allow an IPv6 link-local connection to be made from a client if Shairport Sync was running on a device with more than one network interface. The solution was to take account of the config_id information.
  • Some problems have been fixed with the non-blocking write function used to write metadata.
  • A bug in the volume control transfer function has been fixed, thanks to Jörg Krause.


  • Shairport Sync now works with AllConnect/Streambels on Android with password protection. (As with all Android clients, you should set the drift to something large, like 500 or 1,000, as the timekeeping of these clients isn't as accurate as that of iTunes, etc.)
  • The networking subsystem has been modified to always use the same IP number during a session. Background: the computer Shairport Sync is running on can have many IP numbers active at the same time – various IPv6 numbers and also various IPv4 numbers. During a play session, when Shairport Sync has to create connections back to the source, it would use an automatically-assigned IP number for itself, but that number might not be same as the the number used earlier in the session. From now on, it will always use the same IP number it used when the connection was first established. Thanks to ejurgensen for help with this.
  • Experimental support has been added for a softvol plugin, thanks to the work of Jörg Krause -- see #293.
  • A playback_mode setting has been added to allow the selection of stereo (default) or mono playback -- thanks to faceless2.
  • The new default service name is now the device's hostname, with its first character capitalised (ASCII only).
  • Substitutions can now be made in the service name. The following substitutions can be used in the service name: %h for the hostname, %H for the hostname with the first letter capitalised, %v for the version number and %V for the full version string. Maximum length is 50 characters.
  • An existing shairport-sync.service file will not be overwritten by sudo make install.
  • The text strings advertising the capabilities of Shairport Sync over Bonjour/Zeroconf/Avahi have been changed and now more closely match those of an AirPort Express Base Station (First Generation).
  • It is now possible to set the amount of time to wait for the metadata pipe to become ready for writing. The setting is called pipe_timeout in the metadata section. Default is 5,000 milliseconds.
  • Metadata can now be provided via UDP -- thanks to faceless2.
  • Statistics output is more machine readable -- thanks to Jörg Krause
  • The shairport-sync.spec file has been updated for compatability with building Debian packages using checkinstall -- thanks to vru1.

Don't miss a new shairport-sync release

NewReleases is sending notifications on new releases.