github cenodude/CrossWatch v0.9.7
Update 0.9.7

6 hours ago

CrossWatch v0.9.7

This release streamlines and improves scheduling for a more reliable overall experience.

✨ Highlights

  • Scheduler status: The banner and Setting Insight now reflect Standard and Advanced scheduling modes.

🔧 Fixes & Improvements

  • Scheduler: guardrails: Switching to Advanced automatically turns Standard off (and vice versa) to prevent conflicting schedules.
  • Scheduler: logs: Added scheduler logs (start / next run / trigger / success / failure) so scheduled runs aren’t silent.
  • Scheduler: next-run handling: Disabling scheduling no longer shows a far-future placeholder.
  • Advanced scheduler: Advanced jobs now correctly catch up if a job time has already passed.
  • Advanced scheduler: The banner now makes it obvious when the next run is today vs tomorrow/another day.
  • Settings Insight: Insight refreshes far less when the Settings page isn’t open, improving overall UI performance.
  • Settings Insight: Prevents re-rendering when nothing changed, reducing repeated icon reloads.

Previous change v0.9.6 below:

CrossWatch v0.9.6

Big changes: the Plex adapter (history and ratings) was refactored for better accuracy and much faster history syncs.
First run may still be slow, but follow-up runs should be way faster.

For users still on v0.8.x, now’s the perfect time to upgrade to v0.9.6.

⚠️ Warning possible breaking update for Trakt History pairs

Trakt is rolling out a change that rounds watched_at to minute precision
I've changed the Trakt adapter following that same principle now.
If you have a pair with Trakt using History then either recreate the pair or even better:
Go to maintenance tools to clean everything. Ref: https://wiki.crosswatch.app/crosswatch/faq

✨ Highlights

🔧 Fixes & Improvements

  • Trakt: minute precision: Changed the Trakt adapter to follow-up the new minute precision approach.
  • Plex: Home token reliability: History writes now use the active Plex session token (prevents “sometimes only season 1” / random unresolved writes when Plex Home switching is involved).
  • Plex: Strict IDs-only matching: History sync is now fixed and can run in strict ID mode using Plex GUIDs (TMDB/IMDb/TVDB) without title/search fallbacks. This reduces mismatches and makes “IDs-only” actually work.
  • Plex: history capture: Plex history capture is now incremental (watermark and correct mindate usage) instead of re-scanning the entire server history every run.
  • Plex: Persistent GUID index: Uses a per-pair, on-disk GUID→ratingKey index to speed up strict matching.
  • Plex: ratings strict matching improved: Episode/season ratings resolution now also uses show IDs (TMDB/IMDb/TVDB) when matching in Plex, improving accuracy and reducing “unresolved” ratings in strict ID mode.
  • Editor: timestamps: “Watched At” display/editing now matches the UI. Manual edits are interpreted in local time and stored consistently (prevents timezone shifts).
  • Captures - Compare: Compare is now limited to same provider and same feature to prevent misleading diffs. Ref: #97
  • Captures - Compare: Smarter diffing (including timestamp normalization) to avoid false “updates” caused by tiny time differences. Ref: #97
  • Plex: history timestamps: Fixed a potential timezone offset issue by reading Plex history using Plex’s native epoch format for consistent results. Ref: #103
  • Pair-config - One-Way Remove mode UI toggle: Added a new switch in pair-config under Allow mass delete to control one-way deletion behavior:
    • Enabled (default): Deletions are based on source matches — items are only deleted when a match exists between source and destination.
    • Disabled: Mirror mode (mirror) - always follows source (destructive; use with care).
    • NB: The logics was already available in v0.9.5, i only added the UI toggle.
    • Ref: https://wiki.crosswatch.app/crosswatch/configure-pairs/global-settings

Don't miss a new CrossWatch release

NewReleases is sending notifications on new releases.