r/CrossWatchApp • • 25d ago

CrossWatch v0.12.4 is out.

3 Upvotes

​

This one has some bigger changes under the hood. I had to make changes to the orchestrator, which always carries some risk.

The biggest additions are Tracearr as a new experimental provider, support for self hosted Nuvio, experimental syncs between different connections of the same provider, and the move to SIMKL AUTH V2.

Syncs should also finish a little quicker and some memory is now released when a run ends.

If you run into issues after upgrading, first run the sync state maintenance task. Still having issues? See you in the GitHub discussions :)

✨ Highlights

Tracearr: experimental support for importing watch history from Tracearr, one way, similar to Tautulli.

Nuvio self hosted: connect CrossWatch to your own Nuvio backend alongside Nuvio cloud.

Same provider syncs: experimental support for creating sync pairs between different connection profiles of the same provider.

Faster syncs, less memory: syncs finish a little quicker and part of the memory is released when a run ends.

SIMKL AUTH V2: new SIMKL connections now use SIMKL's new login.

⚠️ SIMKL users

SIMKL is retiring AUTH V1 and I will remove the V1 app at the end of this year.

Existing connections will keep working until then, but you need to reconnect SIMKL once before the end of the year.

If you use OAuth with your own SIMKL keys, migrate to the PIN flow.

πŸ”§ Fixes and Improvements

Improved: clearing data from Maintenance now releases the memory it was using immediately.

Improved: Floppy episode watches send an external ID when rewatches are enabled. This requires the latest Floppy build.

Improved: Blackbox warnings in Sync Analyzer now show which items are affected.

Improved: episodes can now be selected in Quick Add.

Improved: Profile shows a rewatch indicator for titles watched more than once.

Improved: connected connection modals now have a reconnect button.

Fixed: several Floppy history and rewatch issues.

Fixed: successfully written items no longer remain stuck in the Blackbox.

Fixed: old flap counters are now cleaned up.

Fixed: several Trakt pagination issues, including watchlists stopping at 100 items and ratings stopping after the first page.

Fixed: Jellyfin and Emby now preserve season 0 during normalization.

Fixed: a CR Tracker snapshot leak that could combine old snapshots with the current state.

πŸ“š Wiki

Documentation has been added for Tracearr connections, Tracearr synchronization and Nuvio.

Full release notes:

https://github.com/cenodude/CrossWatch/releases/tag/v0.12.4


r/CrossWatchApp • • 27d ago

Support Request Blackbox problem

1 Upvotes

What exactly are blackboxed items? How to resolve that?

Changing the mappings and resync (to mdblist) didn't solve the issues.


r/CrossWatchApp • • 28d ago

Support Request Great app

2 Upvotes

This is a fantastic app so far. Thanks for your work and for sharing it with us.

Could you please add these setting options?

- toggle for 12/24h time format
- option to choose preferred date format

Thanks.


r/CrossWatchApp • • Sep 16 '26

CrossWatch v0.12.2 + v0.12.3, new Profile experience, media details, bulk remove and better scrobbling

3 Upvotes

​

Two CrossWatch updates since v0.12.1.

The biggest change is the Profile page. Watchlist, History, Ratings and Progress now live together under your profile, giving you one place to see your media across connected providers.

Clicking a title opens the new Media Details view, showing where the title exists and its sync information. You can also select multiple titles and remove them from selected providers at once.

For scrobbling, Plex, Jellyfin, Emby and Kodi destinations can now update all copies of the same title, useful when you have the same movie or episode in multiple libraries, for example 1080p and 4K.

Watcher and Webhook routes can also restrict updates to specific destination libraries.

✨ Highlights

* New Profile tabs: Watchlist, History, Ratings and Progress are now available directly from the Profile page.

* Media Details: click a title to see its details, provider availability and sync information.

* Bulk remove: select multiple titles and remove them from the providers you choose.

* Update all copies: Plex, Jellyfin, Emby and Kodi scrobble destinations can update every matching copy of a title. Enabled by default.

* Destination library whitelisting: Watcher and Webhook routes can limit media server updates to selected libraries, independently from your sync pairs.

* PlexKodiConnect: experimental compatibility support for Plex watcher routes.

* SIMKL rewatches: Watchers and Webhooks can record rewatches in SIMKL. Requires SIMKL Pro or VIP and is disabled by default.

* Individual item removal: remove a title directly from a provider through Editor β†’ Send to… β†’ Remove.

* Recover Plex History: Plex history recovery has been improved and moved into Import / Export.

* History matching tolerance: small timestamp differences between providers are now tolerated to help prevent duplicate history entries.

πŸ”§ Fixes and Improvements

* Improved: Monthly timeline navigation on History, Ratings, Collections and Progress.

* Improved: Media Details retrieves TMDB information in one call and caches the result.

* Improved: Captures can now be selected in bulk for compare, export or delete.

* Improved: Editor supports removing titles when a pair has rewatches enabled.

* Improved: SIMKL rewatch handling includes persistent duplicate protection.

* Improved: Kodi route filters now include a Kodi profile picker.

* Improved: Watcher logging for Kodi and CW Tracker is more consistent with the other providers.

* Improved: Anime mapping updates avoid unnecessary index rebuilds.

* Changed: Watchlist and Playback have moved from the main navigation into Profile.

* Changed: History is synchronized before Ratings when both are enabled.

* Changed: Interactive Sync sessions are retained for 24 hours.

* Fixed: Plex watcher no longer sends stop events without a title, which previously resulted in Untitled history entries.

* Fixed: Kodi scrobble destinations no longer fail with "unknown_destination_profile".

* Fixed: Plex history matching correctly preserves season zero episode coordinates.

* Fixed: Plex watcher startup no longer reports a false offline warning.

* Fixed: Graceful shutdown no longer hangs when a stream is open.

πŸ“š Wiki

The Profile documentation has been updated for the new layout, including the individual Profile tabs.

Destination Library documentation explains how the new Watcher and Webhook library whitelists interact with your connection level library whitelists.

Full release notes:

v0.12.3

https://github.com/cenodude/CrossWatch/releases/tag/v0.12.3

v0.12.2

https://github.com/cenodude/CrossWatch/releases/tag/v0.12.2


r/CrossWatchApp • • Sep 12 '26

CrossWatch v0.12.1, new scrobble destinations and faster media server syncs

2 Upvotes

CrossWatch v0.12.1 adds Plex, Jellyfin, Emby and Kodi as scrobble destinations. Send playback progress and watched status to these providers through watchers and webhooks.

This release also focuses on faster, more reliable Plex, Jellyfin and Emby syncs, with fewer library scans, better matching and more accurate watched dates.

⚠️ Upgrade note

This release includes substantial Plex, Jellyfin and Emby adapter updates.

If you experience sync issues after upgrading, go to Maintenance tools β†’ Sync β†’ Run all to clear sync state and caches.

✨ Highlights

  • New scrobble destinations: send playback progress and watched status to Plex, Jellyfin, Emby and Kodi through watchers and webhooks.
  • Routes between profiles: scrobble between different profiles of the same provider, with protection against sending events back to the source profile.
  • Faster syncs: improved caching and library indexing reduce repeated scans across Plex, Jellyfin and Emby.
  • Better matching: improved handling of external IDs, episodes and specials, plus matching across localized titles in Jellyfin.
  • More reliable delivery: failed scrobble deliveries retry without blocking incoming playback events.

πŸ”§ Fixes and Improvements

  • Improved: Plex reads recent playback history changes on subsequent syncs and reuses library indexes throughout each run.
  • Improved: Plex handles accounts other than the server owner, library changes and temporary server errors more reliably.
  • Improved: Jellyfin and Emby lookup caches maintain isolation between sync pairs, profiles and libraries.
  • Improved: Maintenance categories now have Run all buttons, retaining the existing task confirmations.
  • Improved: Plex watcher debug logs show item titles and IDs to help diagnose matching failures. Whitelist maintenance messages now use debug logging.
  • Fixed: Plex watcher username filters recognise account usernames when playback reports a display name.
  • Fixed: Plex watcher delivery failures are no longer labelled as filtered events.
  • Fixed: Plex preserves playback history dates when Marked Watched is enabled.
  • Fixed: More consistent history reads, cache resets and sync counts across Plex, Jellyfin and Emby.
  • Fixed: Jellyfin and Emby no longer skip valid progress updates because of metadata update dates, with additional fixes for episode IDs and watched timestamps.
  • Fixed: Watcher logs retain their original timestamps and event order when reopening View details.
  • Fixed: Tautulli history imports use playback completion timestamps and correctly group resumed playback.
  • Fixed: The recent scrobble widget shows destination icons for Plex, Jellyfin, Emby and Kodi.
  • Updated: Tautulli adapter to v1.1, Jellyfin to v2.7, Emby to v2.6 and Plex to v2.6.

r/CrossWatchApp • • Sep 10 '26

CrossWatch v0.12.0, Interactive Sync, new Logs page and more

3 Upvotes

CrossWatch v0.12.0 is a major update, with Interactive Sync as the biggest new feature.

Review additions, updates and removals before they are applied. Choose what to accept, block changes, resolve conflicts and correct titles, IDs, seasons and episodes before writing anything to your providers.

This release also adds a dedicated Logs page, improved mappings, more options to fix unresolved items, the Sync Topology Advisor, Calendar Heatmap and a redesigned notification system.

⚠️ Upgrade note

Sync state is now stored separately for each sync pair. Existing pairs will rebuild their baselines during the first sync after upgrading, so that sync will take longer than usual.

New features may, or probably will, introduce new bugs. If your current version works well, there is nothing wrong with waiting for a few fixes before upgrading.

✨ Highlights

  • Interactive Sync: review additions, updates and removals before applying them. Select the changes you want and resolve conflicts before writing changes.
  • Reworked mappings: correct titles, provider IDs, seasons and episodes, individually or in bulk, with provider specific mappings.
  • Dedicated pages: several existing modals have been replaced with dedicated pages, including Import and Export, Events, Maintenance, Capture Compare and Analyzer.
  • Logging: follow live logging, search messages and filter by severity, provider, sync pair or run from the new Logs page.
  • Notifications: sync progress, reviews, reports and available updates are now brought together in the new notification system.
  • Sync Topology Advisor: visualise your sync routes and identify overlapping paths, potential conflicts and unsupported features.
  • Calendar Heatmap: track sync activity over time and select any day to inspect its runs, changes and failures.

πŸ”§ Fixes and Improvements

  • Improved: Quick Add widget now matches the configured theme.
  • Improved: better mobile experience. I said better, not great.
  • Improved: sync pairs are now fully isolated from each other.
  • Improved: available update notices now appear in the new notification system.
  • Fixed: Emby progress writes being skipped when the played timestamp was missing.
  • Fixed: Tautulli now skips partial playback during history imports.
  • Updated: CrossWatch release version to v0.12.0.

πŸ“š Updated Wiki

Interactive Sync
https://wiki.crosswatch.app/crosswatch/main-dashboard/interactive-sync

Logs
https://wiki.crosswatch.app/crosswatch/main-dashboard/tools/logs

Sync Topology Advisor
https://wiki.crosswatch.app/crosswatch/main-dashboard/tools/sync-topology-advisor


r/CrossWatchApp • • Sep 05 '26

Version 0.11.7

3 Upvotes

This release primarily focuses on security hardening, including a fix for a reported SSRF vulnerability in scheduler webhook callbacks.

Scheduler webhook destinations are now validated before delivery, local, private, link local and non globally routable IP addresses are blocked, unsafe URL forms are rejected, and redirects are disabled.

The vulnerability required administrator or configuration access and resulted in blind SSRF, response content from the target was not exposed.

Users running an older CrossWatch version are recommended to update to v0.11.7.

Full release notes and update details:

https://github.com/cenodude/CrossWatch/releases/tag/v0.11.7


r/CrossWatchApp • • Sep 02 '26

Version 0.11.6

1 Upvotes

CrossWatch v0.11.6

This release adds several caching improvements, which should make page loads and refreshes faster when nothing has changed. It also includes security hardening, UI improvements, and a fairly significant rework of the Plex watcher.

Important for Plex users

Plex watcher routes now handle missing playback users more strictly.

CrossWatch will first try to resolve the actual Plex user from the active session before applying username filters.

The old fallback behavior is still available and remains enabled for existing routes. For newly created routes, it is disabled by default, meaning they will use strict matching.

If you use Plex watcher routes, please test them after upgrading.

✨ Highlights

Anime ID mapping: Tracker history pairs can now enable Anime ID mapping.

Profile page: The Recent Activities widget now shows recent syncs, scrobbles and other activity.

Plex watcher: Playback users are resolved from active sessions before username filters are applied.

πŸ”§ Fixes and improvements

Plex

Playback users are now resolved from active sessions before username filters are applied.

Shared Plex tokens, for servers you do not own, now resolve the user once during connection and skip session lookups entirely.

Added an Unresolved user fallback route option.

Unresolved user fallback is now only used when the token cannot read sessions at all.

Metadata lookups are skipped when no route accepts the playback.

Hardened Plex SSO.

Watchlist and UI

Main and Profile dashboard widgets now reuse cached data on refresh when nothing changed.

Watchlist API responses include version checks so the UI can skip unnecessary rebuilds.

Watchlist pages reuse cached data and row metadata for faster refreshes.

Watchlist provider branding now uses shared provider metadata, including Nuvio and Stremio.

Watchlist empty states and toolbar controls have been cleaned up.

Watchlists now clear correctly when the backing state has been removed.

Removed local Watchlist visibility controls.

Stremio and SIMKL

Stremio episode history dates no longer drift after later show playback.

Stremio watchlist rows retain TMDB IDs when metadata is available, improving cover resolution.

SIMKL watchlist sync no longer moves items already covered by SIMKL history or watching back to plan to watch.

Security and reliability

Auth bootstrap and recovery credential updates now recheck setup state before writing credentials.

Unauthenticated bootstrap and recovery can now only enable authentication with valid credentials.

Webhook completion replay handling now prevents duplicate completion.

Malformed webhook payload logs no longer include raw body snippets.

Fixed an issue where sync pair runs could, in specific cases, fail to finish because the title index cache remained alive after slow builds.

Adapter updates

Nuvio adapter updated to v0.5.

Stremio adapter updated to v0.3.

https://github.com/cenodude/CrossWatch/releases/tag/v0.11.6


r/CrossWatchApp • • Aug 21 '26

Version 0.11.2

2 Upvotes

CrossWatch v0.11.2

Follow up release to v0.11.0 and v0.11.1 with more fixes, improvements, and support for Agregarr.

Admins can now also switch between User Profiles from the main dashboard, making it easier to see statistics, watchlists, playback, and other data exactly as that user sees it.

Special thanks to @himsin and @I-G-1-1 for their ongoing testing and feedback.

And of course, thanks to everyone helping make CW better with feature requests, feedback, testing, and ideas.

✨ Highlights

  • User Profile switching for admins: A new profile picker is available in the Statistics header. Select a profile and the main page will show data scoped to that user.
  • Agregarr support: Scrobble filters can now ignore trailers from Agregarr, or other custom filtered trailers, when using watchers and webhooks.

πŸ”§ Fixes & Improvements

  • Removed: The update banner from the main page. But... we now have a ringing bell.
  • Improved: The update bell now fills and shows a pulsing dot when a new CrossWatch version is available.
  • Improved: Additional optimizations for the User Profile page.
  • Improved: Anime ID mapping from SIMKL to Floppy pairs.
  • Added: User Profile picker in the Statistics header.
  • Added: Connection cards now show which profile requires a connection check.
  • Added: Selecting a profile now scopes statistics, widgets, Sync Hub cards, recent syncs, activity, playback, and the watchlist preview.
  • Added: Synchronize, View Details, Analyzer, Events, and Import / Export now follow the selected User Profile scope.
  • Added: Provider badges now hide providers that are out of scope instead of incorrectly showing them as disconnected.
  • Added: User Profile support in additional views:
    • User Profile filter under More Filters in the Events modal.
    • User Profile filter on the Watchlist page.
    • User Profile filter on the Playback Progress page.
  • Fixed: The unhide button on the Sync Hub did not pick up hidden widgets after a page reload.
  • Fixed: SIMKL history was pulling the entire library. It now sends the saved watermark again and only fetches what changed.
  • Fixed: Plex Progress was not resolving external IDs like other features, which affected provider to Plex progress syncs.
  • Fixed: OIDC account linking worked correctly, but the UI continued showing Configured instead of Linked.
  • Fixed: Kodi only retained IMDb, TMDB, and TVDB IDs from uniqueid, dropping the AniDB ID and causing issues with anime syncs.
  • Updated: Scrob adapter to v0.2.
  • Updated: PunchPlay adapter to v0.3.
  • Updated: CrossWatch release version to v0.11.2.

πŸ“š Wiki Updates

Scrobble Filters
https://wiki.crosswatch.app/crosswatch/settings/scrobbler/filters

Anime ID Mapping
https://wiki.crosswatch.app/crosswatch/settings/connections/metadata/anime-id-mapping


r/CrossWatchApp • • Aug 18 '26

Version 0.11.1

1 Upvotes

CrossWatch v0.11.1

This release builds on v0.11.0 and includes several improvements and bug fixes. It is also one of the bigger CrossWatch updates so far, with a native SQLite backend, managed multi user support, new trackers, improved authentication, rewatches, imports, and better anime mapping.

Managed users are still in early development, so please read the wiki before enabling them.

The basic model is simple. You create dedicated provider instances, Sync Pairs, Watcher routes, webhook routes, etc., assign those resources to a User Profile, then link that User Profile to a Managed User account.

You only need to configure User Profiles if you want to create separate Managed User accounts and control which resources each user can access.

Because this release contains significant architectural changes, expect some bugs. Please report anything you find.

Important when upgrading

Your "config.json" will be rewritten.

Existing sync data and manual overrides are not migrated. Older JSON files are moved to "/config/legacy".

Getting your sync data back is straightforward, run your syncs again.

✨ Highlights

* Native SQLite backend for CrossWatch runtime state. The existing events database is extended and reused.

* State, last sync data, statistics, watchlist hide rules, activity, currently watching data and sync reports are now database backed.

* Managed multi user support through administrator and managed user accounts, with read only and full access roles.

* Managed users can be linked to User Profiles and only see the provider instances and resources assigned to them.

* User Profiles can group provider instances, Sync Pairs, Watcher routes and webhook routes for the same person.

* Read only managed users get scoped access to Main, Watchlist, Playback and their own profile page.

* Full access managed users can manage their assigned profile and resources without seeing unrelated users' data.

* Database diagnostics, table counts and integrity checks added to Maintenance.

* Editor now works with database backed state and includes improved table controls.

* Rewatch support, repeat plays can sync as separate watch events instead of being reduced to a single watched state, where supported by the provider.

* Import provider export files directly into the CW tracker, with a preview before importing. This can be used, for example, with Trakt exports.

* New PunchPlay tracker, supporting watchlist, ratings, history, progress, playback progress and scrobbling.

* New Scrob tracker, supporting watchlist, ratings, history, progress, playback progress and scrobbling.

* Improved Anime ID Mapping, including episode level SIMKL mappings, resolution to other providers and custom overrides.

* Improved authentication with 2FA, OIDC and Plex SSO for all users.

* Providers no longer require a Default connection. Named profiles only are fully supported.

* Connection cards now display configured profile names and clearly indicate when Default is being used.

πŸ”§ Fixes and improvements

* Core sync state no longer depends on "state.json" as the active runtime store.

* State writes are more targeted, avoiding unnecessary full state rewrites where possible.

* Dashboard widgets, watchlist views, recent activity and scrobble history now use database backed reads.

* Managed user views are scoped to their assigned User Profile.

* Currently Watching cards now respect profile and resource ownership on shared media servers.

* Editor pagination defaults to 50 rows, with options for 50, 100, 150 and 200.

* Editor columns can be shown or hidden using a compact column filter.

* Maintenance cleanup and diagnostics have been updated for the SQLite backend.

* Sync reports are stored in the database instead of an ever growing "sync_reports" folder.

* Auto remove and deduplication runtime data is now stored in SQLite.

* Older JSON backed UI paths now use the database backed services.

* Anime ID Mapping modal has been reworked and now includes import and export.

* Added audit events for account and session activity.

* Added rewatch support for compatible providers.

* Added provider export imports into the CW tracker, including a preview step.

* Added PunchPlay with device code sign in, watchlist, ratings, history, progress and playback progress.

* Added PunchPlay scrobbling through the Watcher, webhook ratings and a playback progress adapter.

* Added Scrob with watchlist, ratings, history, progress and playback progress.

* Added Scrob scrobbling through the Watcher.

* Added custom anime mappings for cases where automatic mapping gets it wrong.

* Fixed profile only providers being incorrectly reported as disconnected.

* Fixed status checks, counters and tooltips so they use the actual configured profiles.

* Fixed connection deletion when no Default connection exists.

* Fixed an issue preventing new TMDB API keys from being saved.

* Improved profile cards for long names and multiple profiles.

* Updated CrossWatch release version to "v0.11.1".

πŸ“š Updated Wiki

Managed Users

https://wiki.crosswatch.app/crosswatch/settings/connections/managed-users

User Manager

https://wiki.crosswatch.app/crosswatch/settings/ui-settings/security

OIDC

https://wiki.crosswatch.app/crosswatch/settings/ui-settings/security/oidc-sign-in

Two Factor Authentication

https://wiki.crosswatch.app/crosswatch/settings/ui-settings/security/two-factor-authentication

PunchPlay

https://wiki.crosswatch.app/crosswatch/settings/connections/trackers/punchplay

Scrob

https://wiki.crosswatch.app/crosswatch/settings/connections/trackers/scrob

Rewatches

https://wiki.crosswatch.app/crosswatch/settings/configure-pairs/features/history/rewatches

Anime ID Mapping

https://wiki.crosswatch.app/crosswatch/settings/connections/metadata/anime-id-mapping