CrossWatch – v0.4.0
Whoop! Whoop! Another day, another new CrossWatch release – but this time we’re doing a big jump from 0.3.9 → 0.4.0.
This is a big update and focuses on seeing what’s going on (Now Playing, clearer logs, visible schedules) and tightening control over what gets synced (server- and pair-level whitelists).
⚠️ IMPORTANT: this release can break existing setups until configs are refreshed.
Because 0.4.0 changes how config is read and how whitelisting works, it’s strongly recommended to:
- Go to Settings and hit the big red Save config button once.
- Open each Pair, click Save (even if you don’t change anything).
This will rewrite and normalizeconfig.jsonso everything lines up with the new behavior.
Most of my live testing for 0.4.0 was Plex/Emby/Jellyfin → SIMKL. I can’t realistically test every possible scenario in CrossWatch, so please keep that in mind. The sync progress bar still acts up sometimes. I’ve looked into it, but fixing it properly needs bigger changes, so I’m pushing that to v0.5.0.
✨ Highlights
-
Now Playing bar
- A strip at the bottom shows what you’re currently watching.
- Hover to see title, year, episode info, and a live progress bar.
- Completely pointless… which is exactly why it exists...why not?
-
Library whitelisting (server-level & pair-level) - experimental
- In provider settings you can define server-level whitelists for Plex / Jellyfin / Emby, limiting which libraries CrossWatch ever touches for history and ratings.
- Each sync pair now has its own pair-level whitelist, so one pair can sync only Movies while another focuses on Kids or TV-Shows—all within the allowed server scope.
- Updated Analyzer to be pair-level whitelisting aware.
- In Settings → Insights, CrossWatch now shows a dedicated Whitelisting section.
- IMPORTANT read the WIKI on how it exaclty works and their limitations: https://github.com/cenodude/CrossWatch/wiki/Libraries-whitelisting
-
Improved scheduled syncs
- Scheduled syncs now use the same path as the big Synchronize button.
- Finished schedules show up in Dashboard → Insights (including Recent syncs), so you can actually see what ran and when.
-
Improved Plex / Emby Watcher
- Watcher now follows your main server settings more strictly. This means that it reads the Authentication Providers settings and cannot be changed in the Watcher anymore.
- Detects your Plex / Jellyfin / Emby connection as soon as you open Settings → Scrobbler, so in best-case no full reload needed. Doesnt work? do a manual refresh.
- When you choose Trakt, SIMKL, or Both as the sink, CrossWatch checks that those accounts are connected and tells you what’s missing (if any)
-
Watchlist Preview toggle
- In Settings → User Interface you can hide or show the Watchlist Preview on the main page. Default is enabled.
-
Sync modules / adapters
- mdblist adapter promoted to version 1.0.0 (stable).
- Jellyfin adapter promoted to version 1.0.0 (stable but still can have some new issues) - had some major code changes
- Emby adapter promoted to version 1.0.0 (stable but still can have some new issues) - had some major code changes
- SIMKL adapter promoted to version 2.0.0 (stable and advanced)
-
Clearer watcher/webhook activity logs by centralized logger
- All automatic plays now use one clean, readable log style through the centralized logger.
🔧 Fixes & Changes
- Fixed: scheduled syncs running “invisibly” – they now refresh Insights and appear in Recent syncs just like manual runs.
- Fixed: Jellyfin and Emby server-level whitelisting. This wasnt correctly implemented as it was using folder ID's and not Library ID's. Fixed now.
- Fixed: Emby Watcher no longer disappears when server IDs are wrong.
- Fixed: Settings screen no longer cuts off the bottom buttons on smaller windows.
- Fixed: “Not connected to Plex” showing even when Plex was already configured in the scrobbler/ watcher section.
- Change: better settings hydrating, sometimes /api/config settings where not hydrated and needed UI refresh
- Change: Watcher Start button stays disabled until Plex/Emby and the selected sink (Trakt / SIMKL) are properly connected.
- Change: Webhook logs stay visible and consistent when debug logging is on.
- Change: Pair library selector now respects server-level whitelists and clearly shows which libraries are selected.
- Change: Fallback code removed from Plex module; be sure to configure your Plex settings correctly.
- Change: Added two additions to maintenance, reset currently playing and Restart CrossWatch (restart container)
- Change: Empty pairs (no features) are now properly skipped in the orchestrator. Also added a warning in the pair-config that no features are enabled...
- Change: Added a /scripts/ folder where I’ll stash utility scripts, like Emby/Jellyfin cleanup tools.
- Change: Added configuration status dots in Authentication Providers (green neon pulse when configured)
From 0.4.x onward I’ll be phasing out a lot of the “safety” fallback code that used to make CrossWatch less user-proof. That means it’s now extra important to actually read the WIKI before using CrossWatch, so your setup matches how the app is meant to be used.