Skip to content

Update Sendspin provider to version 4.0 with many improvements - #3158

Merged
marcelveldt merged 13 commits into
devfrom
feat/aiosendspin-4.0
Feb 17, 2026
Merged

marcelveldt merged 13 commits into
devfrom
feat/aiosendspin-4.0

Conversation

@maximmaxim345

@maximmaxim345 maximmaxim345 commented Feb 13, 2026 •

Copy link
Copy Markdown
Member

A major rewrite of the Sendspin Server with a lot of changes and improvements.

There is a large possibility that new bugs were added in this update, please test and report any issues you encounter.

There are a couple of know issues with this version, those will be addressed in future PRs:

  • The web player can not recover from a network interruption, but the server is already prepared to allow this in the future
  • The sendspin-cli sometimes doesn't show metadata, this is a bug in the cli
  • Listening to live content like Radio streams, AirPlay input, or Spotify connect might not be reliably yet. It tries to reduce the latency as far as possible which might be too close for some clients/network conditions. A custom role or a proper proposal for the Specification to solve this issue will come later.
  • If you join a client with DSP enabled to an active stream, there might be a short audio glitch after a couple of seconds.
  • A recovered client (disconnected due to a network interruption and automatically reconnected) might have a gap of silence with the duration of the disconnection

The biggest user-facing improvements are:

  • Very low latency for real-time streams like radio, AirPlay input, and Spotify Connect
  • Keep album artwork during track skipping and while paused (client implementations might need to be updated)
  • Support multiple Sendspin servers with automatic takeover (supported with the latest VPE beta)
  • Increase maximum buffer size from 5s to 30s for more stable playback
  • More stable transmission of audio data and lower latency for commands like volume (clients may need to decrease the advertised buffer_capacity)
  • Add an advanced player option to manually select the sample rate/bit depth/codec for each client

In addition to that, this also includes a lot of under the hood changes for future features and improvements:

  • Adds the groundwork for new and custom roles (like the visualizer)
  • Adds the groundwork to implement custom role versions (for a future optimized AirPlay-to-Sendspin bridge)
Example
from aiosendspin.models.types import SUPPORTED_ROLE_VERSIONS
from aiosendspin.server.roles.player.v1 import PlayerV1Role
from aiosendspin.server.roles.registry import register_role

class PlayerCustomRole(PlayerV1Role):
    @property
    def role_id(self) -> str:
        return "player@_custom_version"

# Register and negotiate the custom player role version.
register_role("player@_custom_version", lambda client: PlayerCustomRole(client=client))
SUPPORTED_ROLE_VERSIONS["player"] = "player@_custom_version"

# Clients must advertise a matching support key for custom role versions
# (applies to player/artwork/visualizer):
# {
#   "supported_roles": ["player@_custom_version"],
#   "player@_custom_version_support": { ... }
# }
  • Adds support for hooking into aiosendspin to display custom bridges as native Sendspin players while powered off (for the Chromecast and AirPlay Sendspin bridges)
Example
from aiosendspin.models.core import ClientHelloPayload
from aiosendspin.models.player import ClientHelloPlayerSupport, SupportedAudioFormat
from aiosendspin.models.types import AudioCodec, PlayerCommand, Roles
from aiosendspin.server.server import ExternalStreamStartRequest

hello = ClientHelloPayload(
    client_id="external-airplay-living-room",
    name="Living Room AirPlay",
    version=1,
    supported_roles=[Roles.PLAYER.value],
    player_support=ClientHelloPlayerSupport(
        supported_formats=[
            SupportedAudioFormat(
                codec=AudioCodec.PCM,
                channels=2,
                sample_rate=48000,
                bit_depth=16,
            )
        ],
        buffer_capacity=100_000,
        supported_commands=[PlayerCommand.VOLUME, PlayerCommand.MUTE],
    ),
)

def on_stream_start(request: ExternalStreamStartRequest) -> None:
    # Bridge should connect transport for request.client_id here.
    return

external = server.register_external_player(hello, on_stream_start=on_stream_start)
assert not external.is_connected  # exposed before transport is connected
  • Prepare for parallelized resampling/encoding for even better performance (disabled for now for stability)

For more information, read the PR in the aiosendspin repository:

@github-actions

github-actions Bot commented Feb 13, 2026 •

Copy link
Copy Markdown
Contributor

🔒 Dependency Security Report

📦 Modified Dependencies

music_assistant/providers/sendspin/manifest.json

Added:

Removed:

Unchanged dependencies
  • av ==16.1.0

The following dependencies were added or modified:

diff --git a/requirements_all.txt b/requirements_all.txt
index 42914953..7544fe65 100644
--- a/requirements_all.txt
+++ b/requirements_all.txt
@@ -11,7 +11,7 @@ aiojellyfin==0.14.1
 aiomusiccast==0.15.0
 aiortc>=1.6.0
 aiorun==2025.1.1
-aiosendspin==3.0.0
+aiosendspin==4.0.1
 aioslimproto==3.1.5
 aiosonos==0.1.9
 aiosqlite==0.22.1

New/modified packages to review:

  • aiosendspin==4.0.1

🔍 Vulnerability Scan Results

No known vulnerabilities found
✅ No known vulnerabilities found


Automated Security Checks

  • ✅ Vulnerability Scan: Passed - No known vulnerabilities
  • ✅ Trusted Sources: All packages have verified source repositories
  • ✅ Typosquatting Check: No suspicious package names detected
  • ✅ License Compatibility: All licenses are OSI-approved and compatible
  • ✅ Supply Chain Risk: Passed - packages appear mature and maintained

Manual Review

Maintainer approval required:

  • I have reviewed the changes above and approve these dependency updates

To approve: Comment /approve-dependencies or manually add the dependencies-reviewed label.

@balloob

balloob commented Feb 15, 2026

Copy link
Copy Markdown
Contributor

The sendspin-cli sometimes doesn't show metadata, this is a bug in the cli

Fix here Sendspin/sendspin-python-cli#117

Alsmost works now, but cleanup and some major bug fixes are left to iron
out. (with DSP clients)
Remove defensive timeout wrappers (`_await_with_timeout`,
`_timed_lock`) in favor of plain awaits, parallelize member
transform reads with `asyncio.gather`, and add architecture
and join-catchup lifecycle documentation.
The 50ms timeout cancelled the drain but data was already in the
pipe buffer, producing misleading warnings while playback worked
fine. Backpressure is handled by `sleep_to_limit_buffer`.
Split the join-catchup history blob into 100ms slices before
calling `prepare_historical_audio`, preventing a single large
encode from blocking the event loop for ~500ms.
@maximmaxim345 maximmaxim345 added the dependencies-reviewed Indication that any added or modified/updated dependencies on a PR have been reviewed label Feb 17, 2026
@maximmaxim345
maximmaxim345 marked this pull request as ready for review February 17, 2026 09:55
Copilot AI review requested due to automatic review settings February 17, 2026 09:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Sendspin provider from version 3.0.0 to 4.0.1, implementing a major architectural rewrite of the playback system. The update replaces the simple TimedClientStream approach with a sophisticated SendspinPlaybackSession coordinator that supports per-member DSP pipelines, dynamic group membership changes, and late-join historical backfill.

Changes:

  • Updates aiosendspin dependency from 3.0.0 to 4.0.1
  • Removes timed_client_stream.py and replaces it with new playback.py module implementing advanced playback pipeline architecture
  • Refactors player.py to use role-based architecture for metadata, artwork, and controller functions, with dynamic audio format configuration

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
requirements_all.txt Updates aiosendspin from 3.0.0 to 4.0.1
manifest.json Updates aiosendspin requirement to 4.0.1
provider.py Adds AlreadyRegisteredError handling and fixes unload disconnection logic to check for connection availability
player.py Major refactor to role-based architecture, removes MusicAssistantMediaStream class, integrates SendspinPlaybackSession, adds dynamic audio format configuration
playback.py New 1141-line module implementing sophisticated playback session coordinator with per-member DSP pipelines, join-catchup mechanism, and history management
timed_client_stream.py Removed (331 lines) - replaced by playback.py architecture
init.py Changes import from relative to absolute path
README.md Updates file reference from timed_client_stream.py to playback.py

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@marcelveldt

Copy link
Copy Markdown
Member

@maximmaxim345 can you have a look at CoPilot's suggestions ? Some of them make good sense to fix before merging.

@marcelveldt
marcelveldt marked this pull request as draft February 17, 2026 14:18
@marcelveldt

Copy link
Copy Markdown
Member

Marked as draft while you work out these final fixes - hit the "ready for review" button once you are ready

@maximmaxim345
maximmaxim345 marked this pull request as ready for review February 17, 2026 16:21
Copilot AI review requested due to automatic review settings February 17, 2026 16:21

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@marcelveldt marcelveldt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing job again @maximmaxim345 !

@marcelveldt
marcelveldt merged commit 7b82a3a into dev Feb 17, 2026
18 of 19 checks passed
@marcelveldt
marcelveldt deleted the feat/aiosendspin-4.0 branch February 17, 2026 21:46
ALERTua pushed a commit to ALERTua/fork_music_assistant_server that referenced this pull request Mar 12, 2026
trudenboy pushed a commit to trudenboy/ma-server that referenced this pull request Nov 11, 2026
Update music-assistant-frontend to version
[2.17.364](https://github.com/music-assistant/frontend/releases/tag/2.17.364)


## 🚀 Features and enhancements

- Show the played state of audiobook collections and keep their covers
when filtered (by @fmunkes in
[#3034](https://github.com/music-assistant/frontend/pull/3034))
- Move the required source picker into the Filters panel (by @pierosavi
in [#3137](https://github.com/music-assistant/frontend/pull/3137))
- Offer sleep timers that stop at the end of the current item or chapter
(by @fmunkes in
[#3050](https://github.com/music-assistant/frontend/pull/3050))
- Open the right DSP filter from the Audio Pipeline (by @OzGav in
[#3120](https://github.com/music-assistant/frontend/pull/3120))
- Use the library sort and filter controls on genre, browse and author
pages (by @OzGav in
[#3116](https://github.com/music-assistant/frontend/pull/3116))
- Split the artist discography into two rows by release type (by @OzGav
in [#3085](https://github.com/music-assistant/frontend/pull/3085))
- Minimize the fullscreen player when a search result is opened (by
@pierosavi in
[#3131](https://github.com/music-assistant/frontend/pull/3131))
- Enable seeded random sorting in paginated listings (by @dmoo500 in
[#3113](https://github.com/music-assistant/frontend/pull/3113))
- Offer to move Spotify playback here when another player holds it (by
@marcelveldt in
[#3122](https://github.com/music-assistant/frontend/pull/3122))
- Play the Music Quiz on the device that shows it (by @marcelveldt in
[#3124](https://github.com/music-assistant/frontend/pull/3124))
- Let admins view the statistics of other or all users (by @fmunkes in
[#3112](https://github.com/music-assistant/frontend/pull/3112))
- Show who maintains each integration (by @marcelveldt in
[#3115](https://github.com/music-assistant/frontend/pull/3115))
- Add a play button to the track rows of detail pages (by @stvncode in
[#3109](https://github.com/music-assistant/frontend/pull/3109))
- Use the library sort and filter controls on album, playlist, podcast
and radio pages (by @OzGav in
[#3110](https://github.com/music-assistant/frontend/pull/3110))
- Update radio details with shared hero and configurable rows (by
@dmoo500 in
[#3086](https://github.com/music-assistant/frontend/pull/3086))
- Show top artist, album and track in Discover statistics (by @dmoo500
in [#3106](https://github.com/music-assistant/frontend/pull/3106))
- Playlist track reordering drag, multi-track moves, move to top/bottom
(by @apophisnow in
[#3038](https://github.com/music-assistant/frontend/pull/3038))
- Remove the hover box from the favorite and queue buttons in the
fullscreen player (by @stvncode in
[#3107](https://github.com/music-assistant/frontend/pull/3107))
- Add bookmarks for audiobooks and podcast episodes (by @fmunkes in
[#3074](https://github.com/music-assistant/frontend/pull/3074))
- Remember the Discover statistics row period across reloads (by @OzGav
in [#3102](https://github.com/music-assistant/frontend/pull/3102))
- Improve waveform seek preview with 3-level brightness (by @dmoo500 in
[#2146](https://github.com/music-assistant/frontend/pull/2146))
- Show the item type icon when there is no artwork (by @OzGav in
[#3084](https://github.com/music-assistant/frontend/pull/3084))
- Move genre details to shared hero (by @dmoo500 in
[#3076](https://github.com/music-assistant/frontend/pull/3076))
- Show a spinner while opening an album that is not in your library (by
@OzGav in
[#3082](https://github.com/music-assistant/frontend/pull/3082))
- Expose selected-player volume commands to the companion app (by
@teancom in
[#3066](https://github.com/music-assistant/frontend/pull/3066))
- Merge thumbs view compact into thumbs view (by @pierosavi in
[#2926](https://github.com/music-assistant/frontend/pull/2926))
- Add statistics and charts to discover page (by @dmoo500 in
[#2526](https://github.com/music-assistant/frontend/pull/2526))
- Show library sort, view and filters in the title bar (by @stvncode in
[#3065](https://github.com/music-assistant/frontend/pull/3065))
- Load list items before they enter the viewport (by @NasaGeek in
[#3068](https://github.com/music-assistant/frontend/pull/3068))
- Show Live instead of a position for a stopped radio stream (by
@pierosavi in
[#3070](https://github.com/music-assistant/frontend/pull/3070))
- Fade the mobile album artwork into black above the title (by @stvncode
in [#3069](https://github.com/music-assistant/frontend/pull/3069))
- Show song progress in radio stream when available (by @culmat in
[#3042](https://github.com/music-assistant/frontend/pull/3042))
- Select a range of items with shift-click (by @apophisnow in
[#3037](https://github.com/music-assistant/frontend/pull/3037))
- Hide the artist endless mix for authors and narrators (by @fmunkes in
[#3013](https://github.com/music-assistant/frontend/pull/3013))
- Give collection pages the detail page hero (by @fmunkes in
[#3016](https://github.com/music-assistant/frontend/pull/3016))
- Show the in library icon on artist and album pages (by @OzGav in
[#3017](https://github.com/music-assistant/frontend/pull/3017))
- Add folder rule to the smart playlist editor (by @DerGary in
[#2970](https://github.com/music-assistant/frontend/pull/2970))
- Add server-side listings and typed playback sorting (by @dmoo500 in
[#2998](https://github.com/music-assistant/frontend/pull/2998))
- Add space above the featured artists on the playlist page (by
@stvncode in
[#3005](https://github.com/music-assistant/frontend/pull/3005))
- Say Play on the player whenever the play button has room (by @stvncode
in [#3000](https://github.com/music-assistant/frontend/pull/3000))
- Show the artwork full width atop detail pages on phones (by @stvncode
in [#3001](https://github.com/music-assistant/frontend/pull/3001))
- Keep AI Radio preset tags on hosts saved from the editor (by
@MarvinSchenkel in
[#2979](https://github.com/music-assistant/frontend/pull/2979))
- Show larger album art over a softly blurred backdrop (by @stvncode in
[#2997](https://github.com/music-assistant/frontend/pull/2997))
- Make the detail page headers fit on phones (by @stvncode in
[#2996](https://github.com/music-assistant/frontend/pull/2996))
- Onboarding smaller UI/UX improvements (by @pierosavi in
[#2898](https://github.com/music-assistant/frontend/pull/2898))
- Link artists and albums in the playlist table, pin the toolbar on
phones (by @stvncode in
[#2992](https://github.com/music-assistant/frontend/pull/2992))
- Sign in with Home Assistant on the remote app without an External URL
(by @marcelveldt in
[#2967](https://github.com/music-assistant/frontend/pull/2967))
- Refactor ItemsListing and finish library sorting follow-ups (by
@dmoo500 in
[#2985](https://github.com/music-assistant/frontend/pull/2985))
- Centre the empty state on listing pages (by @stvncode in
[#2988](https://github.com/music-assistant/frontend/pull/2988))
- Show where the playing track was played from (by @marcelveldt in
[#2975](https://github.com/music-assistant/frontend/pull/2975))
- Redesign the multi-select bar in listings (by @stvncode in
[#2982](https://github.com/music-assistant/frontend/pull/2982))
- Add BPM and key columns to the playlist track table (by @stvncode in
[#2976](https://github.com/music-assistant/frontend/pull/2976))
- Show the Camelot key in the audio analysis popover (by @MarvinSchenkel
in [#2977](https://github.com/music-assistant/frontend/pull/2977))
- Sync the generic AI Radio host prompts with the server defaults (by
@MarvinSchenkel in
[#2978](https://github.com/music-assistant/frontend/pull/2978))
- Add Camelot key to the audio metadata interface (by @MarvinSchenkel in
[#2974](https://github.com/music-assistant/frontend/pull/2974))
- Show playlist tracks as a table with columns (by @stvncode in
[#2973](https://github.com/music-assistant/frontend/pull/2973))
- Add seek back and forward buttons for audiobooks and podcasts (by
@OzGav in
[#2901](https://github.com/music-assistant/frontend/pull/2901))
- Play AI Radio shows as radio stations (by @MarvinSchenkel in
[#2690](https://github.com/music-assistant/frontend/pull/2690))
- Show playlist and album length as hours and minutes (by @stvncode in
[#2966](https://github.com/music-assistant/frontend/pull/2966))
- Add a search box to the Add to playlist dialog (by @OzGav in
[#2902](https://github.com/music-assistant/frontend/pull/2902))
- Add server-driven library sorting (by @dmoo500 in
[#2928](https://github.com/music-assistant/frontend/pull/2928))
- Redesign the playlist page (by @stvncode in
[#2962](https://github.com/music-assistant/frontend/pull/2962))
- Reorder and hide the podcast page rows (by @stvncode in
[#2964](https://github.com/music-assistant/frontend/pull/2964))
- Line up list headers with their rows (by @stvncode in
[#2965](https://github.com/music-assistant/frontend/pull/2965))
- Open settings from the audio pipeline popover (by @OzGav in
[#2959](https://github.com/music-assistant/frontend/pull/2959))
- Let a DJ segment talk over the intro of the next song (by @jpittelkow
in [#2828](https://github.com/music-assistant/frontend/pull/2828))
- Show grouping options right away when opening players from Now Playing
(by @marcelveldt in
[#2955](https://github.com/music-assistant/frontend/pull/2955))
- Show the Music Assistant URLs in one clear card (by @marcelveldt in
[#2952](https://github.com/music-assistant/frontend/pull/2952))
- Show where a Local files source reads its music from (by @marcelveldt
in [#2948](https://github.com/music-assistant/frontend/pull/2948))
- Add a Documentation button to the player settings page (by
@marcelveldt in
[#2945](https://github.com/music-assistant/frontend/pull/2945))
- Tidier settings pages with all options in one card (by @marcelveldt in
[#2885](https://github.com/music-assistant/frontend/pull/2885))
- Manage a music source from its own page (by @marcelveldt in
[#2887](https://github.com/music-assistant/frontend/pull/2887))
- Show podcast season and episode numbers (by @OzGav in
[#2925](https://github.com/music-assistant/frontend/pull/2925))
- Add a cover-size slider to the grid views (by @stellar-aria in
[#2830](https://github.com/music-assistant/frontend/pull/2830))
- Show played state and podcast name on episode tiles (by @OzGav in
[#2895](https://github.com/music-assistant/frontend/pull/2895))
- Refresh AI Radio state from provider events instead of polling (by
@MarvinSchenkel in
[#2907](https://github.com/music-assistant/frontend/pull/2907))
- Give the podcast page a new header (by @OzGav in
[#2892](https://github.com/music-assistant/frontend/pull/2892))
- Add Podcast episode detail page (by @OzGav in
[#2619](https://github.com/music-assistant/frontend/pull/2619))
- Show podcast transcripts in the player (by @OzGav in
[#2602](https://github.com/music-assistant/frontend/pull/2602))
- Show the player of your own device as "This device" (by @marcelveldt
in [#2888](https://github.com/music-assistant/frontend/pull/2888))
- Play a folder from inside it in Browse (by @marcelveldt in
[#2889](https://github.com/music-assistant/frontend/pull/2889))
- Ask before removing a custom ambient sound (by @marcelveldt in
[#2886](https://github.com/music-assistant/frontend/pull/2886))
- Open the options menu of music sources and player cards with
right-click or long-press (by @marcelveldt in
[#2884](https://github.com/music-assistant/frontend/pull/2884))
- Make it harder to remove a music source by accident (by @marcelveldt
in [#2877](https://github.com/music-assistant/frontend/pull/2877))
- Simplify player card warning styling
([#63](https://github.com/music-assistant/frontend/pull/63)) (by
@joperafe in
[#2188](https://github.com/music-assistant/frontend/pull/2188))
- Show the album type in an artist's Appears on row (by @marcelveldt in
[#2879](https://github.com/music-assistant/frontend/pull/2879))
- Make the back button work in the Home Assistant app (by @marcelveldt
in [#2847](https://github.com/music-assistant/frontend/pull/2847))
- Refresh artist and album page rows when the library changes (by
@marcelveldt in
[#2876](https://github.com/music-assistant/frontend/pull/2876))
- Pick where your music lives: folder picker and Storage settings (by
@marcelveldt in
[#2860](https://github.com/music-assistant/frontend/pull/2860))
- Use Escape for back navigation (by @teancom in
[#2850](https://github.com/music-assistant/frontend/pull/2850))
- Press Space to play or pause (by @pierosavi in
[#2714](https://github.com/music-assistant/frontend/pull/2714))
- Unify and refine Discover shelf scrolling (by @trisweb in
[#2693](https://github.com/music-assistant/frontend/pull/2693))
- Change volume with the mouse wheel in the group volume popout (by
@modernman1 in
[#2678](https://github.com/music-assistant/frontend/pull/2678))
- Allow for sorting playlist tracks by date added (by @kees in
[#2824](https://github.com/music-assistant/frontend/pull/2824))
- Drag the rows sideways with the mouse (by @OzGav in
[#2676](https://github.com/music-assistant/frontend/pull/2676))
- Show an artist's full discography from MusicBrainz (by @marcelveldt in
[#2852](https://github.com/music-assistant/frontend/pull/2852))
- Open "View all" on the album shelf's source, even when another source
is pinned (by @marcelveldt in
[#2848](https://github.com/music-assistant/frontend/pull/2848))
- Favorites are yours, and you can dislike (by @marcelveldt in
[#2834](https://github.com/music-assistant/frontend/pull/2834))
- Add a source picker to the album page's "more from this artist" row
(by @marcelveldt in
[#2841](https://github.com/music-assistant/frontend/pull/2841))
- Explain empty top-tracks and similar-artists rows on the artist page
(by @marcelveldt in
[#2838](https://github.com/music-assistant/frontend/pull/2838))
- Remove the count beside "Other versions" (by @marcelveldt in
[#2844](https://github.com/music-assistant/frontend/pull/2844))
- Fit the detail page header to smaller screens (by @marcelveldt in
[#2843](https://github.com/music-assistant/frontend/pull/2843))
- Tidy up the album page rows (by @marcelveldt in
[#2837](https://github.com/music-assistant/frontend/pull/2837))
- Switch a row's source faster on the artist page (by @marcelveldt in
[#2831](https://github.com/music-assistant/frontend/pull/2831))
- Match the add-group-player picker to the other settings dialogs (by
@marcelveldt in
[#2836](https://github.com/music-assistant/frontend/pull/2836))
- Tidy up the redesigned artist page (by @marcelveldt in
[#2802](https://github.com/music-assistant/frontend/pull/2802))
- A bigger global search that remembers your last search (by
@marcelveldt in
[#2800](https://github.com/music-assistant/frontend/pull/2800))
- Add the item menu to search results (by @OzGav in
[#2679](https://github.com/music-assistant/frontend/pull/2679))
- Show listeners a fitting AI Radio empty state (by @marcelveldt in
[#2810](https://github.com/music-assistant/frontend/pull/2810))
- Improve Player Group UX clarity (by @trisweb in
[#2695](https://github.com/music-assistant/frontend/pull/2695))
- Create the first admin account inside the setup wizard (by
@marcelveldt in
[#2799](https://github.com/music-assistant/frontend/pull/2799))
- Offer a short tour of the app after onboarding and from the profile
menu (by @marcelveldt in
[#2791](https://github.com/music-assistant/frontend/pull/2791))
- Show the music sources shared with you in Settings and tidy up user
management (by @marcelveldt in
[#2792](https://github.com/music-assistant/frontend/pull/2792))
- Show the players already found in the setup wizard (by @marcelveldt in
[#2790](https://github.com/music-assistant/frontend/pull/2790))
- Ask new users for the standard or expert experience and split the
welcome into short steps (by @marcelveldt in
[#2789](https://github.com/music-assistant/frontend/pull/2789))
- Give the add-provider dialog more room (by @marcelveldt in
[#2788](https://github.com/music-assistant/frontend/pull/2788))
- Explain and check the server addresses in the setup wizard (by
@marcelveldt in
[#2783](https://github.com/music-assistant/frontend/pull/2783))
- Show onboarding as a pop-up and fix moving between steps (by
@marcelveldt in
[#2782](https://github.com/music-assistant/frontend/pull/2782))
- Clearer onboarding wizard wording and a recommended first step (by
@marcelveldt in
[#2781](https://github.com/music-assistant/frontend/pull/2781))
- Gray accents on the now playing screen (by @MarvinSchenkel in
[#2762](https://github.com/music-assistant/frontend/pull/2762))
- Invite members to connect their own music accounts (by @marcelveldt in
[#2773](https://github.com/music-assistant/frontend/pull/2773))
- New look for the album page (by @stvncode in
[#2760](https://github.com/music-assistant/frontend/pull/2760))
- Clearer sources and layout on the artist page (by @stvncode in
[#2758](https://github.com/music-assistant/frontend/pull/2758))
- Consistent focus style for the favorite button in item details (by
@marcelveldt in
[#2756](https://github.com/music-assistant/frontend/pull/2756))
- New look for the track page with customizable rows (by @stvncode in
[#2729](https://github.com/music-assistant/frontend/pull/2729))
- Welcome new household members with their own onboarding (by
@marcelveldt in
[#2750](https://github.com/music-assistant/frontend/pull/2750))
- Make the action icons in the item header keyboard accessible (by
@marcelveldt in
[#2748](https://github.com/music-assistant/frontend/pull/2748))
- Replace the last browser popups with the app's own dialogs (by
@stvncode in
[#2746](https://github.com/music-assistant/frontend/pull/2746))
- Add server settings and household members to the onboarding wizard (by
@marcelveldt in
[#2740](https://github.com/music-assistant/frontend/pull/2740))
- Pick which sources the search box searches (by @stvncode in
[#2745](https://github.com/music-assistant/frontend/pull/2745))
- Create your own user roles in user management (by @marcelveldt in
[#2732](https://github.com/music-assistant/frontend/pull/2732))
- Clearer labels on the artist page (by @stvncode in
[#2744](https://github.com/music-assistant/frontend/pull/2744))
- Ask before removing a music source from the list (by @marcelveldt in
[#2738](https://github.com/music-assistant/frontend/pull/2738))
- Reset scroll position on route change (by @pierosavi in
[#2722](https://github.com/music-assistant/frontend/pull/2722))
- Share Music Assistant playlists with other members (by @marcelveldt in
[#2731](https://github.com/music-assistant/frontend/pull/2731))
- Guide new admins through setup with an onboarding wizard (by
@marcelveldt in
[#2733](https://github.com/music-assistant/frontend/pull/2733))
- Show the Home Assistant system account in user management (by
@marcelveldt in
[#2730](https://github.com/music-assistant/frontend/pull/2730))
- Let members pick who to share a music source with (by @marcelveldt in
[#2727](https://github.com/music-assistant/frontend/pull/2727))
- New look for the artist page with customizable rows (by @stvncode in
[#2720](https://github.com/music-assistant/frontend/pull/2720))
- Drop the plugin logo on built-in discover rows (by @marcelveldt in
[#2719](https://github.com/music-assistant/frontend/pull/2719))
- Owner and sharing controls for music sources (by @marcelveldt in
[#2716](https://github.com/music-assistant/frontend/pull/2716))
- Link to the audio analysis status page from the providers tab (by
@OzGav in
[#2708](https://github.com/music-assistant/frontend/pull/2708))
- Improve accessible names for icon controls (by @teancom in
[#2569](https://github.com/music-assistant/frontend/pull/2569))
- Migrate playlists between providers (by @marcelveldt in
[#2647](https://github.com/music-assistant/frontend/pull/2647))
- Update browser title with current track and artist (by @phiychai in
[#2649](https://github.com/music-assistant/frontend/pull/2649))
- Add match policy option to playlist import (by @marcelveldt in
[#2646](https://github.com/music-assistant/frontend/pull/2646))

## 🐛 Bugfixes

- Send quiz guests back to the Party page when the quiz is over (by
@marcelveldt in
[#3126](https://github.com/music-assistant/frontend/pull/3126))
- Recognize this browser's web player when opened from the Home
Assistant sidebar (by @marcelveldt in
[#3125](https://github.com/music-assistant/frontend/pull/3125))
- Show one message when a play action fails, not two (by @marcelveldt in
[#3121](https://github.com/music-assistant/frontend/pull/3121))
- Load only English and German translations in tests (by @stvncode in
[#3101](https://github.com/music-assistant/frontend/pull/3101))
- Fix the top artist card and page scrolling on the statistics page (by
@pierosavi in
[#3088](https://github.com/music-assistant/frontend/pull/3088))
- Fit the statistics page on small screens (by @stvncode in
[#3087](https://github.com/music-assistant/frontend/pull/3087))
- Show same-named artists in search results (by @NasaGeek in
[#2999](https://github.com/music-assistant/frontend/pull/2999))
- Stop the load more spinner once every item is loaded (by @stvncode in
[#3083](https://github.com/music-assistant/frontend/pull/3083))
- Keep the mobile search usable on short screens (by @pierosavi in
[#3077](https://github.com/music-assistant/frontend/pull/3077))
- Keep source-only Sendspin devices in the player menu until they're set
up (by @maximmaxim345 in
[#3051](https://github.com/music-assistant/frontend/pull/3051))
- Avoid background refresh to clear the name field in MusicQuiz (by
@TimoPtr in
[#2944](https://github.com/music-assistant/frontend/pull/2944))
- Stop detail pages flashing while an item is refreshed (by @OzGav in
[#3048](https://github.com/music-assistant/frontend/pull/3048))
- Use a separate translation for the setup alert Review button (by
@MarvinSchenkel in
[#3032](https://github.com/music-assistant/frontend/pull/3032))
- Fix waveform progress bar seeking to the start on click (by
@MarvinSchenkel in
[#3031](https://github.com/music-assistant/frontend/pull/3031))
- Keep the active sidebar colour on visited links (by @CaseyRo in
[#3006](https://github.com/music-assistant/frontend/pull/3006))
- Add new language options to translations (by @OzGav in
[#3012](https://github.com/music-assistant/frontend/pull/3012))
- Make line-in restartable in the player bar and cards (by
@maximmaxim345 in
[#3008](https://github.com/music-assistant/frontend/pull/3008))
- Load the first page of library listings while sort options are still
loading (by @fmunkes in
[#2984](https://github.com/music-assistant/frontend/pull/2984))
- Let admins pause and resume the setup wizard (by @pierosavi in
[#2980](https://github.com/music-assistant/frontend/pull/2980))
- Show a retry button when a listing fails to load (by @stvncode in
[#2989](https://github.com/music-assistant/frontend/pull/2989))
- Show only one spinner in the Command Center search (by @stvncode in
[#2990](https://github.com/music-assistant/frontend/pull/2990))
- Stop the listing search from flickering while it opens (by @stvncode
in [#2983](https://github.com/music-assistant/frontend/pull/2983))
- Fix page titles cutting off the bottom of letters (by @OzGav in
[#2969](https://github.com/music-assistant/frontend/pull/2969))
- Fix audiobook collection pages not loading (by @fmunkes in
[#2971](https://github.com/music-assistant/frontend/pull/2971))
- Keep DSP preset badge when toggling DSP on/off (by @OzGav in
[#2899](https://github.com/music-assistant/frontend/pull/2899))
- Play albums and playlists in the order their page shows (by @OzGav in
[#2961](https://github.com/music-assistant/frontend/pull/2961))
- Stop listings from retrying a failed load as fast as it fails (by
@Bazooper-blip in
[#2953](https://github.com/music-assistant/frontend/pull/2953))
- Show settings save errors only once (by @marcelveldt in
[#2958](https://github.com/music-assistant/frontend/pull/2958))
- Fix saving a cleared optional number setting (by @marcelveldt in
[#2957](https://github.com/music-assistant/frontend/pull/2957))
- Hide Home Assistant sign-in on Remote Access without an External URL
(by @marcelveldt in
[#2951](https://github.com/music-assistant/frontend/pull/2951))
- Get the dashboard link even without a cast device (by @marcelveldt in
[#2950](https://github.com/music-assistant/frontend/pull/2950))
- Left-align dialog titles on desktop (by @marcelveldt in
[#2949](https://github.com/music-assistant/frontend/pull/2949))
- Prevent audio session dropping when paused (by @pierosavi in
[#2721](https://github.com/music-assistant/frontend/pull/2721))
- Keep the floating Save button from covering the last setting (by
@marcelveldt in
[#2937](https://github.com/music-assistant/frontend/pull/2937))
- Let party guests re-request tracks when duplicates are allowed (by
@MarvinSchenkel in
[#2872](https://github.com/music-assistant/frontend/pull/2872))
- Show album and track versions in search results (by @MarvinSchenkel in
[#2923](https://github.com/music-assistant/frontend/pull/2923))
- Show the source name in the Reconfigure dialog when the source is not
loaded (by @marcelveldt in
[#2908](https://github.com/music-assistant/frontend/pull/2908))
- Don't repeat the album year on every track of an album page (by
@MarvinSchenkel in
[#2924](https://github.com/music-assistant/frontend/pull/2924))
- Remember the web player volume between sessions (by @OzGav in
[#2900](https://github.com/music-assistant/frontend/pull/2900))
- Avoid duplicate library items in global search results (by
@marcelveldt in
[#2905](https://github.com/music-assistant/frontend/pull/2905))
- Line up the Cancel button in confirmation dialogs (by @marcelveldt in
[#2909](https://github.com/music-assistant/frontend/pull/2909))
- Fix player covering sidebar (by @pierosavi in
[#2906](https://github.com/music-assistant/frontend/pull/2906))
- Add the missing SVG app icon (by @marcelveldt in
[#2903](https://github.com/music-assistant/frontend/pull/2903))
- Keep the onboarding wizard from covering a setup dialog (by
@marcelveldt in
[#2897](https://github.com/music-assistant/frontend/pull/2897))
- Allow renaming or disabling a player that still needs setup from the
players list (by @marcelveldt in
[#2890](https://github.com/music-assistant/frontend/pull/2890))
- Never auto-select players for dashboard viewers (by @jozefKruszynski
in [#2618](https://github.com/music-assistant/frontend/pull/2618))
- Keep the queue reorder grip from opening the item menu on long-press
(by @MarvinSchenkel in
[#2881](https://github.com/music-assistant/frontend/pull/2881))
- Show the right source for artist top tracks and streaming services (by
@marcelveldt in
[#2880](https://github.com/music-assistant/frontend/pull/2880))
- Center play buttons and fix icon sizes in the player controls (by
@marcelveldt in
[#2874](https://github.com/music-assistant/frontend/pull/2874))
- Fix "album_type.undefined" in an artist's Appears on list (by
@marcelveldt in
[#2878](https://github.com/music-assistant/frontend/pull/2878))
- Keep the page scrollbar above the player bar (by @trisweb in
[#2696](https://github.com/music-assistant/frontend/pull/2696))
- Fix redundant mobile sidebar announcements (by @bartbunting in
[#2754](https://github.com/music-assistant/frontend/pull/2754))
- Fix missing accessible label on player mute button (by @bartbunting in
[#2761](https://github.com/music-assistant/frontend/pull/2761))
- Only show read more when there is more to read (by @OzGav in
[#2832](https://github.com/music-assistant/frontend/pull/2832))
- Show results from every provider in the global search (by
@MarvinSchenkel in
[#2845](https://github.com/music-assistant/frontend/pull/2845))
- Allow selecting and copying text in the setup wizard (by
@MarvinSchenkel in
[#2839](https://github.com/music-assistant/frontend/pull/2839))
- Keep the player popouts clear of the status bar on phones (by
@marcelveldt in
[#2855](https://github.com/music-assistant/frontend/pull/2855))
- Allow selecting text in read-only config label fields (by
@MarvinSchenkel in
[#2717](https://github.com/music-assistant/frontend/pull/2717))
- Avoid duplicate media titles in screen reader announcements (by
@bartbunting in
[#2759](https://github.com/music-assistant/frontend/pull/2759))
- Fix wrong artist's albums showing on the See-all page (by @marcelveldt
in [#2842](https://github.com/music-assistant/frontend/pull/2842))
- Hide play button on non-playable search results (by @marcelveldt in
[#2833](https://github.com/music-assistant/frontend/pull/2833))
- Show setting help in a popover next to the field (by @marcelveldt in
[#2796](https://github.com/music-assistant/frontend/pull/2796))
- Show the source name in audio details when a music source isn't shared
(by @marcelveldt in
[#2784](https://github.com/music-assistant/frontend/pull/2784))
- Show Party, AI Radio and the visualizer to guests (by @marcelveldt in
[#2777](https://github.com/music-assistant/frontend/pull/2777))
- Show radio stream artwork in the Party dashboard (by @pierosavi in
[#2712](https://github.com/music-assistant/frontend/pull/2712))
- Space a source's icon apart from its name (by @stvncode in
[#2774](https://github.com/music-assistant/frontend/pull/2774))
- Report and undo a failed music source rename (by @marcelveldt in
[#2772](https://github.com/music-assistant/frontend/pull/2772))
- Show edit errors and require write access to edit playlists (by
@marcelveldt in
[#2755](https://github.com/music-assistant/frontend/pull/2755))
- Fix item menu not updating position correctly (by @pierosavi in
[#2715](https://github.com/music-assistant/frontend/pull/2715))
- Disable autoplay controls while repeat is on (by @MarvinSchenkel in
[#2711](https://github.com/music-assistant/frontend/pull/2711))
- Show the right release year for tracks in time zones west of UTC (by
@OzGav in
[#2697](https://github.com/music-assistant/frontend/pull/2697))
- Keep sidebar shortcuts tidied up after a provider is removed (by
@OzGav in
[#2694](https://github.com/music-assistant/frontend/pull/2694))
- Keep the app on screen while it reconnects after being backgrounded
(by @MarvinSchenkel in
[#2689](https://github.com/music-assistant/frontend/pull/2689))
- Fix playlist import match-policy version gate (by @marcelveldt in
[#2675](https://github.com/music-assistant/frontend/pull/2675))

## 🧰 Maintenance and dependency bumps

<details>
<summary>210 changes</summary>

- Bump vue-i18n from 11.4.16 to 11.4.18 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3152](https://github.com/music-assistant/frontend/pull/3152))
- Bump @intlify/unplugin-vue-i18n from 11.2.5 to 11.2.8 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3150](https://github.com/music-assistant/frontend/pull/3150))
- Keep the disable-player confirmation open, and Escape in a rename away
from the setup wizard (by @marcelveldt in
[#3158](https://github.com/music-assistant/frontend/pull/3158))
- Describe how onboarding completes now that adding a provider no longer
does (by @marcelveldt in
[#3156](https://github.com/music-assistant/frontend/pull/3156))
- Bump @tanstack/vue-virtual from 3.13.50 to 3.13.52 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3149](https://github.com/music-assistant/frontend/pull/3149))
- Bump @tailwindcss/vite from 4.3.3 to 4.3.5 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3148](https://github.com/music-assistant/frontend/pull/3148))
- Bump swiper from 14.3.0 to 14.4.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3145](https://github.com/music-assistant/frontend/pull/3145))
- Bump vite from 8.3.5 to 8.3.6 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3154](https://github.com/music-assistant/frontend/pull/3154))
- Bump peter-evans/create-pull-request from 8.1.1 to 8.1.2 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3143](https://github.com/music-assistant/frontend/pull/3143))
- Stop publishing the frontend to PyPI (by @marcelveldt in
[#3127](https://github.com/music-assistant/frontend/pull/3127))
- Run the nightly release an hour earlier (by @marcelveldt in
[#3134](https://github.com/music-assistant/frontend/pull/3134))
- Don't send a stable pin PR to the wrong server branch (by @marcelveldt
in [#3129](https://github.com/music-assistant/frontend/pull/3129))
- Use shared SVG icons for explicit content badges (by @dmoo500 in
[#3118](https://github.com/music-assistant/frontend/pull/3118))
- Update the Web player to Sendspin 1.0.0-rc1 (by @maximmaxim345 in
[#3119](https://github.com/music-assistant/frontend/pull/3119))
- Replace the tabler icon package with local player icons (by @stvncode
in [#3108](https://github.com/music-assistant/frontend/pull/3108))
- Replace genre, DSP menu and party badge icons with Lucide (by @dmoo500
in [#3104](https://github.com/music-assistant/frontend/pull/3104))
- Automate frontend backports for the stable server release (by
@marcelveldt in
[#3010](https://github.com/music-assistant/frontend/pull/3010))
- Bump eslint from 10.13.0 to 10.14.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3092](https://github.com/music-assistant/frontend/pull/3092))
- Bump sass from 1.105.0 to 1.107.1 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3095](https://github.com/music-assistant/frontend/pull/3095))
- Bump @lucide/vue from 1.61.0 to 1.66.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3097](https://github.com/music-assistant/frontend/pull/3097))
- Bump ts-pattern from 5.9.0 to 5.9.2 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3098](https://github.com/music-assistant/frontend/pull/3098))
- Bump @tabler/icons-vue from 3.48.0 to 3.50.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3093](https://github.com/music-assistant/frontend/pull/3093))
- Bump marked from 18.1.1 to 18.1.2 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3094](https://github.com/music-assistant/frontend/pull/3094))
- Bump vite from 8.3.4 to 8.3.5 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3096](https://github.com/music-assistant/frontend/pull/3096))
- Bump zod from 4.6.6 to 4.6.7 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3099](https://github.com/music-assistant/frontend/pull/3099))
- Lokalise translations update (by
@[github-actions[bot]](https://github.com/apps/github-actions) in
[#3090](https://github.com/music-assistant/frontend/pull/3090))
- Bump @tanstack/vue-virtual from 3.13.39 to 3.13.50 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3100](https://github.com/music-assistant/frontend/pull/3100))
- Replace the Vuetify Container wrapper with plain elements (by
@pierosavi in
[#3073](https://github.com/music-assistant/frontend/pull/3073))
- Split account and statistics API modules (by @dmoo500 in
[#3080](https://github.com/music-assistant/frontend/pull/3080))
- Turn off the Vitest module cache that breaks Vuetify styles on reruns
(by @stvncode in
[#3078](https://github.com/music-assistant/frontend/pull/3078))
- Share the detail section title (by @OzGav in
[#3075](https://github.com/music-assistant/frontend/pull/3075))
- Give the warning colour and slider their own theme tokens (by
@pierosavi in
[#3071](https://github.com/music-assistant/frontend/pull/3071))
- Stop reading Vuetify's theme state (by @pierosavi in
[#3067](https://github.com/music-assistant/frontend/pull/3067))
- Move the delete and disable user dialogs to shadcn-vue (by @pierosavi
in [#3036](https://github.com/music-assistant/frontend/pull/3036))
- Bump vue-tsc from 3.3.11 to 3.3.13 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3057](https://github.com/music-assistant/frontend/pull/3057))
- Bump vite-plugin-pwa from 1.3.0 to 2.0.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3062](https://github.com/music-assistant/frontend/pull/3062))
- Bump eslint from 10.11.0 to 10.13.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3061](https://github.com/music-assistant/frontend/pull/3061))
- Bump oxlint and eslint-plugin-oxlint (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3060](https://github.com/music-assistant/frontend/pull/3060))
- Bump vitest from 5.0.3 to 5.0.5 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3059](https://github.com/music-assistant/frontend/pull/3059))
- Bump vue-i18n from 11.4.14 to 11.4.16 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3058](https://github.com/music-assistant/frontend/pull/3058))
- Bump marked from 18.0.14 to 18.1.1 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3056](https://github.com/music-assistant/frontend/pull/3056))
- Bump typescript-eslint from 8.71.0 to 8.72.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3055](https://github.com/music-assistant/frontend/pull/3055))
- Lokalise translations update (by
@[github-actions[bot]](https://github.com/apps/github-actions) in
[#3052](https://github.com/music-assistant/frontend/pull/3052))
- Bump @lucide/vue from 1.51.0 to 1.61.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3063](https://github.com/music-assistant/frontend/pull/3063))
- Bump @vitest/coverage-v8 from 4.1.10 to 5.0.5 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3064](https://github.com/music-assistant/frontend/pull/3064))
- Bump pypa/gh-action-pypi-publish from 1.14.2 to 1.14.3 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3054](https://github.com/music-assistant/frontend/pull/3054))
- Bump actions/setup-python from 7.0.0 to 7.1.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3053](https://github.com/music-assistant/frontend/pull/3053))
- Bump happy-dom from 20.11.6 to 21.0.4 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3046](https://github.com/music-assistant/frontend/pull/3046))
- Bump zod from 4.6.5 to 4.6.6 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3045](https://github.com/music-assistant/frontend/pull/3045))
- Bump dompurify from 3.4.16 to 3.4.17 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3044](https://github.com/music-assistant/frontend/pull/3044))
- Bump @vitest/ui from 5.0.0 to 5.0.5 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3043](https://github.com/music-assistant/frontend/pull/3043))
- Lokalise translations update (by
@[github-actions[bot]](https://github.com/apps/github-actions) in
[#3018](https://github.com/music-assistant/frontend/pull/3018))
- Bump reka-ui from 2.10.5 to 2.11.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3021](https://github.com/music-assistant/frontend/pull/3021))
- Bump @vitejs/plugin-vue from 6.0.9 to 6.0.10 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3025](https://github.com/music-assistant/frontend/pull/3025))
- Bump vue-i18n from 11.4.12 to 11.4.14 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3022](https://github.com/music-assistant/frontend/pull/3022))
- Bump vite from 8.3.2 to 8.3.4 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3023](https://github.com/music-assistant/frontend/pull/3023))
- Bump vue from 3.5.43 to 3.5.44 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3024](https://github.com/music-assistant/frontend/pull/3024))
- Bump swiper from 14.2.0 to 14.3.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3026](https://github.com/music-assistant/frontend/pull/3026))
- updated PWA and touch icons (by @elcaptain in
[#3003](https://github.com/music-assistant/frontend/pull/3003))
- Run tests, lint and build as parallel CI jobs (by @pierosavi in
[#3030](https://github.com/music-assistant/frontend/pull/3030))
- Bump vue-router from 5.2.0 to 5.4.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3029](https://github.com/music-assistant/frontend/pull/3029))
- Bump oxlint and eslint-plugin-oxlint (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3020](https://github.com/music-assistant/frontend/pull/3020))
- Bump prettier from 3.9.9 to 3.9.10 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3028](https://github.com/music-assistant/frontend/pull/3028))
- Bump @types/node from 26.6.4 to 26.6.5 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3027](https://github.com/music-assistant/frontend/pull/3027))
- Bump actions/create-github-app-token from 3.2.0 to 3.3.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#3019](https://github.com/music-assistant/frontend/pull/3019))
- Show sign-in errors in the language of the app (by @marcelveldt in
[#3002](https://github.com/music-assistant/frontend/pull/3002))
- Move the settings, players and providers lists to shadcn-vue (by
@pierosavi in
[#2986](https://github.com/music-assistant/frontend/pull/2986))
- Bump actions/setup-node from 7.0.0 to 7.1.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2995](https://github.com/music-assistant/frontend/pull/2995))
- Bump release-drafter/release-drafter from 7.9.0 to 7.10.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2994](https://github.com/music-assistant/frontend/pull/2994))
- Stop the dev server reloading when a page uses a new Vuetify component
(by @pierosavi in
[#2993](https://github.com/music-assistant/frontend/pull/2993))
- Replace the home rows loading spinner with the shadcn Spinner (by
@pierosavi in
[#2981](https://github.com/music-assistant/frontend/pull/2981))
- Lokalise translations update (by
@[github-actions[bot]](https://github.com/apps/github-actions) in
[#2968](https://github.com/music-assistant/frontend/pull/2968))
- Add contributor guidelines for Claude Code (by @stvncode in
[#2972](https://github.com/music-assistant/frontend/pull/2972))
- Bump @types/node from 26.2.0 to 26.6.4 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2913](https://github.com/music-assistant/frontend/pull/2913))
- Add 'sk_SK' to VAR_LANGUAGES in workflow (by @OzGav in
[#2960](https://github.com/music-assistant/frontend/pull/2960))
- Document Tailwind-first styling (by @stvncode in
[#2963](https://github.com/music-assistant/frontend/pull/2963))
- Show a banner on unsupported installations (by @marcelveldt in
[#2954](https://github.com/music-assistant/frontend/pull/2954))
- Label the voice-over transition in the audio processing details (by
@marcelveldt in
[#2956](https://github.com/music-assistant/frontend/pull/2956))
- Show the album cover for tracks in the party view (by @marcelveldt in
[#2946](https://github.com/music-assistant/frontend/pull/2946))
- Keep keyboard focus on the menu button after closing a menu (by
@marcelveldt in
[#2947](https://github.com/music-assistant/frontend/pull/2947))
- Share how detail pages keep up with item updates (by @OzGav in
[#2933](https://github.com/music-assistant/frontend/pull/2933))
- Remove unused fallback from the Add player group page (by @marcelveldt
in [#2941](https://github.com/music-assistant/frontend/pull/2941))
- Remove unused watcher from the Add player group dialog (by
@marcelveldt in
[#2940](https://github.com/music-assistant/frontend/pull/2940))
- Remove unused fallback from the Add player group dialog (by
@marcelveldt in
[#2939](https://github.com/music-assistant/frontend/pull/2939))
- Remove unused provider check from the player grouping picker (by
@marcelveldt in
[#2938](https://github.com/music-assistant/frontend/pull/2938))
- Re-enable the vue/no-v-html lint rule (by @MarvinSchenkel in
[#2930](https://github.com/music-assistant/frontend/pull/2930))
- Remove unused fallback from remote album art loading (by @marcelveldt
in [#2935](https://github.com/music-assistant/frontend/pull/2935))
- Remove leftover support code for outdated servers (by @marcelveldt in
[#2936](https://github.com/music-assistant/frontend/pull/2936))
- Ask web app users to update an outdated server instead of hiding
features (by @marcelveldt in
[#2891](https://github.com/music-assistant/frontend/pull/2891))
- ⬆️ Sync shared-icons to 0.4.0 (by
@[musicassistant-bot[bot]](https://github.com/apps/musicassistant-bot)
in [#2931](https://github.com/music-assistant/frontend/pull/2931))
- Show read-only locations in the folder picker (by @marcelveldt in
[#2910](https://github.com/music-assistant/frontend/pull/2910))
- Remove unused shortcut helpers that compare pins by their text (by
@marcelveldt in
[#2927](https://github.com/music-assistant/frontend/pull/2927))
- Bump release-drafter/release-drafter from 7.7.0 to 7.9.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2912](https://github.com/music-assistant/frontend/pull/2912))
- Bump @vueuse/core from 14.3.0 to 15.0.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2916](https://github.com/music-assistant/frontend/pull/2916))
- Lokalise translations update (by
@[github-actions[bot]](https://github.com/apps/github-actions) in
[#2911](https://github.com/music-assistant/frontend/pull/2911))
- Bump vitest from 4.1.11 to 5.0.3 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2914](https://github.com/music-assistant/frontend/pull/2914))
- Bump @tabler/icons-vue from 3.46.0 to 3.48.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2915](https://github.com/music-assistant/frontend/pull/2915))
- Bump @lucide/vue from 1.48.0 to 1.51.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2918](https://github.com/music-assistant/frontend/pull/2918))
- Bump lint-staged from 17.5.1 to 17.6.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2919](https://github.com/music-assistant/frontend/pull/2919))
- Bump oxlint and eslint-plugin-oxlint (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2920](https://github.com/music-assistant/frontend/pull/2920))
- Bump typescript-eslint from 8.70.1 to 8.71.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2921](https://github.com/music-assistant/frontend/pull/2921))
- Bump vite from 8.3.0 to 8.3.2 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2917](https://github.com/music-assistant/frontend/pull/2917))
- Say on the Storage page why a location can not be removed (by
@marcelveldt in
[#2922](https://github.com/music-assistant/frontend/pull/2922))
- Bump @lucide/vue from 1.33.0 to 1.48.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2871](https://github.com/music-assistant/frontend/pull/2871))
- Use consistent wording for the app and menu paths (by @marcelveldt in
[#2904](https://github.com/music-assistant/frontend/pull/2904))
- Bump eslint-plugin-vue from 10.10.0 to 10.11.1 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2864](https://github.com/music-assistant/frontend/pull/2864))
- Bump dompurify from 3.4.14 to 3.4.16 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2883](https://github.com/music-assistant/frontend/pull/2883))
- Bump sass from 1.104.0 to 1.105.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2866](https://github.com/music-assistant/frontend/pull/2866))
- Bump tailwind-merge from 3.6.0 to 3.7.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2862](https://github.com/music-assistant/frontend/pull/2862))
- Bump @vitejs/plugin-vue from 6.0.8 to 6.0.9 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2868](https://github.com/music-assistant/frontend/pull/2868))
- Bump reka-ui from 2.10.3 to 2.10.5 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2869](https://github.com/music-assistant/frontend/pull/2869))
- Bump vue from 3.5.41 to 3.5.43 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2865](https://github.com/music-assistant/frontend/pull/2865))
- Only show players that still need setup to users who can set them up
(by @marcelveldt in
[#2893](https://github.com/music-assistant/frontend/pull/2893))
- Fix the pre-commit hook picking an old Node version (by @marcelveldt
in [#2894](https://github.com/music-assistant/frontend/pull/2894))
- Lokalise translations update (by
@[github-actions[bot]](https://github.com/apps/github-actions) in
[#2861](https://github.com/music-assistant/frontend/pull/2861))
- Shared icons repo sync logic rework (by @pierosavi in
[#2775](https://github.com/music-assistant/frontend/pull/2775))
- Clearer naming for an artist's track list (by @marcelveldt in
[#2882](https://github.com/music-assistant/frontend/pull/2882))
- Fix the slow AI Radio prefetch test (by @teancom in
[#2709](https://github.com/music-assistant/frontend/pull/2709))
- Bump zod from 4.6.2 to 4.6.5 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2870](https://github.com/music-assistant/frontend/pull/2870))
- Move the Storage settings under System and offer a location as music
source (by @marcelveldt in
[#2875](https://github.com/music-assistant/frontend/pull/2875))
- Bump prettier from 3.8.3 to 3.9.9 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2867](https://github.com/music-assistant/frontend/pull/2867))
- Open the start page after logging out (by @marcelveldt in
[#2873](https://github.com/music-assistant/frontend/pull/2873))
- Keep TanStack Form packages on the same version (by @marcelveldt in
[#2858](https://github.com/music-assistant/frontend/pull/2858))
- Bump vue-i18n from 11.4.10 to 11.4.12 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2819](https://github.com/music-assistant/frontend/pull/2819))
- Bump typescript-eslint from 8.68.0 to 8.70.1 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2816](https://github.com/music-assistant/frontend/pull/2816))
- Bump lint-staged from 17.4.1 to 17.5.1 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2818](https://github.com/music-assistant/frontend/pull/2818))
- Say "music source" instead of "provider" in more places (by
@marcelveldt in
[#2857](https://github.com/music-assistant/frontend/pull/2857))
- Use the same help box on every DSP filter (by @OzGav in
[#2849](https://github.com/music-assistant/frontend/pull/2849))
- Bump eslint from 10.9.1 to 10.11.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2820](https://github.com/music-assistant/frontend/pull/2820))
- Bump @vue/test-utils from 2.5.0 to 2.5.1 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2817](https://github.com/music-assistant/frontend/pull/2817))
- Bump @tanstack/vue-virtual from 3.13.30 to 3.13.39 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2814](https://github.com/music-assistant/frontend/pull/2814))
- Bump jsdom from 30.0.1 to 30.1.1 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2813](https://github.com/music-assistant/frontend/pull/2813))
- Bump marked from 18.0.11 to 18.0.14 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2812](https://github.com/music-assistant/frontend/pull/2812))
- Cleaner provider icon sizing via a CSS variable (by @marcelveldt in
[#2854](https://github.com/music-assistant/frontend/pull/2854))
- Tell Copilot the frontend ships in lockstep with the server (by
@marcelveldt in
[#2856](https://github.com/music-assistant/frontend/pull/2856))
- Keep hidden settings intact when resetting to defaults (by
@marcelveldt in
[#2853](https://github.com/music-assistant/frontend/pull/2853))
- Update 'sync_running' and 'seed_filters_hint' strings (by @remon1496
in [#2835](https://github.com/music-assistant/frontend/pull/2835))
- Default test fixtures to no favorite state (by @marcelveldt in
[#2846](https://github.com/music-assistant/frontend/pull/2846))
- Rename "Provider details" to "Source details" (by @marcelveldt in
[#2840](https://github.com/music-assistant/frontend/pull/2840))
- Share one text field across the account forms (by @marcelveldt in
[#2829](https://github.com/music-assistant/frontend/pull/2829))
- Fix icon sizes ignored inside buttons (by @marcelveldt in
[#2826](https://github.com/music-assistant/frontend/pull/2826))
- Finish de-Vuetifying the background tasks card (by @marcelveldt in
[#2825](https://github.com/music-assistant/frontend/pull/2825))
- Use the shared spinner for loading states (by @marcelveldt in
[#2823](https://github.com/music-assistant/frontend/pull/2823))
- Lokalise translations update (by
@[github-actions[bot]](https://github.com/apps/github-actions) in
[#2811](https://github.com/music-assistant/frontend/pull/2811))
- Stop the add-provider dialog fetching while hidden (by @marcelveldt in
[#2822](https://github.com/music-assistant/frontend/pull/2822))
- Announce list rows to screen readers in settings lists (by
@marcelveldt in
[#2821](https://github.com/music-assistant/frontend/pull/2821))
- Share the player rename helper with the rename dialog (by @marcelveldt
in [#2808](https://github.com/music-assistant/frontend/pull/2808))
- Tidy up redundant loading flags on dialog buttons (by @marcelveldt in
[#2807](https://github.com/music-assistant/frontend/pull/2807))
- Share the remote access ID grouping (by @marcelveldt in
[#2806](https://github.com/music-assistant/frontend/pull/2806))
- Reuse shared provider-name lookup in the settings breadcrumb (by
@marcelveldt in
[#2805](https://github.com/music-assistant/frontend/pull/2805))
- Fix inert z-index classes on dialogs, popovers and selects (by
@marcelveldt in
[#2803](https://github.com/music-assistant/frontend/pull/2803))
- Tidy up the background tasks list view (by @marcelveldt in
[#2797](https://github.com/music-assistant/frontend/pull/2797))
- Tidy up the provider name lookup (by @marcelveldt in
[#2798](https://github.com/music-assistant/frontend/pull/2798))
- Tidy up the background tasks card view (by @marcelveldt in
[#2795](https://github.com/music-assistant/frontend/pull/2795))
- Remove dead playMenuShown store field (by @marcelveldt in
[#2794](https://github.com/music-assistant/frontend/pull/2794))
- Tidy up the music sources settings page (by @marcelveldt in
[#2793](https://github.com/music-assistant/frontend/pull/2793))
- Stop the onboarding tests timing out when the suite is busy (by
@marcelveldt in
[#2787](https://github.com/music-assistant/frontend/pull/2787))
- Use one check for whether a plugin is loaded (by @marcelveldt in
[#2785](https://github.com/music-assistant/frontend/pull/2785))
- Catch mistaken writes to state the app calculates itself (by
@marcelveldt in
[#2786](https://github.com/music-assistant/frontend/pull/2786))
- Sharing options say users instead of members (by @marcelveldt in
[#2780](https://github.com/music-assistant/frontend/pull/2780))
- Simplify how the app tracks loaded plugins (by @marcelveldt in
[#2779](https://github.com/music-assistant/frontend/pull/2779))
- Show a music source's own name in the settings breadcrumb (by
@marcelveldt in
[#2778](https://github.com/music-assistant/frontend/pull/2778))
- Fix tests (by @pierosavi in
[#2776](https://github.com/music-assistant/frontend/pull/2776))
- Bump @scure/base from 2.2.0 to 2.4.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2767](https://github.com/music-assistant/frontend/pull/2767))
- Bump @vitest/ui from 4.1.10 to 5.0.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2769](https://github.com/music-assistant/frontend/pull/2769))
- Bump vite-plugin-webfont-dl from 3.12.0 to 3.13.1 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2770](https://github.com/music-assistant/frontend/pull/2770))
- Bump @vue/test-utils from 2.4.11 to 2.5.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2771](https://github.com/music-assistant/frontend/pull/2771))
- Bump @fontsource/roboto from 5.2.10 to 5.3.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2764](https://github.com/music-assistant/frontend/pull/2764))
- Bump vite from 8.1.5 to 8.3.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2766](https://github.com/music-assistant/frontend/pull/2766))
- Lokalise translations update (by
@[github-actions[bot]](https://github.com/apps/github-actions) in
[#2763](https://github.com/music-assistant/frontend/pull/2763))
- Bump vue-tsc from 3.3.7 to 3.3.11 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2768](https://github.com/music-assistant/frontend/pull/2768))
- Bump zod from 4.5.4 to 4.6.2 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2765](https://github.com/music-assistant/frontend/pull/2765))
- Resolve a music source's name through one helper (by @marcelveldt in
[#2757](https://github.com/music-assistant/frontend/pull/2757))
- Say "music source" instead of "provider" outside the settings screens
(by @marcelveldt in
[#2751](https://github.com/music-assistant/frontend/pull/2751))
- Translate the genre table's selection count (by @marcelveldt in
[#2753](https://github.com/music-assistant/frontend/pull/2753))
- Update playlist listing comment to match server behaviour (by
@marcelveldt in
[#2752](https://github.com/music-assistant/frontend/pull/2752))
- Use the built-in button spinner in four more dialogs (by @marcelveldt
in [#2749](https://github.com/music-assistant/frontend/pull/2749))
- Remove more unused translation keys and translate the genre table page
counter (by @marcelveldt in
[#2747](https://github.com/music-assistant/frontend/pull/2747))
- Bump baseline-browser-mapping from 2.10.38 to 2.11.22 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2725](https://github.com/music-assistant/frontend/pull/2725))
- Show a spinner on buttons while they are busy (by @marcelveldt in
[#2743](https://github.com/music-assistant/frontend/pull/2743))
- Remove unused provider translation keys (by @marcelveldt in
[#2737](https://github.com/music-assistant/frontend/pull/2737))
- Share the artist page's hero, row registry and editor with other
detail pages (by @stvncode in
[#2728](https://github.com/music-assistant/frontend/pull/2728))
- Clearer sharing hints for playlists without an owner (by @marcelveldt
in [#2742](https://github.com/music-assistant/frontend/pull/2742))
- Show each user only the actions their role allows (by @marcelveldt in
[#2736](https://github.com/music-assistant/frontend/pull/2736))
- Fix outdated auto-release workflow comments (by @marcelveldt in
[#2741](https://github.com/music-assistant/frontend/pull/2741))
- Fix duplicate error message when a profile update fails (by
@marcelveldt in
[#2739](https://github.com/music-assistant/frontend/pull/2739))
- Clearer wording for the home page warning (by @marcelveldt in
[#2734](https://github.com/music-assistant/frontend/pull/2734))
- Spot and prevent music sources that nobody can use (by @marcelveldt in
[#2735](https://github.com/music-assistant/frontend/pull/2735))
- Clearer wording for music source sharing (by @marcelveldt in
[#2726](https://github.com/music-assistant/frontend/pull/2726))
- Say "music source" and "plugin" instead of "provider" in settings (by
@marcelveldt in
[#2723](https://github.com/music-assistant/frontend/pull/2723))
- Bump vitest from 4.1.10 to 4.1.11 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2713](https://github.com/music-assistant/frontend/pull/2713))
- Show the server's reason when saving a user fails (by @marcelveldt in
[#2724](https://github.com/music-assistant/frontend/pull/2724))
- Bump dompurify from 3.4.11 to 3.4.14 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2702](https://github.com/music-assistant/frontend/pull/2702))
- Bump vue-i18n from 11.4.8 to 11.4.10 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2701](https://github.com/music-assistant/frontend/pull/2701))
- Bump pnpm/action-setup from 6.0.9 to 6.1.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2699](https://github.com/music-assistant/frontend/pull/2699))
- Bump @internationalized/date from 3.12.3 to 3.12.4 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2705](https://github.com/music-assistant/frontend/pull/2705))
- Bump swiper from 14.1.0 to 14.2.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2700](https://github.com/music-assistant/frontend/pull/2700))
- Bump zod from 4.4.3 to 4.5.4 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2704](https://github.com/music-assistant/frontend/pull/2704))
- Bump sass from 1.102.0 to 1.104.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2707](https://github.com/music-assistant/frontend/pull/2707))
- Lokalise translations update (by
@[github-actions[bot]](https://github.com/apps/github-actions) in
[#2698](https://github.com/music-assistant/frontend/pull/2698))
- Bump eslint from 10.7.0 to 10.9.1 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2685](https://github.com/music-assistant/frontend/pull/2685))
- Bump reka-ui from 2.10.1 to 2.10.3 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2639](https://github.com/music-assistant/frontend/pull/2639))
- Bump lint-staged from 16.4.0 to 17.4.1 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2682](https://github.com/music-assistant/frontend/pull/2682))
- Lokalise translations update (by
@[github-actions[bot]](https://github.com/apps/github-actions) in
[#2680](https://github.com/music-assistant/frontend/pull/2680))
- Bump oxlint and eslint-plugin-oxlint (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2684](https://github.com/music-assistant/frontend/pull/2684))
- Bump marked from 18.0.9 to 18.0.11 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2683](https://github.com/music-assistant/frontend/pull/2683))
- Bump typescript-eslint from 8.64.0 to 8.68.0 (by
@[dependabot[bot]](https://github.com/apps/dependabot) in
[#2686](https://github.com/music-assistant/frontend/pull/2686))
- Correct the DSP help text about which filters need stereo (by @OzGav
in [#2677](https://github.com/music-assistant/frontend/pull/2677))
- Remove playlist import schema gate (by @marcelveldt in
[#2692](https://github.com/music-assistant/frontend/pull/2692))
- Send issues opened on the frontend repo to the support repo (by
@marcelveldt in
[#2674](https://github.com/music-assistant/frontend/pull/2674))
</details>


## :bow: Contributors

@apophisnow, @bartbunting, @Bazooper-blip, @CaseyRo, @culmat, @DerGary,
@dmoo500, @elcaptain, @fmunkes, @joperafe, @jozefKruszynski,
@jpittelkow, @kees, @marcelveldt, @MarvinSchenkel, @maximmaxim345,
@modernman1, @NasaGeek, @OzGav, @phiychai, @pierosavi, @remon1496,
@stellar-aria, @stvncode, @teancom, @TimoPtr, @trisweb,
[@musicassistant-bot[bot]](https://github.com/apps/musicassistant-bot),
Bart Bunting, @claude, @Copilot, Gary, joperafe, Modernman1, Moos,
Daniel, @svaltonen and @wendevlin

Co-authored-by: musicassistant-bot[bot] <304008617+musicassistant-bot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies-reviewed Indication that any added or modified/updated dependencies on a PR have been reviewed new-feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants