v2.9.0October 16 2026Latest
Seven download sources, several library paths, and a simpler Settings
Download sources
- FeatureFour new places to download from: the Internet Archive, SoundCloud, another Subsonic server such as a friend's Navidrome, and torrent through qBittorrent. They all start off. Turn them on under Settings, Download sources.
- FeatureDrag your download sources into the order you want them tried.
- FeatureThe Internet Archive can also search its community uploads, as a last resort after its curated collections. This starts off too.
- FeatureAlbums from Usenet and torrent download without holding up other tracks, and each one shows its progress. qBittorrent's own queue settings decide how many albums download at once.
- FeatureAlbums downloaded by Usenet or torrent are kept for a while, so retrying a track does not download the whole album again. See and delete them under Settings, Maintenance, Downloaded albums.
- FeatureThe requests page shows which source each track came from, and you can filter by source.
Notifications
- FeatureGet notified on Discord, ntfy, Telegram, a webhook or Apprise. Each user picks their own destinations, and which notifications each one receives, under Settings, Notifications.
Library
- FeatureKeep your music in more than one library path, such as a second disk. Each path has its own naming format, and rules decide which music goes where, by artist, genre, year, quality, who asked for it and more.
- FeatureMove songs and albums to another library path, or delete them to the recycle bin.
- FeatureFiles the library scan cannot recognise now wait for you to match, search again or ignore, instead of being dropped.
- FeatureQuarantine lists a set-aside album once, instead of once for every track.
Settings
- FeatureSettings is reorganised into focused pages, in two groups: your own settings and this server's. Search them from the sidebar, or press Ctrl+K (Cmd+K on a Mac).
- FeatureEach page has one save bar, and leaving a page with unsaved changes asks first.
- FeatureThe setup checklist hides once every step is done.
- FeatureThe Updates page in Settings is now called Changelog.
Player
- FeatureAI Assistants connected to Synthseek can now run the player: play, edit the queue, change player settings, start a radio and move playback to another device.
- FeatureCrossfade now starts where a song actually goes quiet, so songs that end in silence blend properly.
- FeatureSmart fade is gone. If you used it you are now on Crossfade, or pick Gapless to have tracks run straight into each other.
- FeatureLyrics turn up for more songs. A .lrc file next to the song, or lyrics in its tags, are used first, and a song with no lyrics is checked again sooner.
- FeaturePress the space bar to pause and resume.
- FeatureShuffle an artist from their card in your library, and a library playlist from its page.
- FeatureOn phones, the full-screen player's controls fold into a ring, and the player fits a phone held sideways.
Changes
- ImprovedRetrying a failed track is in its actions menu, and no longer in the status column.
- ImprovedTurning a download source off stops it at once, and its tracks move on to the next source.
- ImprovedAn empty requests list under a filter says so, instead of looking empty.
Fixes
- FixUsenet now works with Prowlarr and NZBHydra2, and an indexer address works with or without /api at the end.
- FixAlbum downloads search the indexer once per album, instead of once per track.
- FixWhile SABnzbd is still unpacking a download, Synthseek waits for it instead of failing it, and a download SABnzbd cannot repair is set aside.
- FixCancelling an album also removes it from qBittorrent or SABnzbd.
- FixAn album download whose song titles add a subtitle, such as (Remastered), now matches its tracks.
- FixWriting tags no longer freezes the server on long tracks.
- FixA tab that closes or crashes leaves the device list, and a shuffled queue keeps its order after a reload.
- FixA tab whose session ended goes to the login page.
- FixRequesting a trending song requests the song you picked.
- FixChanging a setting through an assistant no longer resets the other settings beside it.
- FixAn account that signs in only with Plex is asked to set a password before unlinking Plex, so it is not locked out.
- FixThe eye button shows a saved password or key again, and a number in Settings can be cleared and typed again.
- FixDropped files bigger than 10 MB now import.
- FixThe Undo button on a pop-up message can be pressed while a dialog is open.
- FixSaved Slskd settings stay filled in during setup, and catalog errors say what went wrong.
- FixLong labels no longer get cut off in German table headers, on tablets, and in release and maintenance rows.
v2.8.1October 1 2026
Download quotas, a Stop button, and a server that starts anyway
Download quotas
- FeatureAdministrators can limit how many tracks each member downloads over a number of days, how much storage each member's music can take, and how big the whole library can grow. Set the limits under Settings, Members, and give any member their own.
- FeatureMembers see how much of their quota they have used in their Profile, and a request that would go over it is turned down with the reason.
- FeatureAdministrators and trusted members are not limited by member quotas. The library limit applies to everyone.
Starting up
- FeatureSynthseek now starts even when it cannot write to the downloads or music folder, or reach the music catalog. Downloads wait until the problem is fixed, and a System status page under Settings, Maintenance says what is wrong and how to fix it.
Player
- FeatureA Stop button, next to Previous. It stops the music and goes back to the start of the track, and keeps your queue.
- FeatureClear the whole queue from the button at the top of the queue, after confirming.
- FeatureThe queue holds up to 5,000 tracks, so long playlists play whole.
- FeatureWith repeat on for the whole queue, the queue shows the tracks that will play again after the last one.
- FeatureOn Android the player now shows on the lock screen and in the notification, and pauses for a phone call.
Changes
- ImprovedMessages about an integration that is not set up now say where to set it up in Settings.
- ImprovedAccount and password fields say what they expect.
Fixes
- FixCalm tracks, such as meditation or frequency music, no longer play with a crackle of static on some devices.
- FixOnce a long queue had played out, adding more could say the queue was full. You can now keep adding.
- FixAfter the queue ends, pressing play starts what you added since, instead of the last song again.
- FixWith shuffle on, autoplay's songs now play after the ones you picked, as the queue shows, and a song added during shuffle is no longer skipped.
- FixAutoplay no longer stops on a long queue.
- FixThe player remembers where you paused or stopped, even if you switch to another device right away.
- FixPausing a track while it is still loading now keeps it paused.
- FixLive updates in the app no longer stop after a page has been open for a while.
- FixAlbum progress stays correct when the library scan finds a file, or when a track leaves an album.
- FixA download that finished just as it was retried could stay stuck on importing. That no longer happens.
- FixA scheduled job no longer tries to start while you are running it by hand.
- FixNotifications no longer hide behind the navigation bar on phones, and long integration messages no longer spill out of their row.
v2.8.0September 28 2026
Play from your media servers, gapless and at an even volume
Play from your media servers
- FeatureConnect Plex, Navidrome or Jellyfin, and a track Synthseek has no file for can play from there, in the web player and in your music apps. Your own copy still plays first.
- FeatureWhen an album or an artist is only partly on your first source, Synthseek asks where you want to play it from.
- FeatureThe library can be filtered by where a track plays from.
- FeatureEach listener can have their plays counted on Plex, Navidrome or Jellyfin, from their Profile.
- FeatureA copy your browser cannot play is converted on the fly, and a server that stops answering no longer leaves the player stuck.
Playlists across your servers
- FeaturePlaylists can be imported from Plex, Navidrome and Jellyfin as well as Spotify. Import now lives on the library page, with one window per source.
- FeaturePlaylists can be synced to Navidrome and Jellyfin as well as Plex, once you turn it on for that server, each into the account its owner linked.
- FeatureAn imported playlist can be kept in sync whatever it came from, and one from your server can skip downloading the tracks Synthseek does not have yet, which then play from that server.
- FeatureEach playlist says where it came from.
A better sounding player
- FeatureVolume is evened out between tracks. Turn it off, or add a little on top, from the player's settings.
- FeatureTracks run straight into each other with no gap, or blend into each other if you prefer, on every change or only when you skip.
- FeatureAn equalizer with presets, a preamp and curves you can save, plus a compressor, all in the player's settings.
- FeatureAutoplay keeps the music going with similar songs from your library once the queue runs out. It is off until you turn it on, and you can also start a radio from a track, an album or an artist.
- FeatureOn a slow connection you can ask for a smaller stream.
- FeatureMusic apps can ask for a radio or a mix from your library, and receive the lyrics and the volume measurements too, if they use them.
Elsewhere
- FeatureArtist pages show the artist's top tracks, which you can request in one go, and set compilations apart from albums.
- FeatureA long job, such as measuring volume, can be stopped from Settings, then Jobs, and keeps what it had already done.
- FeatureTable headers stay in view as you scroll.
Changes
- ImprovedPlay next is gone. Add tracks to the queue instead, and drag them where you want them.
Fixes
- FixAlbums you saved on Spotify while a library sync was failing could be skipped for good once it worked again. That no longer happens.
- FixSorting requests by Playlist now puts playlists first, as sorting by Album does for albums.
- FixNotifications no longer cover the player's buttons.
- FixA cancelled track can be removed from a playlist.
- FixMusic apps that run in a browser, such as the web version of Feishin, now show cover art.
v2.7.1September 18 2026
Pick tracks faster, and say what plays next
- FeaturePicking several tracks at once is much quicker. Tick one, hold shift, tick another, and everything in between comes with it. The same thing unticks a run you already picked, and you can do it all from the keyboard.
- FeatureA track, or a whole selection, can now be played next instead of going to the end of the queue.
- FeatureThe tick beside a track now tells you it really is in the queue, and clears once it has played, instead of flashing for a second after you add it.
- FeatureSearching and filtering no longer cares about accents. You can also type the words in any order.
- FeatureFiltering the library tells you it is working instead of sitting still, and a long list of requests now loads as you scroll rather than all at once.
Fixes
- FixThe library search boxes were swallowing letters when you typed quickly, and the filter list would open up to everything for a moment before settling.
- FixA track you have already heard can be added to the queue again.
- FixDragging a track around the queue landed it in the wrong place once the list had been scrolled.
- FixA file you approve from the review page now says it is queued rather than claiming it is already done, stays put on the page while it is working, and is followed in the progress dock.
- FixA file whose name uses an underscore before the version is now read correctly when working out which version of a song it is.
v2.7.0September 14 2026
Listen in the app, and decide how your files are named
Play your library without leaving Synthseek
- FeatureThere is now a player in the web app. Press a track, an album, an artist or a playlist and it plays, with a queue you can open, reorder and add to.
- FeatureThe queue lives on the server, so it follows you between tabs and devices instead of starting over. Music plays in one place at a time and your other screens mirror it, so you never end up with two of them playing at once.
- FeatureThe player has a full, a compact and a mini mode, and it reshapes itself for a phone.
- FeatureLyrics appear alongside the song when they are available.
- FeatureWhat you listen to can be sent on to Last.fm and ListenBrainz, if you connect them.
Decide how your files are named
- FeatureSynthseek now files your downloads into your library itself, instead of handing them to beets.
- FeatureA new Library page under Settings lets you write the naming format, with a picker for the pieces you can use and worked examples as you type.
- FeatureBefore anything moves you get a preview of every change, split into files moving to another folder, files only being respelled, and files moving to a different album, and you can search it.
- FeatureAlbums that are not really multi-disc no longer get a needless Disc 01 folder. Genuine multi-disc albums keep theirs.
Clearer housekeeping
- FeatureA new check finds lyrics and artwork left on disk after the music they belonged to was removed, and offers to move them to the recycle bin. It reads your whole library, so you run it when you want it rather than it running on its own.
- FeatureThe recycle bin listing can be searched, and a track that goes there now takes its lyrics and artwork with it.
- FeatureThe duplicates page now says when a group is really a track whose file has gone, instead of calling it a duplicate with one copy.
- FeatureDownloads now carry their recording identity inside the audio file, so the match survives being moved or renamed.
Fixes
- FixAlbum release dates and genres now come from the catalogue rather than from whatever asked for the track, so an album no longer shows a date nobody chose.
- FixArtist and album names are asked for in English where the catalogue has them, which is what ends up in your folder names.
- FixA move is refused rather than attempted when the destination is already taken, when the file changed since the preview was made, or when two files would end up with the same name differing only in case.
- FixRenaming a folder now renames the folder image with it.
- FixThe leftover-file sweep no longer touches booklet scans, artwork that belongs to a whole album, or anything inside a folder it could not read.
- FixThe tag writer and the reorganiser no longer fight over the same file.
- FixA failed download is no longer counted as one that might work next time when it cannot.
- FixDates in the recycle bin now show the day they actually name.
v2.6.1September 3 2026
Fixes
- FixSoulseek searches were being given up on just before the results arrived, so a download could fail as though nothing was found. That should be much rarer now.
- FixA song with a short title should no longer be turned down just because the file name mentions something extra in brackets, like a guest singer or the format it was ripped at.
- FixRequesting a single song from an artist's top tracks or from a playlist should work again.
- FixA step that runs out of time now says so, instead of reporting that nothing was found.
v2.6.0September 2 2026
Play your library in a normal music app
- FeatureSynthseek can now speak the Subsonic API, so apps like Feishin and Symfonium can browse and play your library directly, on the desktop or the phone, without going through the web interface.
- FeatureIt is off until you turn it on. Under Settings, then Integrations, the Connect apps card switches it on and creates the credentials each app needs, and revokes them one at a time when you want an app to lose access.
- FeatureApps can change things, not only play them: starring a track, making and editing playlists, scrobbling what you played, and picking up a saved queue on another device.
- FeatureWhen an app asks for a lower quality than the file on disk, the stream is converted on the fly so it still plays, and you can switch that off if you would rather it never re-encoded anything.
- FeatureOnly tracks whose file location Synthseek has on record can be offered, which is what the new library scan is working out. The Connect apps card shows how many tracks are ready and how many are not.
Usenet as a third place to get music
- FeatureAlongside Soulseek and the YouTube downloader, Synthseek can now search a Usenet indexer and hand the download to SABnzbd. It is off by default and needs your indexer address and key plus your SABnzbd address and key, under Settings, then Integrations, then Download sources.
- FeatureA release downloaded for one track is kept for a short while and reused for its siblings on the same album, rather than pulled again per track, and what is still sitting on disk is listed so you can clear it.
- FeatureYou can choose which sources a request may use and in what order, per request, rather than accepting the same chain every time.
Your library, and the copies you did not know you had
- FeatureThe library scan indexes the audio files on your disk and works out which track each one holds, so files you copied in by hand stop being invisible to Synthseek. It has its own card on the Jobs page showing what it can and cannot see, and it follows a file that merely moved instead of counting it as one loss and one arrival.
- FeatureTracks with more than one copy on disk get their own page under Settings, then Maintenance. Copies it can prove are the same recording are settled on their own, keeping the best file and pointing your library at it. Proof means the copies agree on both their title and their length, because a remix, a live take or a truncated download can carry the title of the track it was filed against while being a different recording.
- FeatureWhat it cannot prove waits for you, showing how many clearly different lengths the copies come in, and letting you play any copy before choosing the one to keep.
- FeatureNothing is deleted outright. A copy it sets aside goes to a recycle bin under Settings, then Maintenance, with a Restore that puts the file back where it came from, for as long as the retention window keeps it.
- FeatureReview, duplicates, the recycle bin and quarantine now sit together under Maintenance, with a count on each so you can see what is waiting without opening them.
Artists that stay the same artist
- ImprovedArtists now have an identity of their own rather than being matched by name each time, so the same artist spelled two ways stops being two artists. Existing artists are filled in during the update, and their MusicBrainz identifiers are looked up gradually in the background afterwards, slowly on purpose so the service is not hammered.
Smaller things
- FixPressing run on a background job no longer shows an error for a job that is simply taking a while. A long job now reports itself as in progress until it finishes, and a run that ended badly is flagged on its row.
- FixThe YouTube downloader is listed under Soulseek in the download sources, matching the order they are actually tried in.
- FixA bitrate recorded as an implausible value is cleared during the update rather than left to be shown as fact, and an existing library's bitrates are measured so a quality cap can be judged against them.
v2.5.0August 19 2026
YouTube downloads work again
- FixYouTube had changed in a way the bundled downloader could not keep up with, and every download through it was being refused. It now keeps itself up to date instead of staying frozen at the version it was built with, so a change on their side stops being something you have to wait out.
- FixThis is not a promise that it can never break again. When YouTube changes and no fix has been published yet, downloads can still fail for a while, and the log now says which of the two is happening.
It tells you what went wrong
- FeatureWhen nothing matched what you asked for, you now see why the candidates were turned down, instead of only being told that none were good enough.
- FeatureA full disk or a drive that is not reachable is no longer counted against the track that happened to be downloading. It is shown for what it is, a storage problem on your machine, with a retry that covers just the tracks it stopped.
- FeatureWhen an outside service Synthseek relies on is down, you can see how long it has been that way rather than guessing.
- FeatureIf the app cannot start, the reason now reaches you instead of the startup ending in silence.
- FeatureEvery failed track now keeps the reason it failed, so it is still there later instead of only in the log at the moment it happened.
Less waiting
- ImprovedThe requests list loads much faster. It was carrying every track of every request just to draw the list, and now it fetches the tracks only when you open one.
- ImprovedWhen several parts of the app ask for the same track or the same artwork at once, that is now a single lookup instead of one each.
- ImprovedA network drive that stops responding no longer freezes every other file operation behind it.
- ImprovedArtwork fetched from outside is re-checked at every redirect, not just once at the address it started from.
v2.4.0August 12 2026
Decide what enters your library, and bring in music you already have
Nothing gets past you
- FeatureSynthseek can now check that a downloaded file really is the song you asked for, by listening to it rather than trusting its name. A file that turns out to be something else is blocked instead of landing in your library.
- FeatureA blocked file is no longer thrown away. It waits in a review queue where you can see exactly why it was rejected, listen to it, and either approve it or discard it. Approving imports it straight away, with no second download.
- FeatureSources that keep sending you the wrong thing can be quarantined, and you can see which uploaders have been set aside and why.
- FeatureIf you want to approve what other members request before anything downloads, you can turn that on, with a trusted role for the people you would rather not review.
Music you already have
- FeatureDrag your own files in, even zipped. Synthseek identifies each track, and if it matches something you had already asked for, it closes that request for you.
- FeatureAlready have a song in poor quality? Ask for a better copy and Synthseek replaces it in place. The old file goes to a recycle bin rather than being deleted, and empties itself after a while.
- FeatureYou can now ask for better copies of several tracks at once from your library, and Synthseek tells you honestly what it did with each one.
It keeps trying for you
- FeatureAnything that could not be found is retried on its own, spacing the attempts out when a track stays missing, so you are not left checking by hand.
- FeatureUnder a failed track you can see when the next attempt is due, how many there have been, and start one right away.
Getting around
- FeatureClick the artwork or the name of a request to open the album or playlist behind it, the same way you already could from your library.
- FeatureWhen a source of information is unavailable, Synthseek says so instead of quietly showing you an incomplete page.
Fixes
- FixArtists no longer show up twice in your library. A past bug saved names in a simplified form, so one artist could appear as two cards. Updating merges them for you.
- FixDialogs on a phone had no solid background and the content behind them showed through.
- FixThe progress panel could freeze mid-sync, showing a list of grey dots with no names that never advanced. On a phone its collapse button did nothing at all.
- FixA field with the wrong details on the sign-in screen now turns red instead of giving no sign at all.
- FixSeveral things that were meant to stand out did not: selection marks, the active item in the settings menu, and badges that showed grey instead of their colour.
- FixA song that is in your library is no longer recorded as cancelled after a failed attempt to upgrade it.
- FixSearch results no longer store a simplified version of a song's details in your library.
v2.3.3July 9 2026
New
- FeatureRename a playlist at request time: the request window now has an optional name field, so it lands in your library with the name you want.
- FeaturePlaylist renames now sync both ways with Plex: rename in Synthseek and Plex follows in seconds, rename in Plex and Synthseek picks it up automatically.
- FeatureA new Media Server Sync job keeps your Plex playlists named right and topped up with any tracks they are missing, with its own Run now button in Settings, Jobs. The Jobs screen now only shows jobs relevant to your setup.
- FeatureRequesting a big playlist no longer blocks you: it is accepted instantly, tracks fill in the background, and a progress dock keeps you posted.
Fixes
- FixTyping spaces while renaming a playlist from its card menu works again.
- FixSynthseek now starts with a clear error message when a Docker folder is mounted read-only, instead of failing without explanation.
v2.3.2June 22 2026
- ImprovedPolished the content detail and settings screens, with a better request detail layout on mobile.
v2.3.1June 21 2026
Sync library playlists to Plex, plus AI playlist building from Last.fm
New
- FeatureSync a playlist to Plex straight from your library: the three-dot menu on any library playlist now has a Sync to Plex action, the same one already on the requests page.
- FeatureMCP tools extended to read your Last.fm listening history (top tracks, recent tracks, top artists) and to build or refresh a playlist from a set of songs in one step, so a connected AI assistant can curate playlists for you. See the full list of MCP tools and examples.
- FeatureThe interface is now available in German and French, in addition to English and Spanish.
Fixes
- FixRefreshed playlists now show the correct status based on how their tracks downloaded.
v2.3.0June 19 2026
Content detail, playlist management, and a smarter requests view
New
- FeatureA rich detail view for artists, albums, and playlists with artwork, bios, related content, and live per-track status, opening in place so you can dig in without losing your spot.
- FeatureFull playlist management: create, rename, and delete your own playlists, add or remove tracks, and pick several at once. Imported Spotify playlists get a Keep in sync switch that guards them while they sync.
- FeatureA mobile bottom navigation bar for easier use on phones.
- FeatureA redesigned Spotify import with clearer selection and optional auto-import.
- FeatureRetry several failed tracks at once from the library.
Improvements
- ImprovedThe Requests page now orders by most recent activity, so anything you just requested or re-requested jumps to the top, and each row shows when it was requested and last updated.
- ImprovedLibrary views now refresh on their own as downloads finish, no manual reload needed.
- ImprovedSorting library tracks by status now follows the real download pipeline order.
- ImprovedThe queue bar shows a clear Paused state when you pause downloads.
- ImprovedFaster, steadier metadata thanks to consolidated caching and per-source search timeouts.
Fixes
- FixDiscovery mix refreshes (Weekly Jams, Weekly Exploration, and friends) are now atomic, so a mix is never left empty in the middle of a refresh.
- FixRequesting a playlist or album no longer errors or leaves an empty playlist when several tracks share the same album.
- FixFixed an interactivity glitch when opening the app over a plain local HTTP address.
- FixListenBrainz discovery playlists stay as one playlist across refreshes instead of duplicating.
- FixQuieter startup logs and a smoother first run.
v2.2.0June 13 2026
A new Library to browse your whole collection
New
- FeatureA new Library section to browse everything you have, tracks, albums, artists, and playlists, with filters, search, sorting, and smooth scrolling. Exploring Artists and Albums metadata is a WIP.
- FeatureA floating progress panel that shows live progress while syncing to Plex or importing playlists.
- FeatureListenBrainz can now optionally keep one playlist updated with fresh recommendations on every refresh, instead of creating a new dated playlist each time.
- FeatureRequesting an album now shows it even when you already have its songs from a playlist, reusing what you already have.
- FeatureRedesigned notifications with a cleaner, more readable look.
Improvements
- ImprovedBetter Plex matching, so more of your tracks are found and fewer are dropped from playlists (try resyncing your existing playlists to plex).
- ImprovedDuplicate songs in an imported playlist are now collapsed, with a count of how many were skipped.
- ImprovedDownloads are more resilient to temporary YouTube failures.
Fixes
- FixEmpty album leftovers are no longer kept when a playlist or track is deleted.
- FixYou are now prompted to reconnect when a Spotify connection expires.
- FixImports no longer fail on songs you already have, and failures now show a clear, accurate reason.
- FixVarious visual fixes to the loading spinner, the notification icon, and more.
v2.1.2June 10 2026
Fixes
- FixTracks that were wrongly skipped as not found now download correctly.
- FixSearches that come up empty are retried automatically, so more songs are found.
- FixMore results are checked for each track, so the right match is less likely to be missed.
v2.1.1June 8 2026
Sync all playlists to Plex, plus detail-table and changelog fixes
A small follow-up to 2.1: send every eligible playlist to Plex in one action, and fix a couple of UI rough edges.
Improvements
- FeatureSync all playlists to Plex at once from the toolbar menu, alongside the existing per-playlist sync.
Fixes
- FixFixed stale rows and empty gaps in the request detail table when switching between playlists or albums.
- FixThe changelog fix badge now renders in red.
v2.1.0June 8 2026
Queue controls: priority, pause and resume, a queue stability fix, and Plex matching improvements
Version 2.1 gives you direct control over the download queue. Downloads now run one album or playlist at a time in order, you can jump any track or group to the front, and you can pause and resume individual albums and playlists or the whole queue. It also fixes a queue stability bug that could stall downloads and sharpens Plex matching.
Queue controls
- FeatureDownloads are ordered by album and playlist: every track in a group finishes before the next group starts.
- FeatureJump the queue: move any track, album, or playlist to the front from its actions menu, with a Prioritized badge so you can see it took effect. Retried tracks are prioritized automatically.
- FeaturePause and resume individual albums and playlists, or Pause all and Resume all for the whole queue, from the toolbar.
Fixes
- FixFixed a queue stability issue where finished jobs were never cleared from memory, which could fill the queue and stall all new downloads. The queue now drains completed work and resumes pending downloads automatically after a restart.
- FixHardened Plex track matching for missed library tracks, with album-position hydration, corrected playlist membership, parenthesized featuring-suffix handling, and tolerant fuzzy matching.
- FixExcluded live event-stream connections from the API rate limiter so the UI stays connected under load.
- FixCollapsed duplicate tracks within a playlist import so a song that appears twice no longer fails the import.
- FixHid the Artist Spotlight song count when an artist's track total is unknown.
v2.0.0June 5 2026
Synthseek 2.0: multi-user, MCP-ready, and provider-independent, with Lidarr delegation, Spotify library import, and file-based playlist import and export
Version 2.0 turns Synthseek from a single-user downloader into a self-managed, multi-user music service. It adds first-class accounts and member management, a built-in MCP server so assistants can drive your library, end-to-end localization, and a Settings UI that replaces hand-edited config files. The catalog and download layers are now fully provider-agnostic, and discovery, playlist import and export, and the Soulseek engine all grew substantially.
Multi-user and accounts
- FeatureMulti-user authentication with local accounts and Plex OAuth, replacing the single-user model.
- FeatureA first-run setup wizard to create the admin account, with a one-time reclaim flow for existing installs.
- FeatureMember management: add local users or import them from Plex, with admin-only sections hidden from members.
- FeaturePer-user Plex account linking and a Connected Accounts area, with hardened Plex login.
- FeatureMembers can connect and import their own Spotify library.
- FeatureA self-service profile page to update your profile and change your password.
- FeatureRequests are scoped to their owner and show who made them.
MCP server and API access
- FeatureA built-in MCP server so assistants like Claude can search, request downloads, inspect your library, tune up settings and read Synthseek logs.
- FeatureAPI keys and a public URL setting, managed from a new MCP settings section.
- FeatureAn OAuth 2.1 authorization server with a consent screen and connection guidance for MCP clients.
Provider-agnostic library and downloads
- FeaturePer-request download-source selection, with an automatic yt-dlp fallback when Soulseek peers cannot deliver.
- FeatureSpotify library integration: browse, import, and sync your Spotify library from a new power-table with bulk actions.
- FeatureMore library providers are on the way.
- FeatureCover art from the active provider is embedded into downloads and Plex playlists.
Discovery
- FeatureListenBrainz and Last.fm discovery integrations that surface recent scrobbles, top tracks, and discovery mixes on the Discover page.
- FeatureOptional auto-request of playlists from your ListenBrainz discovery feeds.
- FeatureA revamped Discover page with a hero, a library leaderboard, and recent requests.
Playlist import and export
- FeatureImport playlists from JSPF, XSPF, and CSV, and export to JSPF, from search and a dedicated import UI.
Localization
- FeatureThe interface is now available in English and Spanish, with a localized error contract end-to-end and localized relative dates.
- FeatureMore languages are on the way
Soulseek and the download engine
- ImprovedA Soulseek user banlist with manual and automatic banning.
- ImprovedPer-request minimum upload speed and free-slot filters, plus quality and peer options in the download modal.
- ImprovedPer-job peer dedupe across bitrate fallback tiers and match-accuracy scoring improvements.
- ImprovedConfigurable search timeouts and a more resilient slskd startup.
Lidarr
- FeatureDelegate artist additions to Lidarr with tag selection and progressive monitor scopes, selectable per request.
Library, metadata, and operations
- ImprovedAlbum genres and a library leaderboard.
- ImprovedA managed jobs section with manual triggers.
- ImprovedA logs viewer with export, level filtering, and auto-refresh, backed by a server logs API with a runtime log level.
- ImprovedA warning when the AcoustID identity differs from the requested track.
- ImprovedIn-app updates: a new Updates section in Settings shows this patch-notes timeline and flags when a newer version is available.
Fixes and hardening
- Fixarm64 images now ship native binaries for the server bundle and the Prisma engine.
- FixTolerant Plex track matching for playlist sync.
- FixThe queue engine emits a searching status for every source.
- FixMalformed ISRC tags are ignored during post-download validation.
- FixA batch of UI and behavior fixes across search, discover, settings, requests, and theme.
- FixNext.js and test tooling updated for security advisories.
v1.2.1May 4 2026
Track failures now tell you why
When a track fails, the request card surfaces a typed failure reason with an icon and tooltip instead of a generic error. Reasons are classified into:
- FeatureNot found, no source matched the requested track.
- FeatureImport rejected, Beets / Plex declined the file (metadata, format, or duplicate).
- FeatureP2P failed, Soulseek peers errored out or never delivered.
- FeatureOther, fallback for unclassified failures.
The retry path bifurcates accordingly so retries do the right thing for each kind of failure instead of blindly repeating the same attempt. Each TrackRequest also stores the resolved downloaded_file path for cleaner import diagnostics.
Fixes and improvements
- FixContainer no longer crashes at boot with
chown: /music: Operation not permittedwhen the music library lives on a USB / exFAT / NTFS drive. The recursivechownon user volumes is replaced by a runtime access probe that emits a clear diagnostic instead of crashing. Boot is also instant on multi-TB libraries since there's no inode traversal, and the host's file ownership is no longer mutated by the container (#2). - FixMalformed ISRC tags no longer break post-download metadata validation, they're ignored instead.
- FixMusic cache warmup runs every 6 hours instead of every 25 minutes, reducing background load.
- FixTrack count is hidden in the artist album list when unavailable instead of showing a placeholder.
- FixThe sort filter is dropped from playlist navigation after submitting a request so you land on the freshly-added item.
- FixDate sort is inverted so the newest items appear first.
v1.2.0April 19 2026
Provider agnostic update (and more)
config.yml has new sections in this release. After deploying, check the refreshed config.example.yml sitting next to your config.yml, diff them side-by-side and copy over the new flags you want. Your existing config.yml is left untouched on upgrade. docker-compose.yml no longer needs the SPOTIFY_CLIENT_ID / SPOTIFY_CLIENT_SECRET env vars (Deezer needs no auth) and adds optional enrichment knobs (LASTFM_API_KEY, FANART_API_KEY, MUSICBRAINZ_CONTACT_EMAIL). Stale Spotify vars are harmless but can be removed. The enrichment keys are strongly encouraged even though they're optional, they unlock higher-quality artist images, album art, discovery, and metadata throughout the app, and the APIs are free to register.db/ before upgrading. This release ships a schema change and it's good hygiene to snapshot your SQLite file in case you need to roll back.Completed the migration off Spotify's restricted API and rebuilt the music metadata layer around a provider-agnostic facade. Deezer is the default adapter today, no authentication required, no rate-limit surprises, no Premium gatekeeping. The facade exposes the same shape (tracks / albums / artists / playlists / genres) regardless of the underlying provider, so future providers can be added without touching the UI or the download pipeline. Content search now runs a smart multi-layer intent classifier (genre rules → learned patterns → post-search heuristics) to route ambiguous queries like "workout energy" or "chill sunday" to genre or mood endpoints instead of plain text search, surfacing better results for natural- language queries. This can be disabled in the config.yml file to fall back to legacy search. A support to integrate an LLM-assisted classifier is also in the works as a final fallback for queries the rule-based layers can't resolve on their own, with adapters for Ollama (local), OpenAI, Anthropic, and Groq already scaffolded in the codebase. The feature is parked as Work in progress.
Playlist Downloads End-to-End - Plex
You can now request a full playlist from search or discover, Synthseek will download every track individually, preserve the original ordering, and reconstruct the playlist inside Plex when the download finishes. If some tracks resolve late (retries, slow peers), the Plex playlist is synced incrementally as each new track arrives instead of waiting for all of them. A new playlist status badge shows where each playlist is in its life cycle, Syncing to Plex… while the reconstruction is in flight, then In Plex ✓ or Not in Plex with a retry button if the Plex side failed. The status is a first-class value in the canonical request state, so the card visuals (border, gradient, description) transition naturally without a flash of "partially complete" before the sync finishes. I am also working on a workflow to import existing playlists from multiple music providers directly into Synthseek so you can mirror your current libraries without having to rebuild them by hand. Parked as Work in progress.
Plex Integration Update
Plex actions are now each individually controllable from config.yml: library_scan (toggles the post-import library refresh) and playlist_sync (toggles playlist creation and incremental sync). Both default to on. After metadata enforcement, the Plex library is now rescanned with force=1 so newly tagged files show up immediately.
Minor fixes and improvements
Various small bug fixes, UX polish, and performance tweaks across search, the request list, and the download pipeline.
v1.1.0March 26 2026
Spotify API Migration (Feb 2026 Breaking Changes)
Adapted to Spotify's February 2026 API restrictions that require Premium accounts for API access and impose stricter rate limits. Search and album track limits reduced to 10, trending tracks rewritten to use direct search instead of playlist endpoints (now requiring user OAuth), and browse categories replaced with a static genre list. Currently working on a more reliable metadata provider integration Reference: https://developer.spotify.com/blog/2026-02-06-update-on-developer-access-and-platform-security
Version Update Notifications
Added automatic detection of new releases published to GitHub Container Registry. A dismissable ribbon banner appears at the top of the page when a newer version is available.