Releases: music-assistant/server
2.9.0 BETA 9
📦 Beta Release
Changes since 2.9.0b8
🚀 Features and enhancements
- Improve TuneIn browse, search and add recommendations (by @dmoo500 in #3764)
- Add recommendation translation keys for QQ and NetEase (by @xiasi0 in #3778)
- Revert "AirPlay 2 provider now supports sync" (by @MarvinSchenkel in #3780)
🐛 Bugfixes
- Force imageproxy over streamserver for Airplay artwork (by @MarvinSchenkel in #3763)
- Fix tidal recommendations (by @jozefKruszynski in #3767)
- Change heartbeat of websocket and sendspin proxy socket to 25s (by @MarvinSchenkel in #3769)
- Fix 30s delay after switching tracks on Sendspin (by @maximmaxim345 in #3777)
🎨 Frontend Changes
- Remove size restriction for volume slider + refacto old ui for player controls (by @stvncode in #1726)
🧰 Maintenance and dependency bumps
5 changes
- Bump ya-passport-auth to 1.3.0 for Yandex Smart Home provider (by @trudenboy in #3746)
- Consolidate tidal constants for urls and paths (by @jozefKruszynski in #3768)
- Resolve TODOs in metadata controller (by @OzGav in #3771)
- Remove code in the config controller commented for removal post the 2.8 release (by @OzGav in #3772)
- ⬆️ Update music-assistant-frontend to 2.17.152 (by @music-assistant-machine in #3775)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
@MarvinSchenkel, @OzGav, @dmoo500, @jozefKruszynski, @maximmaxim345, @stvncode, @trudenboy, @xiasi0
2.9.0 NIGHTLY 2026042405
📦 Nightly Release
Changes since 2.9.0.dev2026042304
🚀 Features and enhancements
- Improve TuneIn browse, search and add recommendations (by @dmoo500 in #3764)
- Add recommendation translation keys for QQ and NetEase (by @xiasi0 in #3778)
- Revert "AirPlay 2 provider now supports sync" (by @MarvinSchenkel in #3780)
🐛 Bugfixes
- Fix 30s delay after switching tracks on Sendspin (by @maximmaxim345 in #3777)
🧰 Maintenance and dependency bumps
4 changes
- Bump ya-passport-auth to 1.3.0 for Yandex Smart Home provider (by @trudenboy in #3746)
- Consolidate tidal constants for urls and paths (by @jozefKruszynski in #3768)
- Resolve TODOs in metadata controller (by @OzGav in #3771)
- Remove code in the config controller commented for removal post the 2.8 release (by @OzGav in #3772)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
@MarvinSchenkel, @OzGav, @dmoo500, @jozefKruszynski, @maximmaxim345, @trudenboy, @xiasi0
2.9.0 NIGHTLY 2026042304
📦 Nightly Release
Changes since 2.9.0.dev2026042115
🐛 Bugfixes
- Force imageproxy over streamserver for Airplay artwork (by @MarvinSchenkel in #3763)
- Fix tidal recommendations (by @jozefKruszynski in #3767)
- Change heartbeat of websocket and sendspin proxy socket to 25s (by @MarvinSchenkel in #3769)
🎨 Frontend Changes
- Remove size restriction for volume slider + refacto old ui for player controls (by @stvncode in #1726)
🧰 Maintenance and dependency bumps
- ⬆️ Update music-assistant-frontend to 2.17.152 (by @music-assistant-machine in #3775)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
2.8.6
📦 Stable Release
Changes since 2.8.5
🐛 Bugfixes
- Fix ffmpeg process leak in smart fades mixer on aborted playback (by @marcelveldt in #3725)
- Harden AirPlay STOP command delivery and add teardown logging (by @marcelveldt in #3729)
- Prevent concurrent flow-stream producers from corrupting the playlog (by @marcelveldt in #3731)
- Guard Sonos volume attribute update against uninitialized state (by @marcelveldt in #3732)
- Fix ORF Radiothek browse reverting to top level (by @OzGav in #3733)
- Preserve multi-value album type across all tag parsers (by @OzGav in #3743)
- [Soundcloud]: improving search (by @fionn-r in #3745)
- Fix enqueue action 'replace' stopping the music (by @MarvinSchenkel in #3753)
- Qobuz: fix credential leak on 401 and populate date_added (by @OzGav in #3754)
- Implement power control function for squeezelite (by @MarvinSchenkel in #3755)
- Fix manual genres disappearing after a cleanup run (by @MarvinSchenkel in #3757)
- Force imageproxy over streamserver for Airplay artwork (by @MarvinSchenkel in #3763)
- Fix tidal recommendations (by @jozefKruszynski in #3767)
- Change heartbeat of websocket and sendspin proxy socket to 25s (by @MarvinSchenkel in #3769)
- Fix 30s delay after switching tracks on Sendspin (by @maximmaxim345 in #3777)
🧰 Maintenance and dependency bumps
- Bump auntie-sounds to 1.1.8 (by @kieranhogg in #3723)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
@MarvinSchenkel, @OzGav, @fionn-r, @jozefKruszynski, @kieranhogg, @marcelveldt, @maximmaxim345
2.9.0 BETA 8
📦 Beta Release
Changes since 2.9.0b7
🚀 New Providers
- WiiM provider (by @davidanthoff in #2947)
- Add MusicMe music provider (by @JulienDeveaux in #3393)
- Add Yandex Smart Home plugin provider (by @trudenboy in #3615)
- Add NetEase Cloud Music provider (by @xiasi0 in #3640)
- Add iTunes artwork metadata provider (by @OzGav in #3740)
🚀 Features and enhancements
- Add artist artwork display for radio streams (by @OzGav in #3110)
- Add min and max volume functionality per player (by @OzGav in #3360)
- Smart crossfade: Add gradual timestretching (by @MarvinSchenkel in #3737)
- Last FM: Add one-click auth (by @duanyutong in #3739)
🐛 Bugfixes
- Adjust Spotify endpoints post deprecation notice (by @OzGav in #3303)
- Fix ffmpeg process leak in smart fades mixer on aborted playback (by @marcelveldt in #3725)
- Raise smart fades chunk timeout to 1s and log block duration (by @marcelveldt in #3728)
- Harden AirPlay STOP command delivery and add teardown logging (by @marcelveldt in #3729)
- Prevent concurrent flow-stream producers from corrupting the playlog (by @marcelveldt in #3731)
- Guard Sonos volume attribute update against uninitialized state (by @marcelveldt in #3732)
- Fix ORF Radiothek browse reverting to top level (by @OzGav in #3733)
- Preserve multi-value album type across all tag parsers (by @OzGav in #3743)
- QQ Music: persist full credential and refresh state (by @xiasi0 in #3744)
- [Soundcloud]: improving search (by @fionn-r in #3745)
- AirPlay 2 provider now supports sync (by @bradkeifer in #3750)
- Fix enqueue action 'replace' stopping the music (by @MarvinSchenkel in #3753)
- Qobuz: fix credential leak on 401 and populate date_added (by @OzGav in #3754)
- Implement power control function for squeezelite (by @MarvinSchenkel in #3755)
- Bump
aiosendspinto 5.1.1 to fix audio stuttering (by @maximmaxim345 in #3756) - Fix manual genres disappearing after a cleanup run (by @MarvinSchenkel in #3757)
- Fix Chromecast player disappearing after MA restart (by @maximmaxim345 in #3758)
- Fix HLS EXTINF metadata parsing for standard format radio streams (by @OzGav in #3759)
🎨 Frontend Changes
- Extend player bar track menu to also show for radio stations (by @dmoo500 in #1674)
- Improve performance with GPU compositing and lyrics guard (by @apophisnow in #1671)
- Fix issue "checkbox are not aligned with text when multi-selecting" (by @SimeonAT in #1500)
- Revert "Improve performance with GPU compositing and lyrics guard" (by @MarvinSchenkel in #1724)
🧰 Maintenance and dependency bumps
9 changes
- Split Apple Music provider into modular structure (by @dmoo500 in #3715)
- Bump auntie-sounds to 1.1.8 (by @kieranhogg in #3723)
- Migrate loudness analyzer to audio analysis provider (by @marcelveldt in #3727)
- Add pactl to base Docker file (by @iVolt1 in #3734)
- Add an opt-out config entry for radio artwork lookup (by @OzGav in #3741)
- Add docs link to MusicMe manifest (by @OzGav in #3742)
- Bump tomli from 2.3.0 to 2.4.1 (by @dependabot[bot] in #3749)
- ⬆️ Update music-assistant-frontend to 2.17.150 (by @music-assistant-machine in #3752)
- ⬆️ Update music-assistant-frontend to 2.17.151 (by @music-assistant-machine in #3760)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
@JulienDeveaux, @MarvinSchenkel, @OzGav, @SimeonAT, @apophisnow, @bradkeifer, @davidanthoff, @dmoo500, @duanyutong, @fionn-r, @iVolt1, @kieranhogg, @marcelveldt, @maximmaxim345, @trudenboy, @xiasi0
2.9.0 NIGHTLY 2026042115
📦 Nightly Release
Changes since 2.9.0.dev2026042114
🎨 Frontend Changes
- Revert "Improve performance with GPU compositing and lyrics guard" (by @MarvinSchenkel in #1724)
🧰 Maintenance and dependency bumps
- ⬆️ Update music-assistant-frontend to 2.17.151 (by @music-assistant-machine in #3760)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
2.9.0 NIGHTLY 2026042114
📦 Nightly Release
Changes since 2.9.0.dev2026042104
🚀 New Providers
- WiiM provider (by @davidanthoff in #2947)
🐛 Bugfixes
- AirPlay 2 provider now supports sync (by @bradkeifer in #3750)
- Fix enqueue action 'replace' stopping the music (by @MarvinSchenkel in #3753)
- Qobuz: fix credential leak on 401 and populate date_added (by @OzGav in #3754)
- Implement power control function for squeezelite (by @MarvinSchenkel in #3755)
- Bump
aiosendspinto 5.1.1 to fix audio stuttering (by @maximmaxim345 in #3756) - Fix manual genres disappearing after a cleanup run (by @MarvinSchenkel in #3757)
- Fix Chromecast player disappearing after MA restart (by @maximmaxim345 in #3758)
- Fix HLS EXTINF metadata parsing for standard format radio streams (by @OzGav in #3759)
🎨 Frontend Changes
- Extend player bar track menu to also show for radio stations (by @dmoo500 in #1674)
- Improve performance with GPU compositing and lyrics guard (by @apophisnow in #1671)
- Fix issue "checkbox are not aligned with text when multi-selecting" (by @SimeonAT in #1500)
🧰 Maintenance and dependency bumps
- Bump tomli from 2.3.0 to 2.4.1 (by @dependabot[bot] in #3749)
- ⬆️ Update music-assistant-frontend to 2.17.150 (by @music-assistant-machine in #3752)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
@MarvinSchenkel, @OzGav, @SimeonAT, @apophisnow, @bradkeifer, @davidanthoff, @dmoo500, @maximmaxim345
2.9.0 NIGHTLY 2026042104
📦 Nightly Release
Changes since 2.9.0.dev2026042005
🚀 New Providers
- Add MusicMe music provider (by @JulienDeveaux in #3393)
- Add Yandex Smart Home plugin provider (by @trudenboy in #3615)
- Add NetEase Cloud Music provider (by @xiasi0 in #3640)
- Add iTunes artwork metadata provider (by @OzGav in #3740)
🚀 Features and enhancements
- Last FM: Add one-click auth (by @duanyutong in #3739)
🐛 Bugfixes
- Fix ORF Radiothek browse reverting to top level (by @OzGav in #3733)
- Preserve multi-value album type across all tag parsers (by @OzGav in #3743)
- QQ Music: persist full credential and refresh state (by @xiasi0 in #3744)
- [Soundcloud]: improving search (by @fionn-r in #3745)
🧰 Maintenance and dependency bumps
4 changes
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
@JulienDeveaux, @OzGav, @dmoo500, @duanyutong, @fionn-r, @kieranhogg, @trudenboy, @xiasi0
2.9.0 NIGHTLY 2026042005
📦 Nightly Release
Changes since 2.9.0.dev2026041905
🚀 Features and enhancements
- Add artist artwork display for radio streams (by @OzGav in #3110)
- Add min and max volume functionality per player (by @OzGav in #3360)
- Smart crossfade: Add gradual timestretching (by @MarvinSchenkel in #3737)
🐛 Bugfixes
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
2.9.0 NIGHTLY 2026041905
📦 Nightly Release
Changes since 2.9.0.dev2026041805
🐛 Bugfixes
- Raise smart fades chunk timeout to 1s and log block duration (by @marcelveldt in #3728)
- Harden AirPlay STOP command delivery and add teardown logging (by @marcelveldt in #3729)
- Prevent concurrent flow-stream producers from corrupting the playlog (by @marcelveldt in #3731)
- Guard Sonos volume attribute update against uninitialized state (by @marcelveldt in #3732)
🧰 Maintenance and dependency bumps
- Migrate loudness analyzer to audio analysis provider (by @marcelveldt in #3727)
- Add pactl to base Docker file (by @iVolt1 in #3734)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release: