📦 Nightly Release
Changes since 2.11.0.dev2026101203
🚀 Features and enhancements
- Play AI Radio shows as Radio stations (by @MarvinSchenkel in #6372)
- Add an order setting for playing an artist (by @szsolt in #6690)
- Separate play history from media progress (by @dmoo500 in #6792)
- Album tracks sort, search and page on the server (by @marcelveldt in #6848)
- Add search support to the Nugs provider (by @jonesy827 in #6902)
- Let the AI DJ talk over the intro on Sonos and other gapless players (by @marcelveldt in #6924)
- Send Home Assistant text-to-speech engines a language they support (by @marcelveldt in #6925)
- Pause the AI DJ when its speech engine keeps failing (by @marcelveldt in #6927)
- Apply the different-sample-rates crossfade option to the AI DJ's talk-over (by @marcelveldt in #6933)
🐛 Bugfixes
- Release the queue when another app casts to a Chromecast via the Default Media Receiver (by @MarvinSchenkel in #6528)
- Fix DLNA player showing up twice when the device advertises a relative presentation URL (by @MarvinSchenkel in #6597)
- Fix Spotify playlists missing from large libraries (by @MarvinSchenkel in #6613)
- Only accept http(s) URLs and data URIs as builtin item artwork (by @MarvinSchenkel in #6780)
- Establish default behaviour when playing an artist not in library (by @OzGav in #6795)
- Show the podcast name as the artist for podcast episodes (by @OzGav in #6838)
- Stop Apple Music from sending item names to the API as ids (by @Bazooper-blip in #6844)
- Allow slashes and dots in playlist names (by @OzGav in #6885)
- Match play_media sort_by to the frontend's track sort (by @OzGav in #6906)
- Keep downloaded models in the Music Assistant cache dir (by @MarvinSchenkel in #6910)
- Show the custom Plex poster of a playlist instead of the generated grid (by @MarvinSchenkel in #6911)
- Report expired YouTube Music cookies instead of missing Premium (by @MarvinSchenkel in #6915)
- Fix the server running out of memory on large album covers (by @marcelveldt in #6919)
- Serve original-size JPEG artwork without re-encoding it (by @marcelveldt in #6920)
- Fix Sendspin players with DSP joining a group out of sync (by @maximmaxim345 in #6921)
- Fix Patreon podcast feeds blocked by a Cloudflare challenge (by @OzGav in #6922)
- Bump
aiosendspinto 10.0.1 to fix audio gaps and sync drift (by @maximmaxim345 in #6923) - Fix a track's source being opened for a request the player already gave up on (by @marcelveldt in #6926)
- Fix updated ESPHome Sendspin speakers reappearing as new players (by @maximmaxim345 in #6928)
- Fix a Spotify track stalling the queue when Soloist's sign-in fails (by @marcelveldt in #6930)
🎨 Frontend Changes
- Add seek back and forward buttons for audiobooks and podcasts (by @OzGav in #2901)
- Play AI Radio shows as radio stations (by @MarvinSchenkel in #2690)
- Show playlist and album length as hours and minutes (by @stvncode in #2966)
- Add a search box to the Add to playlist dialog (by @OzGav in #2902)
- Add server-driven library sorting (by @dmoo500 in #2928)
- Redesign the playlist page (by @stvncode in #2962)
- Reorder and hide the podcast page rows (by @stvncode in #2964)
- Line up list headers with their rows (by @stvncode in #2965)
- Open settings from the audio pipeline popover (by @OzGav in #2959)
- Keep DSP preset badge when toggling DSP on/off (by @OzGav in #2899)
- Play albums and playlists in the order their page shows (by @OzGav in #2961)
- Stop listings from retrying a failed load as fast as it fails (by @Bazooper-blip in #2953)
- Bump @types/node from 26.2.0 to 26.6.4 (by @dependabot[bot] in #2913)
- Add 'sk_SK' to VAR_LANGUAGES in workflow (by @OzGav in #2960)
- Document Tailwind-first styling (by @stvncode in #2963)
🧰 Maintenance and dependency bumps
13 changes
- Keep Local files tag, artwork and folder reads inside the source folder (by @marcelveldt in #6881)
- Keep Local files playback inside the source folder (by @marcelveldt in #6884)
- Bump aioaudiobookshelf to 0.2.0 (by @fmunkes in #6888)
- Bump getmac from 0.9.5 to 0.9.6 (by @dependabot[bot] in #6896)
- Bump pycryptodome from 3.23.0 to 3.24.0 (by @dependabot[bot] in #6897)
- Bump yoto-api from 4.5.0 to 4.5.1 (by @dependabot[bot] in #6898)
- Turn on the last two non-strict type checker settings (by @marcelveldt in #6909)
- Update airplay-cli to v0.5.6 (by @musicassistant-bot[bot] in #6913)
- Turn on the lint check for raising inside a try block (by @marcelveldt in #6914)
- Use one shared PKCE helper for all sign-in flows (by @marcelveldt in #6916)
- Update FastMCP Server provider to v2.2.2 (by @trudenboy in #6917)
- Fix a child process not being stopped while its output is still being read (by @marcelveldt in #6931)
- Name the speech engine that actually failed in the AI DJ pause warning (by @marcelveldt in #6936)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
@Bazooper-blip, @MarvinSchenkel, @OzGav, @dmoo500, @fmunkes, @jonesy827, @marcelveldt, @maximmaxim345, @stvncode, @szsolt, @trudenboy, @types