Version 0.2
Version 0.2.0
Tag:
v0.2.0Published:
2025-10-10T17:06:29ZGitHub: https://github.com/cenodude/CrossWatch/releases/tag/v0.2.0
CrossWatch v0.2.0 — Big, refactored, and yes… probably many new bugs 🙂
Faster syncs, safer writes, cleaner UI. Two-way flows are steadier, SIMKL + Jellyfin behave better, Trakt refreshes itself, progress bar is sane, scheduler is actually useful. Breakage risk is low but back up /config anyway.
Highlights
Big refactor: FastAPI split into lean routers; providers + orchestrator modules cleaned up for speed and reliability.
Safer syncs: Mass-delete guard rails, health status and “suspect shrink” protection; additions/updates chunked; smarter delta reuse.
Two-way sync that sticks: Less flip-flop from weak IDs; better source-of-truth handling across mixed pairs.
Scheduling 2.0: Hourly / every-N-hours / daily time, per-timezone, optional jitter, manual “run now”, resilient loop.
Debug levels:
Off·On·On + MOD debug·On (full HTTP)best isOn + MOD debugAuth mod Plex improvement: in authentication providers there is now a new settings menu for Plex (server settings, user settings and whitelisting of libraries)
Sync mod Jellyfin improvement: many fixes, should work better now. Also watchlist can now sync to favorites, Playlist and Collections
Watchlist: new GUID normalizations will provide better results
What’s new (user-visible)
UI/UX
Progress bar partly fixed: No early jump to 90%. “Apply” phase is shown only after all snapshots complete.
Run safety: Start/stop visuals are guarded (no more
startRunVisuals is not defined).Troubleshoot panel: One-click Clear cache, Reset stats, Reset state.
Auth flows: Plex PIN and SIMKL OAuth are smoother; clearer status + error toasts.
Wiki surfaced: Help links right in the app (Getting Started, Config, FAQ).
Providers
Plex
Server URL is sticky: Suggestions won’t override a value already saved in config.
Better library scoping and discovery hints.
SIMKL
Fresh “present” snapshots when activity changes (bypasses stale ETag/304). Fewer “why didn’t my add propagate?” moments.
Trakt
Auto token refresh before/after calls; 401/403 retries wired in.
Jellyfin
Capability reporting cleaned up; fewer re-add loops via smarter ID/shadow handling.
Orchestrator
Faster snapshots; smarter enrichment ordering; fewer duplicate passes.
Safer writes with chunking + tiny pauses to avoid API spikes.
Telemetry (opt-in) trimmed and less noisy.
Scheduling
Modes:
disabled | hourly | every_n_hours | daily_time.Timezone-aware start; optional
jitter_secondsto avoid herd starts.Visible “next run at” + last result in the UI.
Config (still JSON, still simple)
New debug trio:
runtime.debug,runtime.debug_mods,runtime.debug_http.Stability knobs:
snapshot_ttl_sec,apply_chunk_size,apply_chunk_pause_ms, and mass-shrink guards (suspect_min_prev,suspect_shrink_ratio).
Fixed (the greatest hits)
Watchlist delete (SIMKL/Trakt): actually removes items and stays removed.
Endless re-adds from weak/agent IDs reduced (IMDb/TMDb/TVDb priority).
Insight/List noise reduced (hide disconnected providers).
UI errors from timing/race conditions hardened.
Breaking/behavior changes
Internal API/routers were refactored; external endpoints remain the same for normal use.
If you see odd counts after upgrade: use Maintenance → Clear cache and hard-refresh the UI.
Upgrade notes
Back up your CrossWatch config folder before upgrading.
After upgrading, open Settings and verify your connections.
Run one pair first before re-enabling Scheduling.
Known rough edges (being honest)
Stats can be off in edge cases (work in progress).
Some UI sections don’t auto-refresh perfectly (do manual refresh).
SIMKL & Jellyfin are still maturing; report weirdness with logs.
see WIKI for more issues: https://github.com/cenodude/CrossWatch/wiki
Last updated