📦 Nightly Release
Changes since 2.10.0.dev2026081903
🚀 Features and enhancements
- Add crossfade and loudness normalization settings to Spotify Connect (by @marcelveldt in #5833)
- Send track color over the MilkDrop visualizer relay (by @jozefKruszynski in #5839)
🐛 Bugfixes
- Fix AI Radio weather segments announcing wrong or invented weather (by @MarvinSchenkel in #5838)
- Fix AI Radio DJs reporting weather in Celcius when the country uses Fahrenheit (by @MarvinSchenkel in #5841)
🎨 Frontend Changes
- Add audiobook and podcast chapter-based progress (by @teancom in #2548)
- Polish the styling of the Music Quiz a bit (by @stvncode in #2563)
- Wind the MilkDrop visualizer down when playback pauses (by @jozefKruszynski in #2560)
- Replace clashing visualizer menu icons and lower default opacity (by @jozefKruszynski in #2561)
- Add provider filter to Discover recommendation rows (by @bferd in #2324)
- Highlight active audiobook chapters (by @teancom in #2542)
- Remove unsued libraries (by @stvncode in #2562)
- Bump replace-in-file from 8.4.0 to 9.0.0 (by @dependabot[bot] in #2559)
- Lokalise translations update (by @github-actions[bot] in #2549)
- Bump @internationalized/date from 3.12.2 to 3.12.3 (by @dependabot[bot] in #2553)
- Bump @types/node from 26.1.1 to 26.2.0 (by @dependabot[bot] in #2556)
- Bump @vitejs/plugin-vue from 6.0.7 to 6.0.8 (by @dependabot[bot] in #2555)
- Bump vue-router from 5.1.0 to 5.2.0 (by @dependabot[bot] in #2554)
- Bump @tabler/icons-vue from 3.45.0 to 3.46.0 (by @dependabot[bot] in #2551)
- Bump @lucide/vue from 1.26.0 to 1.31.0 (by @dependabot[bot] in #2550)
- Bump jsdom from 29.1.1 to 30.0.1 (by @dependabot[bot] in #2557)
- Bump @intlify/unplugin-vue-i18n from 11.2.4 to 11.2.5 (by @dependabot[bot] in #2558)
- Show which source is playing in the player (by @marcelveldt in #2567)
- Use same sheet for search as the other one on mobile (by @stvncode in #2576)
- Swipe left on subpages comeback to the previous page (by @stvncode in #2571)
🧰 Maintenance and dependency bumps
22 changes
- Harden the stream server session handling (by @marcelveldt in #5819)
- Hand out preview clips through a short-lived url (by @marcelveldt in #5821)
- Write down what Music Assistant is and is not for (by @marcelveldt in #5822)
- Hand a single track to a player at a listening pace (by @marcelveldt in #5823)
- Cover the universal player handover with a regression test (by @marcelveldt in #5824)
- ⬆️ Update music-assistant-models to 1.1.191 (by @musicassistant-bot[bot] in #5826)
- ⬆️ Update music-assistant-frontend to 2.17.279 (by @musicassistant-bot[bot] in #5827)
- Refresh stale dependency bump PRs after every dev push (by @MarvinSchenkel in #5828)
- Test single titles the same way as EP titles (by @marcelveldt in #5829)
- ⬆️ Update music-assistant-models to 1.1.192 (by @musicassistant-bot[bot] in #5830)
- Mark players that are private to one device (by @marcelveldt in #5831)
- Fix the Docker base image build (pipewire vs pulseaudio conflict) (by @marcelveldt in #5834)
- Keep a duplicate merge repairable when it is cut short (by @marcelveldt in #5840)
- Update base image to 1.6.2 (go-librespot 0.9.0) (by @marcelveldt in #5843)
- Document the pipewire-alsa workaround in the base image (by @marcelveldt in #5844)
- Never leave a library track without an artist (by @marcelveldt in #5845)
- Repair library tracks that are missing their artist (by @marcelveldt in #5846)
- Keep a duplicate stream request from confusing the queue's progress (by @marcelveldt in #5847)
- Never leave a library album without its artists (by @marcelveldt in #5850)
- ⬆️ Update music-assistant-models to 1.1.193 (by @musicassistant-bot[bot] in #5851)
- Make future changes to the album title suffix list safer (by @marcelveldt in #5854)
- ⬆️ Update music-assistant-frontend to 2.17.280 (by @musicassistant-bot[bot] in #5856)
🙇 Thanks to our contributors
Special thanks to the following contributors who helped with this release:
@MarvinSchenkel, @bferd, @internationalized, @intlify, @jozefKruszynski, @Lucide, @marcelveldt, @stvncode, @tabler, @teancom, @types, @vitejs