music-assistant-server.git
6 weeks agoFix issue with clearing output protocol during track changes
Marcel van der Veldt [Mon, 23 Feb 2026 20:37:31 +0000 (21:37 +0100)]
Fix issue with clearing output protocol during track changes

6 weeks agoFix last small issues with syncgroup
Marcel van der Veldt [Mon, 23 Feb 2026 20:21:41 +0000 (21:21 +0100)]
Fix last small issues with syncgroup

6 weeks agoFix static members of sync group
Marcel van der Veldt [Mon, 23 Feb 2026 19:26:27 +0000 (20:26 +0100)]
Fix static members of sync group

6 weeks ago⬆️ Update music-assistant-frontend to 2.17.95 (#3222)
music-assistant-machine [Mon, 23 Feb 2026 18:29:56 +0000 (19:29 +0100)]
⬆️ Update music-assistant-frontend to 2.17.95 (#3222)

Co-authored-by: stvncode <25082266+stvncode@users.noreply.github.com>
Co-authored-by: Marvin Schenkel <marvinschenkel@gmail.com>
6 weeks agoAdd genre icons and SVG handling to imageproxy (#3223)
Marvin Schenkel [Mon, 23 Feb 2026 18:10:13 +0000 (19:10 +0100)]
Add genre icons and SVG handling to imageproxy (#3223)

* Add genre icons and SVG handling to imageproxy

* Cleanup

6 weeks agoFix player tests
Marcel van der Veldt [Mon, 23 Feb 2026 16:37:45 +0000 (17:37 +0100)]
Fix player tests

6 weeks agoFix flow mode determination
Marcel van der Veldt [Mon, 23 Feb 2026 16:30:09 +0000 (17:30 +0100)]
Fix flow mode determination

6 weeks agoFix Radioparadise image URL (#3220)
OzGav [Mon, 23 Feb 2026 14:36:32 +0000 (00:36 +1000)]
Fix Radioparadise image URL (#3220)

The change to the documentation repo moved the images

6 weeks agoFail job on test failures
Marvin Schenkel [Mon, 23 Feb 2026 12:52:34 +0000 (13:52 +0100)]
Fail job on test failures

6 weeks agoFix select output protocol already in play_index to avoid race on flow mode
Marcel van der Veldt [Mon, 23 Feb 2026 11:49:06 +0000 (12:49 +0100)]
Fix select output protocol already in play_index to avoid race on flow mode

6 weeks agoFix race condition in player register flow wrt config
Marcel van der Veldt [Mon, 23 Feb 2026 11:42:19 +0000 (12:42 +0100)]
Fix race condition in player register flow wrt config

6 weeks agoUpdate Alexa player provider (#3167)
Sameer Alam [Mon, 23 Feb 2026 08:32:30 +0000 (02:32 -0600)]
Update Alexa player provider (#3167)

* Update Alexa player provider

* Remove redundant try catch

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Address PR comments

* Remove ActionUnavailble catches

* Remove extra catch alls and add _on_player_media_updated

* Remove catch all

* Bump AlexaPy

* Fix _upload_metadata when media is not available

---------

Co-authored-by: Sameer Alam <alams154@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
6 weeks agoClear internal HEOS queue before playing (#3219)
Tom Matheussen [Mon, 23 Feb 2026 08:28:09 +0000 (09:28 +0100)]
Clear internal HEOS queue before playing (#3219)

6 weeks agoFix inverted track_number condition in Bandcamp converter (#3211)
David Bishop [Mon, 23 Feb 2026 07:23:25 +0000 (23:23 -0800)]
Fix inverted track_number condition in Bandcamp converter (#3211)

The condition checked output.track_number instead of track.track_number,
meaning track numbers from the API were only applied when the output
already had a non-None default.

Co-authored-by: David Bishop <git@gnuconsulting.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
6 weeks agoUse ImageType.THUMB for Bandcamp artwork images (#3212)
David Bishop [Mon, 23 Feb 2026 07:20:08 +0000 (23:20 -0800)]
Use ImageType.THUMB for Bandcamp artwork images (#3212)

Bandcamp artwork is square, not landscape. All other music providers
in the codebase use THUMB for standard album and artist art.

Co-authored-by: David Bishop <git@gnuconsulting.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
6 weeks agoFix bluesound volume jumping back after volume_set.
Marvin Schenkel [Mon, 23 Feb 2026 07:18:53 +0000 (08:18 +0100)]
Fix bluesound volume jumping back after volume_set.

6 weeks agoBandcamp: validate login on init when credentials are configured (#3215)
David Bishop [Mon, 23 Feb 2026 07:12:34 +0000 (23:12 -0800)]
Bandcamp: validate login on init when credentials are configured (#3215)

Co-authored-by: David Bishop <git@gnuconsulting.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
6 weeks ago⬆️ Update music-assistant-frontend to 2.17.94 (#3218)
music-assistant-machine [Mon, 23 Feb 2026 03:52:43 +0000 (04:52 +0100)]
⬆️ Update music-assistant-frontend to 2.17.94 (#3218)

Co-authored-by: marcelveldt <6389780+marcelveldt@users.noreply.github.com>
6 weeks agoFix player config not fully persisting
Marcel van der Veldt [Mon, 23 Feb 2026 01:03:33 +0000 (02:03 +0100)]
Fix player config not fully persisting

6 weeks agoFix _cleanup_player_memberships and _handle_set_members
Marcel van der Veldt [Mon, 23 Feb 2026 00:51:19 +0000 (01:51 +0100)]
Fix _cleanup_player_memberships and _handle_set_members

6 weeks agoSpeedup is_hass_supervisor check
Marcel van der Veldt [Mon, 23 Feb 2026 00:36:33 +0000 (01:36 +0100)]
Speedup is_hass_supervisor check

6 weeks agoPre-compile Python bytecode in Dockerimage for faster startup
Marcel van der Veldt [Mon, 23 Feb 2026 00:36:13 +0000 (01:36 +0100)]
Pre-compile Python bytecode in Dockerimage for faster startup

6 weeks agoSpeedup core controller startup
Marcel van der Veldt [Mon, 23 Feb 2026 00:23:04 +0000 (01:23 +0100)]
Speedup core controller startup

6 weeks agoSome minor tweaks to handling prevent-playback of airplay
Marcel van der Veldt [Sun, 22 Feb 2026 23:56:07 +0000 (00:56 +0100)]
Some minor tweaks to handling prevent-playback of airplay

6 weeks agoAuto translate commands directed at protocol player id to visible parent
Marcel van der Veldt [Sun, 22 Feb 2026 23:10:43 +0000 (00:10 +0100)]
Auto translate commands directed at protocol player id to visible parent

6 weeks agoFix fully_played should return boolean
Marcel van der Veldt [Sun, 22 Feb 2026 20:18:34 +0000 (21:18 +0100)]
Fix fully_played should return boolean

6 weeks agoFix player not available in HA at startup
Marcel van der Veldt [Sun, 22 Feb 2026 19:43:27 +0000 (20:43 +0100)]
Fix player not available in HA at startup

6 weeks agoFix set_members with lock
Marcel van der Veldt [Sun, 22 Feb 2026 17:27:20 +0000 (18:27 +0100)]
Fix set_members with lock

6 weeks agoFix some edge cases with AirPlay DACP commands
Marcel van der Veldt [Sun, 22 Feb 2026 17:17:29 +0000 (18:17 +0100)]
Fix some edge cases with AirPlay DACP commands

6 weeks agoFix race condition with enqueue_next_media on SyncGroup
Marcel van der Veldt [Sun, 22 Feb 2026 17:16:44 +0000 (18:16 +0100)]
Fix race condition with enqueue_next_media on SyncGroup

6 weeks agoFix for _cleanup_player_memberships
Marcel van der Veldt [Sun, 22 Feb 2026 16:28:35 +0000 (17:28 +0100)]
Fix for _cleanup_player_memberships

6 weeks agoFix playback speed handling on queue item and not on queue
Marcel van der Veldt [Sun, 22 Feb 2026 15:06:49 +0000 (16:06 +0100)]
Fix playback speed handling on queue item and not on queue

6 weeks agoFix accessing player.state.synced_to
Marcel van der Veldt [Sun, 22 Feb 2026 14:30:51 +0000 (15:30 +0100)]
Fix accessing player.state.synced_to

6 weeks agoAuto ungroup when trying to form syncgroup with already synced player
Marcel van der Veldt [Sun, 22 Feb 2026 14:17:53 +0000 (15:17 +0100)]
Auto ungroup when trying to form syncgroup with already synced player

6 weeks agoAdd note in docstring
Marcel van der Veldt [Sun, 22 Feb 2026 14:09:30 +0000 (15:09 +0100)]
Add note in docstring

6 weeks agoFix ungroup command
Marcel van der Veldt [Sun, 22 Feb 2026 14:07:00 +0000 (15:07 +0100)]
Fix ungroup command

6 weeks agoFix issue with subprocess pips closing
Marcel van der Veldt [Sun, 22 Feb 2026 13:53:11 +0000 (14:53 +0100)]
Fix issue with subprocess pips closing

6 weeks agoLock set_members to avoid concurrent actions
Marcel van der Veldt [Sun, 22 Feb 2026 13:52:33 +0000 (14:52 +0100)]
Lock set_members to avoid concurrent actions

6 weeks agoMore gracefully handle DLNA errors
Marcel van der Veldt [Sun, 22 Feb 2026 13:44:14 +0000 (14:44 +0100)]
More gracefully handle DLNA errors

6 weeks agoSpeed-up core startup a bit
Marcel van der Veldt [Sun, 22 Feb 2026 13:35:10 +0000 (14:35 +0100)]
Speed-up core startup a bit

6 weeks agoFix bluesound volume jumping back after volume_set.
Marvin Schenkel [Sun, 22 Feb 2026 07:29:19 +0000 (08:29 +0100)]
Fix bluesound volume jumping back after volume_set.

6 weeks ago⬆️ Update music-assistant-frontend to 2.17.93 (#3214)
music-assistant-machine [Sun, 22 Feb 2026 03:48:44 +0000 (04:48 +0100)]
⬆️ Update music-assistant-frontend to 2.17.93 (#3214)

Co-authored-by: marcelveldt <6389780+marcelveldt@users.noreply.github.com>
6 weeks agoProperly cleanup stream buffers
Marcel van der Veldt [Sun, 22 Feb 2026 01:56:07 +0000 (02:56 +0100)]
Properly cleanup stream buffers

6 weeks agoAdd a bunch of extra error handling and logging for flow streams
Marcel van der Veldt [Sun, 22 Feb 2026 01:47:07 +0000 (02:47 +0100)]
Add a bunch of extra error handling and logging for flow streams

6 weeks agoAdd some additional guards to asyncprocess
Marcel van der Veldt [Sun, 22 Feb 2026 01:19:59 +0000 (02:19 +0100)]
Add some additional guards to asyncprocess

6 weeks agoMerge branch 'dev' of https://github.com/music-assistant/server into dev
Marcel van der Veldt [Sun, 22 Feb 2026 00:45:01 +0000 (01:45 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev

6 weeks agoSimplify can_group_with logic
Marcel van der Veldt [Sun, 22 Feb 2026 00:44:55 +0000 (01:44 +0100)]
Simplify can_group_with logic

6 weeks agoValidate queue item ID in Sonos pause path (#3194)
Bob Butler [Sun, 22 Feb 2026 00:44:10 +0000 (16:44 -0800)]
Validate queue item ID in Sonos pause path (#3194)

6 weeks agoAirplay2-configurable-latency (#3210)
Brad Keifer [Sun, 22 Feb 2026 00:42:49 +0000 (11:42 +1100)]
Airplay2-configurable-latency (#3210)

6 weeks agoAdd API to handle playback speed (#3198)
Andy Kelk [Sat, 21 Feb 2026 23:30:26 +0000 (10:30 +1100)]
Add API to handle playback speed (#3198)

6 weeks agoGracefully skip files/folders with emoji names on SMB mounts (#3183)
OzGav [Sat, 21 Feb 2026 23:29:56 +0000 (10:29 +1100)]
Gracefully skip files/folders with emoji names on SMB mounts (#3183)

6 weeks agoSnapcast: Fixes for hard switching of group leaders (#3209)
Mischa Siekmann [Sat, 21 Feb 2026 23:26:48 +0000 (00:26 +0100)]
Snapcast: Fixes for hard switching of group leaders (#3209)

6 weeks agoFix Sonos S2 announcement 404 error on cloud queue context endpoint (#3208)
Copilot [Sat, 21 Feb 2026 23:25:20 +0000 (00:25 +0100)]
Fix Sonos S2 announcement 404 error on cloud queue context endpoint (#3208)

6 weeks agoSmall simplification for GroupPlayer
Marcel van der Veldt [Sat, 21 Feb 2026 22:59:42 +0000 (23:59 +0100)]
Small simplification for GroupPlayer

6 weeks agoSome small code quality changes to DLNA Provider
Marcel van der Veldt [Sat, 21 Feb 2026 22:36:29 +0000 (23:36 +0100)]
Some small code quality changes to DLNA Provider

6 weeks agoFix announcements typo
Marcel van der Veldt [Sat, 21 Feb 2026 21:16:07 +0000 (22:16 +0100)]
Fix announcements typo

6 weeks agoHandle HEAD requests on root route (#3204)
David Bishop [Sat, 21 Feb 2026 11:05:42 +0000 (03:05 -0800)]
Handle HEAD requests on root route (#3204)

6 weeks agoFix group mute for protocol-synced players (#3205)
scyto [Sat, 21 Feb 2026 11:04:20 +0000 (03:04 -0800)]
Fix group mute for protocol-synced players (#3205)

6 weeks agoFix HEOS source switching back to Local Music after starting stream (#3206)
Tom Matheussen [Sat, 21 Feb 2026 11:04:03 +0000 (12:04 +0100)]
Fix HEOS source switching back to Local Music after starting stream (#3206)

6 weeks agoFix some more issues with syncgroups
Marcel van der Veldt [Sat, 21 Feb 2026 11:00:53 +0000 (12:00 +0100)]
Fix some more issues with syncgroups

6 weeks agoAdd comments to schema version constants
Marcel van der Veldt [Sat, 21 Feb 2026 09:32:40 +0000 (10:32 +0100)]
Add comments to schema version constants

6 weeks agoRevert MIN_SCHEMA_VERSION to maintain HA compatability.
Marvin Schenkel [Sat, 21 Feb 2026 09:26:11 +0000 (10:26 +0100)]
Revert MIN_SCHEMA_VERSION to maintain HA compatability.

6 weeks agoExpand PIN based auth in airplay 2 (#3165)
hmonteiro [Sat, 21 Feb 2026 07:27:10 +0000 (07:27 +0000)]
Expand PIN based auth in airplay 2 (#3165)

* add LG details

* Make pin based auth work in other devices

* remove reference to apple tv and macos in check

* remove unused constant and adjust airplay2 filter

* also apply pairing check to raop

* add unit test

6 weeks ago⬆️ Update music-assistant-frontend to 2.17.92 (#3203)
music-assistant-machine [Sat, 21 Feb 2026 03:35:01 +0000 (04:35 +0100)]
⬆️ Update music-assistant-frontend to 2.17.92 (#3203)

Co-authored-by: marcelveldt <6389780+marcelveldt@users.noreply.github.com>
6 weeks agoFix use playerid for http profile
Marcel van der Veldt [Fri, 20 Feb 2026 23:55:06 +0000 (00:55 +0100)]
Fix use playerid for http profile

6 weeks agoOpenSubsonic: Use server provided version tag if present (#3200)
Eric Munson [Fri, 20 Feb 2026 23:22:20 +0000 (18:22 -0500)]
OpenSubsonic: Use server provided version tag if present (#3200)

6 weeks agoFix DSP not applying for AirPlay and Sendspin players (#3191)
Maxim Raznatovski [Fri, 20 Feb 2026 23:21:43 +0000 (00:21 +0100)]
Fix DSP not applying for AirPlay and Sendspin players (#3191)

6 weeks agoFixes for active source and current media with linked protocols
Marcel van der Veldt [Fri, 20 Feb 2026 23:19:00 +0000 (00:19 +0100)]
Fixes for active source and current media with linked protocols

6 weeks agoFeat/genres-v2-implementation (#3164)
Jozef Kruszynski [Fri, 20 Feb 2026 17:04:41 +0000 (18:04 +0100)]
Feat/genres-v2-implementation (#3164)

* feat(genres): Core genre system

* feat(genres): add background scanner for metadata.genres

* refactor(genres): add genres to base

* test(genres): add test suite

* fix(genres): eixsting genres are not recreated at migration

* feat(genres): guard against infinite loops in scanner

* fix(genres): remove duplicate, improve tests

* fix(genres): limit genre tracks return

* refactor(genres): use logger rather than print

* refactor(genres): use asyncio.gather rather than sequential calls

* refactor(genres): various fixes after review comments

* refactor(genres): randomize selection, use asyncio gether

* refactor(genres): remove alias object

* fix(genres): fix n:n relationship, safeguard comparisons

* refactor(genres): address review comments

* fix(genres): fix issues after rebase

* test(genres): add missing param to library sync tests

6 weeks agoabs: fix: do not add cover url if no cover present (#3202)
Fabian Munkes [Fri, 20 Feb 2026 17:02:49 +0000 (18:02 +0100)]
abs: fix: do not add cover url if no cover present (#3202)

do not add cover url if path not present

6 weeks ago⬆️ Update music-assistant-models to 1.1.99 (#3201)
music-assistant-machine [Fri, 20 Feb 2026 16:36:59 +0000 (17:36 +0100)]
⬆️ Update music-assistant-models to 1.1.99 (#3201)

Co-authored-by: MarvinSchenkel <17671719+MarvinSchenkel@users.noreply.github.com>
6 weeks agoMore fixes for protocol linking
Marcel van der Veldt [Fri, 20 Feb 2026 14:20:15 +0000 (15:20 +0100)]
More fixes for protocol linking

6 weeks agoSmall fixes to grouped airplay playback and late joining
Marcel van der Veldt [Fri, 20 Feb 2026 14:14:05 +0000 (15:14 +0100)]
Small fixes to grouped airplay playback and late joining

6 weeks agoFix: remove rate limiting from single item streams
Marcel van der Veldt [Fri, 20 Feb 2026 13:05:22 +0000 (14:05 +0100)]
Fix: remove rate limiting from single item streams

6 weeks agoMerge branch 'dev' of https://github.com/music-assistant/server into dev
Marvin Schenkel [Fri, 20 Feb 2026 10:40:45 +0000 (11:40 +0100)]
Merge branch 'dev' of https://github.com/music-assistant/server into dev

6 weeks agoAdd debug logs to streamscontroller to debug smart fades sometimes skipping.
Marvin Schenkel [Fri, 20 Feb 2026 10:40:39 +0000 (11:40 +0100)]
Add debug logs to streamscontroller to debug smart fades sometimes skipping.

6 weeks agoFix RAOP password handling (#3197)
Brad Keifer [Fri, 20 Feb 2026 10:36:06 +0000 (21:36 +1100)]
Fix RAOP password handling (#3197)

6 weeks agoAdded AriaCast Receiver plugin for Music Assistant (#3061)
Lorenzo Imbastari [Fri, 20 Feb 2026 10:28:44 +0000 (11:28 +0100)]
Added AriaCast Receiver plugin for Music Assistant (#3061)

* Add AriaCast Receiver plugin for Music Assistant

- Implemented AriaCast Receiver plugin to stream audio from Android devices to Music Assistant players.
- Added README.md with features, installation, configuration, and usage instructions.
- Created configuration classes for audio and server settings.
- Developed metadata handling for AriaCast streams.
- Implemented UDP discovery and WebSocket server for audio and metadata streaming.
- Added helper functions for local IP retrieval and artwork downloading.
- Included SVG icon for the plugin.
- Updated manifest.json with documentation link and requirements.

* Update README to simplify installation instructions

Removed installation instructions and updated configuration step for clarity.

* fixed mypy and pre-commit problems for my provider

* Delete music_assistant/providers/ariacast_receiver/README.md

* fixed pre-commit problems x2

* fixed icon

* Merge remote-tracking branch 'origin/dev' into dev

* Fixed Metadata and media controls after refactoring

* copilot notes addressing

* Addressing more copilot notes

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Addressing last notes

* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix: address code review feedback for ariacast_receiver

* fix(ariacast): add playback ready event for audio/player sync

- Add _playback_ready event to coordinate audio handler and player stream
- Audio handler waits up to 2s for player to become ready after starting playback
- get_audio_stream signals ready when it starts consuming frames
- Clear ready state on cleanup in _clear_active_player and stream end

This reduces audio frame loss during player setup by synchronizing
the audio receiver with the player's readiness to consume frames.

* Add multi-platform AriaCast receiver binaries (darwin/linux amd64/arm64/arm)

* renamed receiver name

* no redownload if same artwork

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update music_assistant/providers/ariacast_receiver/manifest.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix: use shared http_session for ariacast websocket connection

* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix in previous copilot commit messing up the way pipe was read (no loop)

* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fixel last comments

* Change multi_instance setting to false

* Addressed latest comments after review

- Switched from pipe to stdout
- Dropped linux arm
- Moved _get_binary_path() to helpers.py

* Implemented stderr logging, robust WebSocket connection retries, improved artwork handling, and player switching control.

Updated Manifest

* Fix after PlayerController renamed all to all_players and players.get to get_player()

* Update music_assistant/providers/ariacast_receiver/__init__.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update music_assistant/providers/ariacast_receiver/__init__.py

Added suggested track change comments

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update documentation URL in manifest.json

* Added README for the binary of AriaCast Receiver

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
6 weeks agofix: gpodder: pass verify_ssl to web requests (#3195)
Fabian Munkes [Fri, 20 Feb 2026 09:34:48 +0000 (10:34 +0100)]
fix: gpodder: pass verify_ssl to web requests (#3195)

* pass verify_ssl in gpodder

* default is True

6 weeks ago⬆️ Update music-assistant-frontend to 2.17.91 (#3199)
music-assistant-machine [Fri, 20 Feb 2026 03:43:27 +0000 (04:43 +0100)]
⬆️ Update music-assistant-frontend to 2.17.91 (#3199)

Co-authored-by: marcelveldt <6389780+marcelveldt@users.noreply.github.com>
7 weeks agoFixes for sendspin web player
Marcel van der Veldt [Thu, 19 Feb 2026 21:05:11 +0000 (22:05 +0100)]
Fixes for sendspin web player

7 weeks agoFix grouping for for players whos native protocol is a protocol of other players...
Marvin Schenkel [Thu, 19 Feb 2026 19:35:40 +0000 (20:35 +0100)]
Fix grouping for for players whos native protocol is a protocol of other players (#3192)

7 weeks agoSmall tweak to merged players concept
Marcel van der Veldt [Thu, 19 Feb 2026 19:19:45 +0000 (20:19 +0100)]
Small tweak to merged players concept

7 weeks agoSimplify hidden_by_default
Marcel van der Veldt [Thu, 19 Feb 2026 17:27:07 +0000 (18:27 +0100)]
Simplify hidden_by_default

7 weeks agoUpdate protocol linking test
Marcel van der Veldt [Thu, 19 Feb 2026 12:41:37 +0000 (13:41 +0100)]
Update protocol linking test

7 weeks agoAdd a extensions.json file to .vscode (#3068)
David Anthoff [Thu, 19 Feb 2026 12:18:25 +0000 (04:18 -0800)]
Add a extensions.json file to .vscode (#3068)

* Add a extensions.json file to .vscode

* Update .vscode/extensions.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Add another extension to the VS Code recommended set

* Remove Python env extension from recommended extensions

* Adjust whitespacing

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
7 weeks agoFix universal player availability
Marcel van der Veldt [Thu, 19 Feb 2026 10:21:15 +0000 (11:21 +0100)]
Fix universal player availability

7 weeks agoFix for protocol matching with locally administered mac
Marcel van der Veldt [Thu, 19 Feb 2026 10:03:46 +0000 (11:03 +0100)]
Fix for protocol matching with locally administered mac

7 weeks agoReduce FFmpeg cover-art storms (#3109)
Łukasz Wawrzyk [Thu, 19 Feb 2026 09:03:14 +0000 (10:03 +0100)]
Reduce FFmpeg cover-art storms (#3109)

* fix(images): add in-memory cache and concurrency limit for image data

Add a TTL-based LRU memory cache (256 entries, 15min TTL) to
get_image_data() to avoid redundant fetches of the same image.
Deduplicate concurrent in-flight requests via task_id and limit
embedded image extractions to 2 concurrent ffmpeg processes
using a semaphore.

Includes unit tests for cache hits, TTL expiry, eviction, and
request deduplication.

* Revert "fix(images): add in-memory cache and concurrency limit for image data"

This reverts commit a676a2484d24df1de4d2631118f1f0315c503fc8.

* feat(images): add on-disk thumbnail cache to avoid repeated ffmpeg extractions

Implement a two-tier caching system for image thumbnails:

- On-disk cache: thumbnails stored as {sha256(provider/path)}_{size}.{ext}
  in a "thumbnails" subfolder of the cache directory, surviving restarts.
- In-memory FIFO cache: last 50 thumbnails for instant access on hot paths.
- In-flight deduplication: concurrent requests for the same thumbnail share
  a single generation task via create_task, preventing ffmpeg bursts.

This eliminates repeated ffmpeg spawns for embedded cover art extraction,
which caused high CPU usage and playback interruptions especially on
lower-powered hardware and network-mounted music libraries (e.g. SMB).

7 weeks agoAdd APEv2 tag parsing for WavPack/Musepack/Monkey's Audio (#3185)
OzGav [Thu, 19 Feb 2026 08:43:41 +0000 (18:43 +1000)]
Add APEv2 tag parsing for WavPack/Musepack/Monkey's Audio (#3185)

7 weeks ago⬆️ Update music-assistant-frontend to 2.17.90 (#3190)
music-assistant-machine [Thu, 19 Feb 2026 03:47:30 +0000 (04:47 +0100)]
⬆️ Update music-assistant-frontend to 2.17.90 (#3190)

Co-authored-by: marcelveldt <6389780+marcelveldt@users.noreply.github.com>
7 weeks agoAdd eager start to create_task helper
Marcel van der Veldt [Wed, 18 Feb 2026 20:47:32 +0000 (21:47 +0100)]
Add eager start to create_task helper

7 weeks agoFix library items not being deletes after providers have removed them (#3154)
Marvin Schenkel [Wed, 18 Feb 2026 18:38:49 +0000 (19:38 +0100)]
Fix library items not being deletes after providers have removed them (#3154)

7 weeks agoSwitch to MA MusicBrainz mirror (#3186)
Marvin Schenkel [Wed, 18 Feb 2026 18:04:47 +0000 (19:04 +0100)]
Switch to MA MusicBrainz mirror (#3186)

* Use MA Musicbrainz mirror and relax throttler.

* Use MA Musicbrainz mirror and relax throttler.

7 weeks agoFix: Don't merge player protocols for multiple software players on same host
Marcel van der Veldt [Wed, 18 Feb 2026 11:16:02 +0000 (12:16 +0100)]
Fix: Don't merge player protocols for multiple software players on same host

7 weeks ago⬆️ Update music-assistant-frontend to 2.17.89 (#3181)
music-assistant-machine [Wed, 18 Feb 2026 03:48:48 +0000 (04:48 +0100)]
⬆️ Update music-assistant-frontend to 2.17.89 (#3181)

Co-authored-by: marcelveldt <6389780+marcelveldt@users.noreply.github.com>
7 weeks agoFix: ignore invalid mac and ip addresses in protocol linking
Marcel van der Veldt [Tue, 17 Feb 2026 23:13:44 +0000 (00:13 +0100)]
Fix: ignore invalid mac and ip addresses in protocol linking

7 weeks agoUpdate Sendspin provider to version 4.0 with many improvements (#3158)
Maxim Raznatovski [Tue, 17 Feb 2026 21:46:52 +0000 (22:46 +0100)]
Update Sendspin provider to version 4.0 with many improvements (#3158)

7 weeks agoFix webplayer hide from UI by default
Marcel van der Veldt [Tue, 17 Feb 2026 20:20:51 +0000 (21:20 +0100)]
Fix webplayer hide from UI by default

7 weeks agoUse PlayerType player for sendspin web player
Marcel van der Veldt [Tue, 17 Feb 2026 18:48:59 +0000 (19:48 +0100)]
Use PlayerType player for sendspin web player