Releases: music-assistant/server
2.6.0
Music Assistant 2.6.0 Release Notes 🎵
We're excited to announce Music Assistant 2.6.0.
This release introduces a few new providers, enhanced lyrics support, better announcement handling, and numerous stability improvements.
🎵 New Features
New Music Providers
- Nugs.net provider - Access live concert recordings and studio albums from Nugs.net by @brian10048 in #1974
New Player Providers
- Yamaha MusicCast provider - Full support for Yamaha MusicCast speakers and receivers by @fmunkes in #2142
- Alexa player provider - [experimental!] Control your Alexa devices directly from Music Assistant by @alams154 in #2210
Enhanced Lyrics Support
- LRCLIB lyrics metadata provider - New provider for synchronized lyrics by @jozefKruszynski in #2123
- LRC lyric parsing for Tidal - Time-synced lyrics now available for Tidal tracks by @jozefKruszynski in #2081
- Local LRC lyrics parsing - Filesystem provider now supports local .lrc lyric files by @fmunkes in #2166
Various QoL Improvements
- Apple Music web UI authentication - Simplified setup process through the web interface by @maxlyth in #2150
- Tidal quality switching - Change audio quality settings after initial authentication by @jozefKruszynski in #2144
- Subsonic scrobbler plugin - Track your listening history to Subsonic-compatible servers by @Clusters in #2168
- YTMusic recommendations - Personalized recommendations from YouTube Music by @MarvinSchenkel in #2128
- Subsonic bookmark tracking - Resume podcast episodes where you left off by @khers in #2188
- Configurable Subsonic recommendations - Customize your recommendation sources by @khers in #2226
- Subsonic modernization - Moved to new API library with better error handling by @khers in #2160
- Plex pagination - Improved performance for large Plex libraries by @chicco-carone in #2253
- SoundCloud reliability - Always use MP3 format for better compatibility by @robsonke in #2169
- Web Player iOS support - Fixed playbook issues on iOS and iPadOS devices by @maximmaxim345 in #2261
- TuneIn search support - Search radio stations on TuneIn provider by @cociweb in #2204
🐛 Bug Fixes
- Fixed library items not being removed when deleted by music providers by @fmunkes in #2124
- Resolved volume level handling issues in MusicCast provider by @fmunkes in #2165
- Fixed NoneType errors in Plex playlists with empty track/album names by @cociweb in #2182
- Corrected Chromecast queue handling for optional parameters by @el in #2183
- Fixed Audible release date metadata type errors by @ztripez in #2104
- Improved podcast episode parsing and GUID handling by @fmunkes in #2152 & #2238
- Resolved database timestamp triggers by @marcelveldt in #2266
- Fixed non-ASCII character handling in DIDL-Lite metadata by @fmunkes in #2256
- Fixed YTMusic playbook issues by @MarvinSchenkel in #2223 & #2264
- Handle mDNS remove messages without service info in AirPlay by @poupounetjoyeux in #2154
- Better announcement handling - Improved volume control and stream concatenation for announcements by @chatziko in #2145 & #2151
- Enhanced sync stability - More reliable multi-room synchronization by @pmamak in #2189
- AirPlay improvements - Fixed branding, display names, and ungrouping issues by @lassebm in #2127 & #2126, @MarvinSchenkel in #2243
- Improved random playbook - Better handling of random order in queues and libraries by @OzGav in #2206, @maximmaxim345 in #2255
🏗️ Technical Changes
- Updated numerous dependencies for security and performance
- Separated BrowseFolder from MediaItemType for cleaner architecture by @fmunkes in #2194
- Enhanced UPnP helpers usage in Sonos provider by @fmunkes in #2179
- Improved typing throughout the codebase
- Better test coverage and documentation by @maximmaxim345 in #2224
- Added extra artist splitters in tag parser by @OzGav in #2163
- Added Opus support for audiobooks by @jmberg in #2216
👥 New Contributors
Welcome to our new contributors who helped make this release possible:
@lassebm, @brian10048, @maxlyth, @poupounetjoyeux, @Clusters, @pmamak, @el, @jmberg, @alams154, @chicco-carone
Full Changelog: 2.5.8...2.6.0
We hope you enjoy these new features and improvements! As always, please report any issues on our GitHub repository.
2.6.0 BETA 21
What’s Changed
Server 2.6.0 BETA 21
What's Changed
- Add DSP Presets by @math625f in #2309
- Split up data and cache with XDG directories by @jamiethecat in #2304
- Fix playback with the Web Player for iOS devices by @maximmaxim345 in #2319
- frontend-2.15.3 by @music-assistant-machine in #2333
- Disable new PO token generation to avoid warnings in the logs. by @MarvinSchenkel in #2334
- Fix album info being lost for non-library items by @OzGav in #2330
- Fixes for the server not starting due to missing cache directory and models mismatch (in b19/b20)
New Contributors
- @jamiethecat made their first contribution in #2302
- @math625f made their first contribution in #2309
Full Changelog: 2.6.0b18...2.6.0b19
Frontend 2.15.3
- #1071 - Lokalise translations update (@github-actions[bot])
- #1044 - Lokalise translations update (@github-actions[bot])
- #1039 - Lokalise translations update (@github-actions[bot])
🐛 Bugfixes
- #1081 - Remove unused property (@stvncode)
- #1082 - fix: DSP editing bugs with multiple players (@maximmaxim345)
- #1073 - Fix: Prevent player cards from collapsing in slider (@FabionRabushja)
🚀 Features
- #1074 - DSP Presets (@math625f)
- #1064 - Added 'Now Playing' styling to currently playing album/artist/track in all view modes (@uptimeZERO)
- #1061 - Add interactive breadcrumb navigation to Browse section (@stvncode)
🧰 Maintenance
- #1030 - Add Greek and re-order (@OzGav)
- #1062 - Lokalise translations update (@github-actions[bot])
- #1056 - Lokalise translations update (@github-actions[bot])
- #1048 - Lokalise translations update (@github-actions[bot])
⬆️ Dependencies
Server
Frontend
20 changes
- #1075 - Chore(deps-dev): Bump @types/node from 24.1.0 to 24.2.1 (@dependabot[bot])
- #1076 - Chore(deps-dev): Bump eslint-plugin-prettier from 5.5.3 to 5.5.4 (@dependabot[bot])
- #1078 - Chore(deps-dev): Bump sass from 1.89.2 to 1.90.0 (@dependabot[bot])
- #1079 - Chore(deps): Bump vuetify from 3.9.3 to 3.9.4 (@dependabot[bot])
- #1067 - Chore(deps-dev): Bump vite-plugin-vuetify from 2.1.1 to 2.1.2 (@dependabot[bot])
- #1068 - Chore(deps): Bump vue from 3.5.17 to 3.5.18 (@dependabot[bot])
- #1069 - Chore(deps-dev): Bump eslint-config-prettier from 10.1.5 to 10.1.8 (@dependabot[bot])
- #1070 - Chore(deps): Bump marked from 16.1.1 to 16.1.2 (@dependabot[bot])
- #1066 - Chore(deps-dev): Bump typescript from 5.8.3 to 5.9.2 (@dependabot[bot])
- #1065 - Chore(deps-dev): Bump vite-plugin-pwa from 1.0.0 to 1.0.2 (@dependabot[bot])
- #1060 - Chore(deps-dev): Bump vue-tsc from 2.2.10 to 3.0.4 (@dependabot[bot])
- #1058 - Chore(deps-dev): Bump @vitejs/plugin-vue from 5.2.4 to 6.0.1 (@dependabot[bot])
- #1053 - Chore(deps): Bump marked from 15.0.12 to 16.1.1 (@dependabot[bot])
- #1052 - Chore(deps): Bump vuetify from 3.7.19 to 3.9.2 (@dependabot[bot])
- #1059 - Chore(deps-dev): Bump @types/node from 24.0.3 to 24.1.0 (@dependabot[bot])
- #1057 - Chore(deps): Bump vue-i18n from 11.1.7 to 11.1.11 (@dependabot[bot])
- #1051 - Chore(deps-dev): Bump vite-plugin-webfont-dl from 3.10.4 to 3.11.1 (@dependabot[bot])
- #1049 - Chore(deps-dev): Bump eslint-plugin-prettier from 5.5.0 to 5.5.3 (@dependabot[bot])
- #1036 - Chore(deps-dev): Bump prettier from 3.5.3 to 3.6.2 (@dependabot[bot])
- #1035 - Chore(deps): Bump swiper from 11.2.8 to 11.2.10 (@dependabot[bot])
2.6.0 BETA 18
Fixes for YouTube Music and Spotify playback
Full Changelog: 2.6.0b14...2.6.0b18
2.5.8
Fixes for YouTube Music and Spotify playback
Full Changelog: 2.5.5...2.5.8
2.6.0 BETA 14
What's Changed
- Change online logo URL by @OzGav in #2252
- Subsonic: Handle uninitialized port config value by @khers in #2263
- Chore(deps): Bump pillow from 11.2.1 to 11.3.0 by @dependabot in #2262
- Fix library query with random order by @maximmaxim345 in #2255
- YTMusic: Fix extractor error by @MarvinSchenkel in #2264
- Implement pagination for plex provider by @chicco-carone in #2253
- Fix Web Player playback on iOS and iPadOS by @maximmaxim345 in #2261
- fix: non-ascii characters in didl_lite metadata by @fmunkes in #2256
- Parallelize Recommendation creation in Subsonic provider by @khers in #2254
- Fix Alexa player provider bugs during experimental testing by @alams154 in #2251
- Fix the timestamp modified trigger on the db by @marcelveldt in #2266
New Contributors
- @chicco-carone made their first contribution in #2253
Full Changelog: 2.6.0b13...2.6.0b14
2.6.0 BETA 13
What’s Changed
Server 2.6.0 BETA 13
Server 2.6.0 BETA 12 was skipped
What's Changed
- Chore: Subsonic: Clean up last of the typing errors and add tests by @khers in #2225
- Chore(deps): Bump aiohttp from 3.11.18 to 3.12.11 by @dependabot in #2222
- Fix typo preventing translation by @OzGav in #2219
- Chore(deps): Bump ruff from 0.11.11 to 0.11.13 by @dependabot in #2220
- docs: add notes about developing on MA's models by @maximmaxim345 in #2224
- Fix: Subsonic: Don't recreate deleted bookmark by @khers in #2227
- Feat: Subsonic: Add configurable recommendations by @khers in #2226
- Fix: Improvements to MusicKit auth workflow by @MarvinSchenkel in #2230
- Chore(deps): Bump aiohttp-fast-zlib from 0.2.3 to 0.3.0 by @dependabot in #2221
- Add Opus to audiobook extensions by @jmberg in #2216
- Chore(deps): Bump pytest-cov from 6.1.1 to 6.2.1 by @dependabot in #2237
- Chore(deps): Bump cryptography from 45.0.3 to 45.0.4 by @dependabot in #2236
- Chore(deps): Bump aiohttp from 3.12.11 to 3.12.13 by @dependabot in #2235
- Chore(deps): Bump docker/setup-buildx-action from 3.10.0 to 3.11.0 by @dependabot in #2233
- Chore(deps): Bump certifi from 2025.4.26 to 2025.6.15 by @dependabot in #2232
- Minor tweak due user confusion by @OzGav in #2241
- Chore(deps): Bump docker/setup-buildx-action from 3.11.0 to 3.11.1 by @dependabot in #2239
- Subsonic: Display the newest podcast episodes as front page recommendation by @khers in #2242
- Ignore a guid containing spaces in podcasts parsing by @fmunkes in #2238
- Fix Airplay not ungrouping properly by @MarvinSchenkel in #2243
- tidal: modify pagination function by @jozefKruszynski in #2231
- Bump models to 1.1.46 by @fmunkes in #2244
- frontend-2.15.2 by @music-assistant-machine in #2247
- Chore(deps): Bump pytest from 8.3.5 to 8.4.1 by @dependabot in #2246
- Chore: Mypy for models by @fmunkes in #2195
- Add Alexa player provider by @alams154 in #2210
- Introduce (stability/development) stage on providers by @marcelveldt in #2248
New Contributors
Full Changelog: 2.6.0b11...2.6.0b12
Frontend 2.15.2
- #1024 - Lokalise translations update (@github-actions[bot])
- #1004 - Lokalise translations update (@github-actions[bot])
Frontend 2.15.2
- #1024 - Lokalise translations update (@github-actions[bot])
- #1004 - Lokalise translations update (@github-actions[bot])
⬆️ Dependencies
Server
Server
Frontend
10 changes
- #1009 - Chore(deps): Bump swiper from 11.2.6 to 11.2.8 (@dependabot[bot])
- #1017 - Chore(deps-dev): Bump @fontsource/roboto from 5.2.5 to 5.2.6 (@dependabot[bot])
- #1020 - Chore(deps): Bump softprops/action-gh-release from 2.2.2 to 2.3.2 (@dependabot[bot])
- #1021 - Chore(deps-dev): Bump sass from 1.88.0 to 1.89.2 (@dependabot[bot])
- #1026 - Chore(deps-dev): Bump @types/node from 22.15.18 to 24.0.3 (@dependabot[bot])
- #1027 - Chore(deps): Bump vue-i18n from 11.1.3 to 11.1.7 (@dependabot[bot])
- #1014 - Chore(deps-dev): Bump unplugin from 2.3.2 to 2.3.5 (@dependabot[bot])
- #1028 - Chore(deps-dev): Bump eslint-plugin-prettier from 5.4.0 to 5.5.0 (@dependabot[bot])
- #1029 - Chore(deps): Bump vue from 3.5.13 to 3.5.17 (@dependabot[bot])
- #1005 - Chore(deps): Bump marked from 15.0.11 to 15.0.12 (@dependabot[bot])
Frontend
10 changes
- #1009 - Chore(deps): Bump swiper from 11.2.6 to 11.2.8 (@dependabot[bot])
- #1017 - Chore(deps-dev): Bump @fontsource/roboto from 5.2.5 to 5.2.6 (@dependabot[bot])
- #1020 - Chore(deps): Bump softprops/action-gh-release from 2.2.2 to 2.3.2 (@dependabot[bot])
- #1021 - Chore(deps-dev): Bump sass from 1.88.0 to 1.89.2 (@dependabot[bot])
- #1026 - Chore(deps-dev): Bump @types/node from 22.15.18 to 24.0.3 (@dependabot[bot])
- #1027 - Chore(deps): Bump vue-i18n from 11.1.3 to 11.1.7 (@dependabot[bot])
- #1014 - Chore(deps-dev): Bump unplugin from 2.3.2 to 2.3.5 (@dependabot[bot])
- #1028 - Chore(deps-dev): Bump eslint-plugin-prettier from 5.4.0 to 5.5.0 (@dependabot[bot])
- #1029 - Chore(deps): Bump vue from 3.5.13 to 3.5.17 (@dependabot[bot])
- #1005 - Chore(deps): Bump marked from 15.0.11 to 15.0.12 (@dependabot[bot])
2.5.5
What’s Changed
- Various bugfixes that were backported from 2.6 beta
2.6.0 BETA 11
What's Changed
- Fix: Subsonic Scrobble: Split the internal id for Podcast Episode by @khers in #2203
- Update playlist correctly with deletion by @OzGav in #2205
- Chore(deps): Bump pycryptodome from 3.22.0 to 3.23.0 by @dependabot in #2196
- Search radio stations on tunein provider by @cociweb in #2204
- Chore(deps): Bump mashumaro from 3.15 to 3.16 by @dependabot in #2208
- Chore(deps): Bump cryptography from 45.0.2 to 45.0.3 by @dependabot in #2207
- Chore(deps): Bump ruff from 0.11.10 to 0.11.11 by @dependabot in #2209
- Chore(deps): Bump docker/build-push-action from 6.17.0 to 6.18.0 by @dependabot in #2211
- Fix bug when using random order by @OzGav in #2206
- YTMusic: Fix YTMusic playback by @MarvinSchenkel in #2223
Full Changelog: 2.6.0b10...2.6.0b11
2.5.4
What’s Changed
- Fix Sonos provider regression issue in 2.5.3