This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Summary
AI summaryUpdates music-side fixes & polish, testing & infra, and kometa-style across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds full video side with movies, TV, and YouTube support. Adds full video side with movies, TV, and YouTube support. Source: llm_adapter@2026-07-14 Confidence: high |
— |
| Feature | Medium |
Introduces tautulli-style live server activity view for Plex and Jellyfin. Introduces tautulli-style live server activity view for Plex and Jellyfin. Source: llm_adapter@2026-07-14 Confidence: high |
— |
| Feature | Medium |
Implements Radarr/Sonarr‑parity download matching with title gating and TMDB alternate titles. Implements Radarr/Sonarr‑parity download matching with title gating and TMDB alternate titles. Source: llm_adapter@2026-07-14 Confidence: high |
— |
| Feature | Low |
Adds GitHub Sponsor button via funding.yml configuration. Adds GitHub Sponsor button via funding.yml configuration. Source: llm_adapter@2026-07-14 Confidence: high |
— |
| Performance | Medium |
Optimizes nightly TV refresh to pull only the current season, reducing API calls. Optimizes nightly TV refresh to pull only the current season, reducing API calls. Source: llm_adapter@2026-07-14 Confidence: high |
— |
| Bugfix | Low |
Fixes mobile docs navigation issue where sidebar taps were unresponsive on phones. Fixes mobile docs navigation issue where sidebar taps were unresponsive on phones. Source: llm_adapter@2026-07-14 Confidence: high |
— |
| Bugfix | Low |
Corrects music dashboard header label to "music dashboard" from "system dashboard". Corrects music dashboard header label to "music dashboard" from "system dashboard". Source: llm_adapter@2026-07-14 Confidence: high |
— |
| Refactor | Low |
Introduces new Playwright characterization tests for shell, chrome, search, and help pages. Introduces new Playwright characterization tests for shell, chrome, search, and help pages. Source: llm_adapter@2026-07-14 Confidence: high |
— |
Full changelog
soulsync 3.0.1: dev → main
the big one. soulsync isn't just music anymore. this release adds a whole video side (movies, tv, youtube) plus a tautulli-style live server activity view, with Radarr/Sonarr-parity download matching, on top of the usual pile of fixes. that's the 3.0.
the video side (movies, tv & youtube)
a fully isolated video app: its own database, dashboard, search, calendar, and download pipeline. shares the automation engine but never touches the music side. works with plex and jellyfin.
- library & scanning: three scan modes (incremental modified-since delta, deep re-read + prune, full reset), movies and tv tracked as independent libraries, plus a smart post-download scan that skips the crawl when it already has the newest grab
- enrichment: tmdb (movies+shows), tvdb (shows + an episode-metadata fallback), omdb (imdb/rt/metacritic ratings), plus 10 background backfill workers (fanart.tv, opensubtitles, return youtube dislike, sponsorblock, trakt, tvmaze, anilist, wikidata, streaming providers, mediastinger). gap-fill by design so it never clobbers server data, per-field locking, and a rolling re-enrichment automation so ratings, overviews, art and air-dates never go stale
- detail pages & search: source-agnostic movie/show/person/studio pages, and a progressive netflix-feel search that streams results in per group as they arrive
- tv calendar: a real week grid with air times, a watchlist vs all-library scope toggle, and wishlist an episode straight from the modal
- follow, wishlist, download: follow shows, actors/directors, studios (with family presets like disney = pixar + marvel + lucasfilm), youtube channels and playlists. a 1-year look-ahead horizon keeps the wishlist current without flooding it, and a sonarr-style airing job wishlists today's episodes for the shows you follow
- downloads: soulseek (slskd), prowlarr indexers, youtube (yt-dlp), radarr/sonarr-class quality profiles (ladder, cutoff, upgrade-until-cutoff, reject rules, preferred words), a permanent download history, a recycle bin, and a release blocklist
- overlay studio (kometa-style): a visual overlay-template editor applied via pillow onto plex/jellyfin posters, per-scope assignments (movie/show/season/episode), logo badges, and a nightly re-apply that skips unchanged items
- collection manager (kometa-style): build plex collections / jellyfin boxsets from smart filters and ranked lists (imdb, tmdb, trakt, mdblist) in true rank order
- youtube: follow channels and playlists as shows (yt-dlp, no api key), per-channel keep windows, and true downloaded-state tracking
- plus library-maintenance repair jobs, bulk metadata edit + per-field lock, re-identify a title, an issues system, and a dedicated video automations page on the shared engine
smarter video downloads (radarr/sonarr-parity matching)
the download search used to accept a release on the YEAR alone, so a search for "paradox (2017)" could grab "the cloverfield paradox (2018)" (title's a substring, year's one off). now it gates on the release TITLE too:
- a confident title mismatch is rejected, at BOTH the initial auto-pick and every retry (the initial pick had no title check at all before this)
- it matches TMDB alternate + original-language titles, so a release named by a known aka (or a foreign film under its original title) still gets found. this is where we beat radarr/sonarr on missed grabs, not just wrong ones
- manual search greys out mismatches with the reason, sonarr-style
faster nightly TV refresh
the airing-schedule refresh only re-pulls the current season now, instead of every season of every still-airing show every night. at hundreds of airing shows that's thousands of api calls a night dropped to a fraction, with no loss (new episodes only ever land in the current season).
server activity (tautulli-style)
a live now-playing view for plex and jellyfin, in an app-wide slide-out drawer:
- live streams merged across plex + jellyfin, pushed over websocket
- click a stream to open it inside soulsync (tmdb fallback so anything playing is clickable)
- a history tab, a stats tab, and terminate-a-stream-with-a-message
- gated to plex/jellyfin, hidden when the active server can't provide it
music-side fixes & polish
- mobile docs nav works now: sidebar taps on the help/docs page were dead on phones (a sticky header ate the tap area, and the scroll target was a no-op on the stacked mobile layout). both fixed, in two places
- the music dashboard header now reads "music dashboard" instead of "system dashboard"
testing & infra
- new playwright characterization tests for the shell chrome, search, help and artist-detail pages, at desktop + mobile (#1015, #1016, thanks @bluejorts). they lock in real ui contracts, including the #1007 modal-button regression, right ahead of the react migration
- a github sponsor button (funding.yml)
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
Related context
Related tools
Beta — feedback welcome: [email protected]