Skip to content

SoulSync

v2.8.6 Bugfix

This release fixes issues for SREs watching stability and regressions.

Published 21d Media Servers
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Summary

AI summary

Fixes Spotify search without authentication, Docker import UI blank pages, mirrored playlist wipe risk, Deezer artist match accuracy, iTunes single artist handling, and cleanup of empty folders after reorganization.

Full changelog

soulsync 2.8.6 — devmain

a focused fix batch on top of 2.8.5/2.8.51 — search, import, library, and playlists.


spotify search works without a connected account

picking "Spotify" as your search source returned only library results if you weren't authenticated to a real spotify account — even with the no-auth spotify free source installed. the search gate said "spotify unavailable" and bailed before searching anything.

fix: an explicit "Spotify" search pick now uses the no-creds spotify free source when you're not connected (the explicit pick is your consent — no silent background scraping changes). threaded as a per-request prefer_free flag, default off everywhere, so fan-out/background paths and every other source are untouched. separately, a connected account whose official search comes back empty now falls back to free instead of a blank page.

#986 — import & stats black screen on docker

a follow-up to the 2.8.5 fix. some docker setups still loaded import & stats blank because the JS module bundle was served with a non-JS content type and the browser refused to run it. we now force the correct text/javascript content-type at the HTTP layer (an after-request hook), so module scripts always run.

#990 — mirrored playlists could be silently wiped to empty rows

a wrong-shaped refresh payload (the GET endpoints return the spotify track shape, the POST expected the mirror shape) could overwrite a mirror with thousands of empty rows and still return success. it now coalesces the spotify shape into the mirror keys, and validates before touching the db — if every track maps to empty it rejects with a 400 before the delete, so your existing mirror is never wiped.

#988 — browsing an artist could show a different artist's tracks

a deezer name-search was accepting the first result even on a poor name match, so e.g. The Outfield could show Beatles tracks. it now requires a real name match (0.85 similarity) before using a result, and falls back cleanly otherwise. also hardened the worker path that could smear a stored deezer id onto the wrong artist.

#989 — itunes singles landing in "unknown artist"

when a single's album-artist came back empty, the track could file and tag under "Unknown Artist". it now falls back to the real track artist when the album-artist is empty/unknown, while a genuine album-artist still wins.

#985 — library reorganize left empty folders behind

after moving files, reorganize left the old, now-empty disc/album folders behind. it prunes them now — bounded and disc-aware, so it only removes the emptied file/album (and a disc subfolder), and never climbs up to the artist directory or library root.


all fixes have root-cause + regression tests; full suite green.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track SoulSync

Get notified when new releases ship.

Sign up free

About SoulSync

Automated Music Discovery and Collection Manager

All releases →

Related context

Beta — feedback welcome: [email protected]