Skip to content

SoulSync

v3.0.3 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

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

✓ No known CVEs patched in this version

Affected surfaces

deps

ReleasePort's take

Moderate signal
editorial:auto 12d

The release adds a global pause toggle to both video and music automation pages, allowing operators to gate all automations without changing individual switches. Existing path‑resolution warnings now repeat every 10 minutes with detailed filesystem error information.

Why it matters: A single toggle simplifies bulk control of video and music automations; repeated warnings every 10 minutes improve observability of path‑resolution failures.

Summary

AI summary

Global automation pause toggles added for video and music sides.

Changes in this release

Security Critical

Corrupt file detector now scans configured music paths instead of silently skipping all files.

Corrupt file detector now scans configured music paths instead of silently skipping all files.

Source: llm_adapter@2026-07-15

Confidence: low

Feature Medium

Show detail page adds "Wishlist Missing" button to wishlist all missing episodes of a show in one click.

Show detail page adds "Wishlist Missing" button to wishlist all missing episodes of a show in one click.

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Get Missing modal gains "Select all missing" button to tick every missing episode for bulk addition.

Get Missing modal gains "Select all missing" button to tick every missing episode for bulk addition.

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Video manage panel now includes a Matches section with per‑service match status, re‑point search, clear, and paste‑ID fields.

Video manage panel now includes a Matches section with per‑service match status, re‑point search, clear, and paste‑ID fields.

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Both automations pages receive a global pause toggle that gates execution without altering individual switches.

Both automations pages receive a global pause toggle that gates execution without altering individual switches.

Source: llm_adapter@2026-07-15

Confidence: high

Bugfix High

Manual match now processes both source entries pointing to the same server track instead of silently discarding the second.

Manual match now processes both source entries pointing to the same server track instead of silently discarding the second.

Source: llm_adapter@2026-07-15

Confidence: high

Bugfix Medium

Reorganize no longer applies duration check to user‑owned library files, preventing false "wrong file" quarantines.

Reorganize no longer applies duration check to user‑owned library files, preventing false "wrong file" quarantines.

Source: llm_adapter@2026-07-15

Confidence: high

Bugfix Medium

One‑time migration re‑queues shows lacking airing info so watchlist button and status refresh correctly appear.

One‑time migration re‑queues shows lacking airing info so watchlist button and status refresh correctly appear.

Source: llm_adapter@2026-07-15

Confidence: high

Bugfix Medium

Now‑playing modal now scrolls its body to prevent control clipping on small or zoomed windows.

Now‑playing modal now scrolls its body to prevent control clipping on small or zoomed windows.

Source: llm_adapter@2026-07-15

Confidence: high

Bugfix Medium

Path‑resolution warning now repeats every 10 minutes with detailed filesystem error and folder entry counts.

Path‑resolution warning now repeats every 10 minutes with detailed filesystem error and folder entry counts.

Source: llm_adapter@2026-07-15

Confidence: high

Full changelog

soulsync 3.0.3: devmain

video gets whole-show wishlisting, a match editor, and global automation pause toggles. music side kills four reported bugs, including the corrupt file detector that scanned nothing and the manual match that refused to stick.

video: wishlist a whole show in one click

the show detail page gets a "Wishlist Missing" button next to Get Missing: it loads every season (including ones you never browsed on a tmdb preview), collects every missing aired episode, and wishlists them all with full art context. the get missing modal gets a matching "Select all missing" button that loads all lazy seasons and ticks every missing episode so one Add click covers the entire show. previously both were season-at-a-time.

video: fix a wrong match from the manage panel

movies and shows now have a Matches section in the manage panel, music parity style. per-service rows (tmdb, tvdb for shows, imdb) with match status, a search to re-point the match to the right title, clear, and a paste-an-id field for imdb. re-pointing clears everything the old wrong match filled in (your locked fields and art are never touched) and the existing workers re-enrich by the new id in the background.

video: shows stuck with no status (the 90 day fiance report)

some shows had no airing info and no watchlist button because their tmdb status never landed: an old bug marked their details as synced even when the tmdb call failed, permanently. a one-time migration re-queues those shows so the background worker fills their status in, and the watchlist button plus airing refresh come back on their own.

automations: a global pause per side

both automations pages get a master toggle. it does not touch your individual automation switches, it just gates whether anything runs on that side: scheduled slots skip but keep their schedule, event triggers drop, manual Run still works. music defaults on, video defaults off (most installs predate the video side). stored in the db, flips apply instantly.

corrupt file detector actually finds files now (#1000 follow-up)

abclive's report: "6741 FLAC files decode-tested, 0 corrupt, 6741 skipped" in 0.1 seconds. nothing was decoded: the scan called the path resolver with no search directories, so every docker/nas library path silently resolved to nothing. the resolver now gets the transfer folder + your music paths, the summary reports what was actually decoded vs unresolved, and a total resolution failure logs a loud "check your music paths / mounts" instead of a healthy-looking run. replaygain filler had the same hole, same fix. flac is now in the docker image so the md5-verifying flac -t check is available out of the box.

manual match refuses to work (wolf39us)

when two source entries pointed at the same server track (same song twice in a playlist, both matched to your one library copy), the match engine silently threw the second one away, forever, no matter how many times you re-matched it. both are your calls now, both count. every remaining silent failure in that flow also logs exactly which gate it died at.

reorganize no longer quarantines your own files

full reorganize ran your files through the duration check meant for fresh downloads, so a file that's a different master than the metadata source's tracklist (a long version, say) got a copy quarantined and the track failed with a scary "wrong file" reason. reorganize files are your own library files, identity not in question: the duration check no longer applies to them. real corruption checks still run.

player + diagnostics fixes

  • the now playing modal clipped its controls on short or zoomed-in windows (same bug family as the basic search one in 3.0.2). the body scrolls now; tall viewports are pixel-identical
  • the "could not resolve path" warning logged once per boot then went silent forever, hiding intermittent mount failures. it now repeats every 10 minutes and names the actual filesystem error plus how many entries each search folder lists, so a dead nfs/bind mount diagnoses itself

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 →

Beta — feedback welcome: [email protected]