Releases: music-assistant/server
Release list
2.10.0 RC 7
📦 RC Release
Changes since 2.10.0rc6
⚠ Breaking Changes
- Retire the local audio provider in favor of the Sendspin add-on (by @chrisuthe in #5965)
🚀 Features and enhancements
- Show fuller descriptions for BBC Sounds podcasts and shows (by @OzGav in #5924)
- Add per player HEOS playback transition configuration (by @Tommatheussen in #5978)
- Shuffle and repeat now work on a source your speaker runs itself (by @marcelveldt in #5993)
- Use album loudness only for albums you actually played (by @marcelveldt in #5994)
- Faster seeking on Spotify tracks played through Soloist (by @marcelveldt in #6000)
- Keep the home page in step when played state changes (by @OzGav in #6005)
🐛 Bugfixes
- 'Play next' now really plays the chosen track next on a dynamic queue (by @MarvinSchenkel in #5950)
- Use album loudness only when tracks really play as part of an album (by @marcelveldt in #5981)
- Notice when Spotify playback loses its pairing (by @marcelveldt in #5987)
- Seeking or resuming a Spotify track no longer cuts it off mid-song (by @marcelveldt in #5992)
- Add dark theme icon for MilkDrop Visualizer (by @jozefKruszynski in #6007)
🎨 Frontend Changes
- Continue setup as soon as you pick an option (by @maximmaxim345 in #2643)
- Shuffle and repeat no longer apply to something that stopped playing (by @marcelveldt in #2650)
- Show shuffle and repeat failures again, except the expected one (by @marcelveldt in #2652)
- Document how the shuffle and repeat controls pick the source they act on (by @marcelveldt in #2651)
- Surface retired providers correctly in the settings UI (by @chrisuthe in #2644)
- Show the full menu on discover page items (by @OzGav in #2624)
- Translate the provider stage badge (by @chrisuthe in #2629)
- Fix permission popups on cast dashboards (by @MarvinSchenkel in #2655)
- Replace butterchurn with maintained fork (by @jozefKruszynski in #2654)
- Lokalise translations update (by @github-actions[bot] in #2630)
🧰 Maintenance and dependency bumps
23 changes
- Count an album as played once, however its tracks are ordered in the queue (by @marcelveldt in #5991)
- Keep the position shown for a live source in step with the player (by @marcelveldt in #5995)
- Document which Spotify Soloist pairing failures are detected (by @marcelveldt in #5996)
- Show the right bit-perfect badge when two speakers share one live source (by @marcelveldt in #5997)
- Log how long a stream takes to deliver its first audio (by @marcelveldt in #5998)
- Report a slow player stop after pausing Spotify Connect (by @marcelveldt in #5999)
- Spread beat analysis over shorter steps so it stays out of playback's way (by @marcelveldt in #6001)
- Cleanup and small tweaks to the Spotify provider (by @marcelveldt in #6002)
- ⬆️ Update music-assistant-models to 1.1.200 (by @musicassistant-bot[bot] in #6003)
- ⬆️ Update music-assistant-frontend to 2.17.291 (by @musicassistant-bot[bot] in #6004)
- Stop leaving a subprocess running when closing it is cancelled (by @marcelveldt in #6006)
- Make the Smart Fades unloaded-model guards actually work (by @marcelveldt in #6008)
- ⬆️ Update music-assistant-models to 1.1.201 (by @musicassistant-bot[bot] in #6009)
- Let a cancelled virtual player creation finish cleaning up (by @marcelveldt in #6010)
- ⬆️ Update music-assistant-models to 1.1.202 (by @musicassistant-bot[bot] in #6011)
- Keep analysis models loaded while a track is still being analysed (by @marcelveldt in #6012)
- Keep the Smart Fades models as a single set (by @marcelveldt in #6013)
- Keep Spotify playing without a gap when a track repeats or the queue changes (by @marcelveldt in #6014)
- Stop logging an ordinary Spotify seek as a failure (by @marcelveldt in #6015)
- Don't stall cleaning up a virtual player that was already removed (by @marcelveldt in #6016)
- Free a cut Spotify channel's buffer as soon as nothing is reading it (by @marcelveldt in #6017)
- Add tests for where Spotify Soloist splits one track from the next (by @marcelveldt in #6018)
- ⬆️ Update music-assistant-frontend to 2.17.292 (by @musicassistant-bot[bot] in #6020)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
@MarvinSchenkel, @OzGav, @Tommatheussen, @chrisuthe, @jozefKruszynski, @marcelveldt, @maximmaxim345
2.10.0 NIGHTLY 2026082618
📦 Nightly Release
Changes since 2.10.0.dev2026082603
⚠ Breaking Changes
- Retire the local audio provider in favor of the Sendspin add-on (by @chrisuthe in #5965)
🚀 Features and enhancements
- Show fuller descriptions for BBC Sounds podcasts and shows (by @OzGav in #5924)
- Improve local album and artist folder matching (by @marcelveldt in #5939)
- Add per player HEOS playback transition configuration (by @Tommatheussen in #5978)
- Faster seeking on Spotify tracks played through Soloist (by @marcelveldt in #6000)
- Keep the home page in step when played state changes (by @OzGav in #6005)
- Add an icon for the
sendspin_sourceprovider (by @maximmaxim345 in #6023) - Show pairing codes as dedicated input boxes (by @marcelveldt in #6028)
- Remove the retired local audio provider on installs that never played through it (by @chrisuthe in #6029)
- Give the server a configurable name and external URL (by @marcelveldt in #6031)
- Approve new Sendspin devices with a single click (by @maximmaxim345 in #6035)
🐛 Bugfixes
- 'Play next' now really plays the chosen track next on a dynamic queue (by @MarvinSchenkel in #5950)
- Add dark theme icon for MilkDrop Visualizer (by @jozefKruszynski in #6007)
- Spotify Connect no longer disappears when a different account connects (by @marcelveldt in #6019)
- Selecting a source no longer takes five seconds to start playing (by @marcelveldt in #6021)
- Cancel in-flight finalizes before freeing analysis models (by @chrisuthe in #6024)
- Retry Sonic Analysis when a track loses its CLAP windows (by @chrisuthe in #6034)
🎨 Frontend Changes
- Surface retired providers correctly in the settings UI (by @chrisuthe in #2644)
- Show the full menu on discover page items (by @OzGav in #2624)
- Translate the provider stage badge (by @chrisuthe in #2629)
- Fix permission popups on cast dashboards (by @MarvinSchenkel in #2655)
- Replace butterchurn with maintained fork (by @jozefKruszynski in #2654)
- Lokalise translations update (by @github-actions[bot] in #2630)
- Show pairing codes as dedicated input boxes (by @marcelveldt in #2657)
- No more STABLE badge when adding a provider (by @marcelveldt in #2656)
- Show server name, addresses and remote access on the About page (by @marcelveldt in #2658)
- Show audio inputs and devices that need setup (by @maximmaxim345 in #2659)
🧰 Maintenance and dependency bumps
25 changes
- Spread beat analysis over shorter steps so it stays out of playback's way (by @marcelveldt in #6001)
- Cleanup and small tweaks to the Spotify provider (by @marcelveldt in #6002)
- Stop leaving a subprocess running when closing it is cancelled (by @marcelveldt in #6006)
- Make the Smart Fades unloaded-model guards actually work (by @marcelveldt in #6008)
- ⬆️ Update music-assistant-models to 1.1.201 (by @musicassistant-bot[bot] in #6009)
- Let a cancelled virtual player creation finish cleaning up (by @marcelveldt in #6010)
- ⬆️ Update music-assistant-models to 1.1.202 (by @musicassistant-bot[bot] in #6011)
- Keep analysis models loaded while a track is still being analysed (by @marcelveldt in #6012)
- Keep the Smart Fades models as a single set (by @marcelveldt in #6013)
- Keep Spotify playing without a gap when a track repeats or the queue changes (by @marcelveldt in #6014)
- Stop logging an ordinary Spotify seek as a failure (by @marcelveldt in #6015)
- Don't stall cleaning up a virtual player that was already removed (by @marcelveldt in #6016)
- Free a cut Spotify channel's buffer as soon as nothing is reading it (by @marcelveldt in #6017)
- Add tests for where Spotify Soloist splits one track from the next (by @marcelveldt in #6018)
- ⬆️ Update music-assistant-frontend to 2.17.292 (by @musicassistant-bot[bot] in #6020)
- Hide the Sendspin legacy clients option (by @maximmaxim345 in #6025)
- Set up Spotify Connect and AirPlay Receiver once and pick the players they serve (by @marcelveldt in #6026)
- ⬆️ Update music-assistant-models to 1.1.203 (by @musicassistant-bot[bot] in #6027)
- Use the new Sendspin mark for the provider icon (by @MarvinSchenkel in #6030)
- ⬆️ Update music-assistant-frontend to 2.17.293 (by @musicassistant-bot[bot] in #6032)
- Pairing texts now say 'pairing code' instead of 'PIN' (by @marcelveldt in #6033)
- ⬆️ Update music-assistant-models to 1.1.204 (by @musicassistant-bot[bot] in #6036)
- Update base image versions to 1.6.3 (by @marcelveldt in #6037)
- Clean up snapcast mdns records when the provider unloads (by @marcelveldt in #6038)
- ⬆️ Update music-assistant-frontend to 2.17.294 (by @musicassistant-bot[bot] in #6039)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
@MarvinSchenkel, @OzGav, @Tommatheussen, @chrisuthe, @jozefKruszynski, @marcelveldt, @maximmaxim345
2.10.0 NIGHTLY 2026082603
📦 Nightly Release
Changes since 2.10.0.dev2026082516
🚀 Features and enhancements
- Hide Sendspin token pairing method when PIN/code pairing is available (by @maximmaxim345 in #5975)
- Shuffle and repeat now work on a source your speaker runs itself (by @marcelveldt in #5993)
- Use album loudness only for albums you actually played (by @marcelveldt in #5994)
🐛 Bugfixes
- Use album loudness only when tracks really play as part of an album (by @marcelveldt in #5981)
- Notice when Spotify playback loses its pairing (by @marcelveldt in #5987)
- Seeking or resuming a Spotify track no longer cuts it off mid-song (by @marcelveldt in #5992)
🎨 Frontend Changes
- Select a player once its setup/pairing flow finishes (by @maximmaxim345 in #2642)
- Remember the artist page view mode across all artists (by @MarvinSchenkel in #2641)
- Bump @lucide/vue from 1.31.0 to 1.33.0 (by @dependabot[bot] in #2632)
- Bump happy-dom from 20.11.1 to 20.11.6 (by @dependabot[bot] in #2640)
- Continue setup as soon as you pick an option (by @maximmaxim345 in #2643)
- Shuffle and repeat no longer apply to something that stopped playing (by @marcelveldt in #2650)
- Show shuffle and repeat failures again, except the expected one (by @marcelveldt in #2652)
- Document how the shuffle and repeat controls pick the source they act on (by @marcelveldt in #2651)
🧰 Maintenance and dependency bumps
10 changes
- Bump
aiosendspinto 9.1.1 (by @maximmaxim345 in #5985) - ⬆️ Update music-assistant-frontend to 2.17.290 (by @musicassistant-bot[bot] in #5988)
- Count an album as played once, however its tracks are ordered in the queue (by @marcelveldt in #5991)
- Keep the position shown for a live source in step with the player (by @marcelveldt in #5995)
- Document which Spotify Soloist pairing failures are detected (by @marcelveldt in #5996)
- Show the right bit-perfect badge when two speakers share one live source (by @marcelveldt in #5997)
- Log how long a stream takes to deliver its first audio (by @marcelveldt in #5998)
- Report a slow player stop after pausing Spotify Connect (by @marcelveldt in #5999)
- ⬆️ Update music-assistant-models to 1.1.200 (by @musicassistant-bot[bot] in #6003)
- ⬆️ Update music-assistant-frontend to 2.17.291 (by @musicassistant-bot[bot] in #6004)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
2.10.0 RC 6
📦 RC Release
Changes since 2.10.0rc5
🚀 Features and enhancements
- Let Music Assistant mix crossfades for Spotify and other realtime sources (by @marcelveldt in #5960)
- Show audio quality for external sources (by @marcelveldt in #5963)
- Support next/previous controls on Google Cast devices (by @MarvinSchenkel in #5970)
- Hide Sendspin token pairing method when PIN/code pairing is available (by @maximmaxim345 in #5975)
- Show bit-perfect playback for external sources (by @marcelveldt in #5983)
🐛 Bugfixes
- Fix Flow Mode sample rate setting being locked for players with enforced flow mode (by @vintvinst in #5955)
- Fix slow player response after pausing an external source (by @marcelveldt in #5961)
- Announcements use the speaker's own announcement feature first (by @marcelveldt in #5974)
- Fix mid-track silence on AirPlay receivers that need an explicit progress anchor (by @MarvinSchenkel in #5976)
- Fix announcement volume and mute handling on AirPlay speakers (by @marcelveldt in #5977)
🎨 Frontend Changes
- Safer browser media controls (by @marcelveldt in #2626)
- Make crossfade details consistent (by @marcelveldt in #2627)
- Keep the Discover page in place when navigating back (by @MarvinSchenkel in #2625)
- Show audio quality for external sources (by @marcelveldt in #2628)
- Select a player once its setup/pairing flow finishes (by @maximmaxim345 in #2642)
- Remember the artist page view mode across all artists (by @MarvinSchenkel in #2641)
- Bump @lucide/vue from 1.31.0 to 1.33.0 (by @dependabot[bot] in #2632)
- Bump happy-dom from 20.11.1 to 20.11.6 (by @dependabot[bot] in #2640)
Other Changes
- Lokalise translations update (by @github-actions[bot] in #5966)
🧰 Maintenance and dependency bumps
14 changes
- Fix Spotify Connect quality reporting and a leftover audio process (by @marcelveldt in #5954)
- Make publish IP tests reliable (by @marcelveldt in #5958)
- ⬆️ Update music-assistant-models to 1.1.199 (by @musicassistant-bot[bot] in #5962)
- ⬆️ Update music-assistant-frontend to 2.17.288 (by @musicassistant-bot[bot] in #5964)
- Fix flaky AirPlay announcement timing tests (by @marcelveldt in #5967)
- Bump hass-client to 1.3.1 (by @MarvinSchenkel in #5969)
- Speed up the slowest AirPlay announcement test (by @marcelveldt in #5971)
- Let audio analysis notice players that are not served over HTTP (by @marcelveldt in #5972)
- Keep tracks of the same album gapless when crossfade is on (by @marcelveldt in #5973)
- Tidy up process cleanup code (by @marcelveldt in #5980)
- ⬆️ Update music-assistant-frontend to 2.17.289 (by @musicassistant-bot[bot] in #5982)
- Count album plays started from a streaming service's own listings (by @marcelveldt in #5984)
- Bump
aiosendspinto 9.1.1 (by @maximmaxim345 in #5985) - ⬆️ Update music-assistant-frontend to 2.17.290 (by @musicassistant-bot[bot] in #5988)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
@MarvinSchenkel, @Lucide, @marcelveldt, @maximmaxim345, @vintvinst
2.10.0 NIGHTLY 2026082516
📦 Nightly Release
Changes since 2.10.0.dev2026082503
🚀 Features and enhancements
- Show audio quality for external sources (by @marcelveldt in #5963)
- Support next/previous controls on Google Cast devices (by @MarvinSchenkel in #5970)
- Show bit-perfect playback for external sources (by @marcelveldt in #5983)
🐛 Bugfixes
- Fix slow player response after pausing an external source (by @marcelveldt in #5961)
- Announcements use the speaker's own announcement feature first (by @marcelveldt in #5974)
- Fix mid-track silence on AirPlay receivers that need an explicit progress anchor (by @MarvinSchenkel in #5976)
- Fix announcement volume and mute handling on AirPlay speakers (by @marcelveldt in #5977)
🎨 Frontend Changes
- Show audio quality for external sources (by @marcelveldt in #2628)
Other Changes
- Lokalise translations update (by @github-actions[bot] in #5966)
🧰 Maintenance and dependency bumps
8 changes
- Fix flaky AirPlay announcement timing tests (by @marcelveldt in #5967)
- Bump hass-client to 1.3.1 (by @MarvinSchenkel in #5969)
- Speed up the slowest AirPlay announcement test (by @marcelveldt in #5971)
- Let audio analysis notice players that are not served over HTTP (by @marcelveldt in #5972)
- Keep tracks of the same album gapless when crossfade is on (by @marcelveldt in #5973)
- Tidy up process cleanup code (by @marcelveldt in #5980)
- ⬆️ Update music-assistant-frontend to 2.17.289 (by @musicassistant-bot[bot] in #5982)
- Count album plays started from a streaming service's own listings (by @marcelveldt in #5984)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
2.10.0 NIGHTLY 2026082503
📦 Nightly Release
Changes since 2.10.0.dev2026082414
🚀 Features and enhancements
- Let Music Assistant mix crossfades for Spotify and other realtime sources (by @marcelveldt in #5960)
🐛 Bugfixes
- Fix Flow Mode sample rate setting being locked for players with enforced flow mode (by @vintvinst in #5955)
🎨 Frontend Changes
- Safer browser media controls (by @marcelveldt in #2626)
- Make crossfade details consistent (by @marcelveldt in #2627)
- Keep the Discover page in place when navigating back (by @MarvinSchenkel in #2625)
🧰 Maintenance and dependency bumps
4 changes
- Fix Spotify Connect quality reporting and a leftover audio process (by @marcelveldt in #5954)
- Make publish IP tests reliable (by @marcelveldt in #5958)
- ⬆️ Update music-assistant-models to 1.1.199 (by @musicassistant-bot[bot] in #5962)
- ⬆️ Update music-assistant-frontend to 2.17.288 (by @musicassistant-bot[bot] in #5964)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
2.10.0 RC 5
📦 RC Release
Changes since 2.10.0rc4
🚀 Features and enhancements
- Allow lower add to queue token limits and slower refill rates in Party plugin (by @Bulgus in #5904)
- Refuse Spotify accounts that cannot work during setup (by @marcelveldt in #5911)
- Keep your queue when an external source starts playing (by @marcelveldt in #5914)
- Play Spotify through Spotify's own playback engine (by @marcelveldt in #5918)
- Add task reports (by @marcelveldt in #5925)
🐛 Bugfixes
- Mark players unavailable on controller disconnection for HEOS (by @MarvinSchenkel in #4068)
- Fix white noise when playing DTS 5.1 audio packed inside WAV (by @vintvinst in #5803)
- Fix the flow-mode 'next' command item for Cast children of Universal Players (by @OzGav in #5836)
- Keep line breaks in metadata out of builtin M3U playlist files (by @OzGav in #5837)
- Fixes an issue where tracks from Niconico Provider cannot be played (by @Shi-553 in #5842)
- Include genre_aliases in genre summary listings (by @jozefKruszynski in #5858)
- Fix Audible podcast sync skipping Periodical series (by @OzGav in #5907)
- Dissolve sync group when a playback start never materializes (by @OzGav in #5908)
- Fix Audible querying the old marketplace after a locale change (by @OzGav in #5909)
- Keep the Spotify session alive when it moves to another player (by @marcelveldt in #5910)
- Improve Audible sign-in setup (by @marcelveldt in #5915)
- Don't parse playlist items already in the database (by @OzGav in #5916)
- Add Symfonisk Table Lamp to Non-Hi Res models (by @OzGav in #5917)
- Fix missing played status on podcast episode details page (by @OzGav in #5927)
- Fix podcast episodes showing in the wrong order (by @OzGav in #5929)
- Fix AirPlay players stuck 'playing' from a stale snapshot (by @teancom in #5938)
- AI DJ no longer announces the wrong day of the week (by @MarvinSchenkel in #5947)
- Smart fades no longer discards every plan on tracks with a mastered fade-out (by @MarvinSchenkel in #5949)
- Fix Spotify Connect playback not starting (by @marcelveldt in #5957)
🎨 Frontend Changes
- Enter in mobile search hides the keyboard instead of opening the first result (by @stvncode in #2607)
- Fill the MilkDrop droplet icon while the visualizer is enabled (by @jozefKruszynski in #2605)
- Make the queue read-only while an external session manages it (by @marcelveldt in #2604)
- Show provider logos in the Browse list (by @OzGav in #2574)
- Line up the collapsed sidebar icons in one straight column (by @stvncode in #2608)
- Keep the app initialization tests independent of their order (by @marcelveldt in #2298)
- Show task reports (by @marcelveldt in #2613)
- Make server log viewer text selectable and copyable (by @teancom in #2564)
- Better styling for the now playing source badge (by @marcelveldt in #2609)
- Remove the read-only queue for external sessions (by @marcelveldt in #2611)
- Improve on collection thumbnails (by @fmunkes in #2579)
- Show when a music service handles loudness and crossfade itself (by @marcelveldt in #2621)
- Fix external source badges (by @marcelveldt in #2622)
- Fix alias count in the genre management table (by @jozefKruszynski in #2583)
- Fix shuffle and repeat while an external source is playing (by @marcelveldt in #2612)
- Rename the external source composable (by @marcelveldt in #2616)
- Swiping back no longer shows the previous page twice (by @stvncode in #2606)
- Show podcast episodes newest first (by @OzGav in #2620)
- Stop reporting a format conversion Music Assistant did not make (by @marcelveldt in #2623)
🧰 Maintenance and dependency bumps
24 changes
- Make next/previous/seek on live audio sources work the same from every API (by @marcelveldt in #5901)
- ⬆️ Update music-assistant-frontend to 2.17.284 (by @musicassistant-bot[bot] in #5906)
- Show episode descriptions for Audiobookshelf and Plex podcasts (by @OzGav in #5912)
- Track a live external audio source on the player (by @marcelveldt in #5913)
- ⬆️ Update music-assistant-models to 1.1.196 (by @musicassistant-bot[bot] in #5920)
- ⬆️ Update music-assistant-frontend to 2.17.285 (by @musicassistant-bot[bot] in #5921)
- Keep the full details of Spotify episodes when fetched (by @OzGav in #5923)
- Bump pytest-aiohttp from 1.1.0 to 1.1.1 (by @dependabot[bot] in #5932)
- Bump fastmcp from 3.4.4 to 3.4.7 (by @dependabot[bot] in #5933)
- Bump pytest from 9.0.3 to 9.1.1 (by @dependabot[bot] in #5934)
- Drop the audio format comparison workaround (by @marcelveldt in #5936)
- Show when a music service handles loudness and crossfade itself (by @marcelveldt in #5937)
- Skipping a Spotify track no longer starts with a moment of the previous one (by @marcelveldt in #5940)
- Report what a music service did to the audio per queue and per track boundary (by @marcelveldt in #5941)
- Report the audio quality Spotify serves, not a conversion Music Assistant did not make (by @marcelveldt in #5942)
- Stop fighting the Spotify app over a Soloist playback session (by @marcelveldt in #5943)
- Prevent stale live source releases (by @marcelveldt in #5944)
- ⬆️ Update music-assistant-models to 1.1.198 (by @musicassistant-bot[bot] in #5945)
- ⬆️ Update music-assistant-frontend to 2.17.286 (by @musicassistant-bot[bot] in #5946)
- Fix a missing import in the Audible setup flow (by @MarvinSchenkel in #5948)
- Simplify Spotify Connect setup (by @marcelveldt in #5951)
- Apply compact backend choice pattern to Spotify music provider (by @marcelveldt in #5952)
- Bump wiim from 0.1.5 to 0.1.7 (by @MarvinSchenkel in #5953)
- ⬆️ Update music-assistant-frontend to 2.17.287 (by @musicassistant-bot[bot] in #5956)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
@Bulgus, @MarvinSchenkel, @OzGav, @Shi-553, @fmunkes, @jozefKruszynski, @marcelveldt, @stvncode, @teancom, @vintvinst
2.10.0 NIGHTLY 2026082414
📦 Nightly Release
Changes since 2.10.0.dev2026082403
🐛 Bugfixes
- Mark players unavailable on controller disconnection for HEOS (by @MarvinSchenkel in #4068)
- Fix Audible podcast sync skipping Periodical series (by @OzGav in #5907)
- Dissolve sync group when a playback start never materializes (by @OzGav in #5908)
- Fix Audible querying the old marketplace after a locale change (by @OzGav in #5909)
- Fix missing played status on podcast episode details page (by @OzGav in #5927)
- Fix podcast episodes showing in the wrong order (by @OzGav in #5929)
- AI DJ no longer announces the wrong day of the week (by @MarvinSchenkel in #5947)
- Smart fades no longer discards every plan on tracks with a mastered fade-out (by @MarvinSchenkel in #5949)
🎨 Frontend Changes
- Swiping back no longer shows the previous page twice (by @stvncode in #2606)
- Show podcast episodes newest first (by @OzGav in #2620)
- Stop reporting a format conversion Music Assistant did not make (by @marcelveldt in #2623)
🧰 Maintenance and dependency bumps
12 changes
- Keep the full details of Spotify episodes when fetched (by @OzGav in #5923)
- Bump pytest-aiohttp from 1.1.0 to 1.1.1 (by @dependabot[bot] in #5932)
- Bump fastmcp from 3.4.4 to 3.4.7 (by @dependabot[bot] in #5933)
- Bump pytest from 9.0.3 to 9.1.1 (by @dependabot[bot] in #5934)
- Report what a music service did to the audio per queue and per track boundary (by @marcelveldt in #5941)
- Report the audio quality Spotify serves, not a conversion Music Assistant did not make (by @marcelveldt in #5942)
- Prevent stale live source releases (by @marcelveldt in #5944)
- Fix a missing import in the Audible setup flow (by @MarvinSchenkel in #5948)
- Simplify Spotify Connect setup (by @marcelveldt in #5951)
- Apply compact backend choice pattern to Spotify music provider (by @marcelveldt in #5952)
- Bump wiim from 0.1.5 to 0.1.7 (by @MarvinSchenkel in #5953)
- ⬆️ Update music-assistant-frontend to 2.17.287 (by @musicassistant-bot[bot] in #5956)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
2.10.0 NIGHTLY 2026082403
📦 Nightly Release
Changes since 2.10.0.dev2026082303
🚀 Features and enhancements
- Keep your queue when an external source starts playing (by @marcelveldt in #5914)
- Play Spotify through Spotify's own playback engine (by @marcelveldt in #5918)
- Add task reports (by @marcelveldt in #5925)
- Show when a music service handles loudness and crossfade itself (by @marcelveldt in #5937)
- Stop fighting the Spotify app over a Soloist playback session (by @marcelveldt in #5943)
🐛 Bugfixes
- Keep line breaks in metadata out of builtin M3U playlist files (by @OzGav in #5837)
- Include genre_aliases in genre summary listings (by @jozefKruszynski in #5858)
- Fix AirPlay players stuck 'playing' from a stale snapshot (by @teancom in #5938)
🎨 Frontend Changes
- Show when a music service handles loudness and crossfade itself (by @marcelveldt in #2621)
- Fix external source badges (by @marcelveldt in #2622)
- Fix alias count in the genre management table (by @jozefKruszynski in #2583)
- Fix shuffle and repeat while an external source is playing (by @marcelveldt in #2612)
- Rename the external source composable (by @marcelveldt in #2616)
🧰 Maintenance and dependency bumps
5 changes
- ⬆️ Update music-assistant-models to 1.1.196 (by @musicassistant-bot[bot] in #5920)
- Drop the audio format comparison workaround (by @marcelveldt in #5936)
- Skipping a Spotify track no longer starts with a moment of the previous one (by @marcelveldt in #5940)
- ⬆️ Update music-assistant-models to 1.1.198 (by @musicassistant-bot[bot] in #5945)
- ⬆️ Update music-assistant-frontend to 2.17.286 (by @musicassistant-bot[bot] in #5946)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
2.10.0 NIGHTLY 2026082303
📦 Nightly Release
Changes since 2.10.0.dev2026082203
🚀 Features and enhancements
- Allow lower add to queue token limits and slower refill rates in Party plugin (by @Bulgus in #5904)
- Refuse Spotify accounts that cannot work during setup (by @marcelveldt in #5911)
🐛 Bugfixes
- Fix white noise when playing DTS 5.1 audio packed inside WAV (by @vintvinst in #5803)
- Fix the flow-mode 'next' command item for Cast children of Universal Players (by @OzGav in #5836)
- Fixes an issue where tracks from Niconico Provider cannot be played (by @Shi-553 in #5842)
- Keep the Spotify session alive when it moves to another player (by @marcelveldt in #5910)
- Improve Audible sign-in setup (by @marcelveldt in #5915)
- Don't parse playlist items already in the database (by @OzGav in #5916)
- Add Symfonisk Table Lamp to Non-Hi Res models (by @OzGav in #5917)
🎨 Frontend Changes
- Show task reports (by @marcelveldt in #2613)
- Make server log viewer text selectable and copyable (by @teancom in #2564)
- Better styling for the now playing source badge (by @marcelveldt in #2609)
- Remove the read-only queue for external sessions (by @marcelveldt in #2611)
- Improve on collection thumbnails (by @fmunkes in #2579)
🧰 Maintenance and dependency bumps
- Show episode descriptions for Audiobookshelf and Plex podcasts (by @OzGav in #5912)
- Track a live external audio source on the player (by @marcelveldt in #5913)
- ⬆️ Update music-assistant-frontend to 2.17.285 (by @musicassistant-bot[bot] in #5921)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
@Bulgus, @OzGav, @Shi-553, @fmunkes, @marcelveldt, @teancom, @vintvinst