Skip to content

2.10.0 RC 3

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Aug 16:12
Immutable release. Only release title and notes can be modified.
b8ec88b

📦 RC Release

Changes since 2.10.0rc2

🚀 Features and enhancements

  • Show which provider hit its stream limit when playback stops (by @marcelveldt in #5802)
  • Play a track from another provider when its own provider is at the stream limit (by @marcelveldt in #5807)
  • Add Spotify Soloist as official backend for Spotify Connect (by @marcelveldt in #5810)
  • 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)
  • Improve crossfade buffering and account for realtime streams (by @marcelveldt in #5848)

🐛 Bugfixes

  • Repair duplicate albums automatically (by @marcelveldt in #5780)
  • Improve duplicate detection across music providers (by @marcelveldt in #5783)
  • Fix web players losing their queue when they switch role (by @marcelveldt in #5784)
  • Keep player access restrictions intact when a player is replaced (by @marcelveldt in #5785)
  • Fix sporadic stutter when playing live audio sources (by @marcelveldt in #5789)
  • Stop adding the same album twice when providers disagree on the details (by @marcelveldt in #5790)
  • Match artists across providers more reliably (by @marcelveldt in #5791)
  • Repair duplicate tracks that are already in the library (by @marcelveldt in #5792)
  • Keep a player usable when its saved queue cannot be read (by @marcelveldt in #5793)
  • Repair albums that are already duplicated in your library (by @marcelveldt in #5798)
  • Keep a library sync going when one item fails (by @marcelveldt in #5799)
  • Fix marking podcast episodes and audiobooks as played from the Discover rows (by @chrisuthe in #5825)
  • 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)
  • Fix Plex Connect duplicating tracks on play queue refresh (by @chrisuthe in #5852)
  • Stop a track refresh from wiping its album and artist details (by @marcelveldt in #5855)
  • Fix ABC Radio Network documentation URL typo in manifest.json (by @OzGav in #5857)
  • Fix a resume seeking far past the track end after an output protocol handover (by @MarvinSchenkel in #5860)
  • Fix static on hi-res AirPlay speakers in compatibility mode (by @OzGav in #5862)

🎨 Frontend Changes

🧰 Maintenance and dependency bumps

52 changes
  • Fix speakers showing twice when they get a native player (by @marcelveldt in #5772)
  • Limit concurrent provider streams (by @marcelveldt in #5773)
  • Bump stages for various providers (by @OzGav in #5775)
  • Switch on the pathlib lint rules and tidy up the remaining os.path calls (by @OzGav in #5777)
  • Use pathlib to get the last part of a path (by @OzGav in #5779)
  • Enable TRY002, PERF402, ANN201 and B007 rules (by @OzGav in #5782)
  • Keep a bridged output with the speaker connection it runs on (by @marcelveldt in #5786)
  • Keep a player's queue when it switches role (by @marcelveldt in #5787)
  • Explain why a player becoming a speaker output is not stopped first (by @marcelveldt in #5788)
  • Let a player recover when its setup fails during registration (by @marcelveldt in #5795)
  • Clean up group memberships when a player is removed (by @marcelveldt in #5796)
  • Add shared groundwork for Spotify Soloist support (by @marcelveldt in #5797)
  • Keep a shared output from showing up on two players at once (by @marcelveldt in #5801)
  • Prepare Spotify Connect for multiple backends (by @marcelveldt in #5804)
  • Close MPD connections when connecting fails partway through (by @marcelveldt in #5805)
  • Fix missing and incorrect album details from TheAudioDB (by @marcelveldt in #5806)
  • Keep a speaker's outputs with the speaker they belong to (by @marcelveldt in #5808)
  • Keep albums that differ only by a symbol from being merged (by @marcelveldt in #5809)
  • Clarify a comment in the speaker output linking code (by @marcelveldt in #5811)
  • Keep the Plex library sync going when one item cannot be read (by @marcelveldt in #5812)
  • Skip empty Spotify saved tracks instead of stopping the sync (by @marcelveldt in #5813)
  • Finish replacing a universal player that lists the speaker itself (by @marcelveldt in #5814)
  • Include search-only providers in cross-provider matching (by @marcelveldt in #5815)
  • Stop test server background work from disturbing other tests (by @marcelveldt in #5816)
  • Match duplicate tracks across a spelled-out EP or single title (by @marcelveldt in #5817)
  • Match an EP or single title however the service writes the format (by @marcelveldt in #5818)
  • Harden the stream server session handling (by @marcelveldt in #5819)
  • Enable rule TRY 401 to stop logging the same error twice (by @OzGav in #5820)
  • 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)
  • Require a token to fetch audio from the MSX Bridge (by @marcelveldt in #5849)
  • 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)
  • Keep the rest of a Tidal list when one item cannot be read (by @marcelveldt in #5859)
  • ⬆️ Update music-assistant-frontend to 2.17.281 (by @musicassistant-bot[bot] in #5863)

🙇 Thanks to our contributors

Special thanks to the following contributors who helped with this release:

@MarvinSchenkel, @OzGav, @bferd, @chrisuthe, @internationalized, @intlify, @jozefKruszynski, @Lucide, @marcelveldt, @stvncode, @tabler, @teancom, @types, @vitejs