✨ New Features
- Catch Up: New swipe deck page for marking titles watched, dismissed or watchlisted easily, available as a native Home tab, Plugin Page or Custom Tab. Admins get an activity panel showing who swiped what. Started as an independent tool because I wanted to know if my users have watched anything in the library outside of Jellyfin so that I can delete those files.
- Tag Colour Overrides: Admins can recolour quality, genre, language, rating and age tags, for web overlays, native poster images, or both.
- MDBList Rating Sync Source: Choose which rating source is written to Jellyfin's own rating, with a fallback when it is missing. #938
- Elsewhere Per Season: Streaming providers are now shown per season.
- Tag Cache Excluded Libraries: New option to leave libraries out of the tag cache. Helpful for large virtual libraries. #919
- Live Plugin Pages: With Plugin Pages 3.0+, pages are registered and removed live, no server restart needed.
- Requests Page: Pages are sized to whole grid rows, sections update in place, headings get icons, and approved requests that Radarr/Sonarr no longer have are labelled as orphaned.
- Ratings Coverage: Colored ratings now cover all Jellyfin and TMDB/Seerr ratings.
- SIMKL Link: The Seerr More Info modal now links to SIMKL. #922
- Shortcut Overrides Grid: The admin shortcut overrides are now a click-to-record grid, which also fixes keys that could not be reassigned from their default. #917
- Maintenance Banner: Users can dismiss the maintenance banner until the next page load. #907
- Masked API Keys: API key fields on the config page stay masked until focused. #925
⚙️ Improvements
- Faster Page Loads: Far fewer requests per page. Startup answers ride along with the bootstrap, awards, MDBList, reviews and watch providers are cached, and tag-cache deltas are sent only on real route changes. Huge thanks to @4eh5xitv6787h645ebv! #911
- Playback: JE CPU per minute 687 ms to 26 ms
- Details page revisits: JE requests 14 to 7 across movie, series, season and episode pages
- Library pages: main-thread long-task time 2,026 ms to 904 ms
- Admin settings page first open: visible after 413 ms (was 882 ms)
- Faster Tag Cache: Single-pass responses, quicker Series/Season builds and fewer saves during library scans. Thanks to @4eh5xitv6787h645ebv! #911
- Full rebuild, 5k items: 15-22 s to 2.4 s
- Full rebuild, 72k items: about 14 minutes to 36-52 s
- 20 clients downloading the full cache: server CPU 34 s to 17 s, peak memory 1.8 GB to 0.73 GB
- Smoother Seerr Search: One search per query, a single batched collection lookup per batch, and lighter, delegated card rendering. Thanks to @4eh5xitv6787h645ebv! #911
- While typing (300 ms/key): JE requests 81 to 13, Seerr searches 27 to 12, row rebuilds 13 to 3
- Regression Suites: Organized regression test suites landed alongside fixes for persistence, privacy and lifecycle bugs, including requesting a series with no automatic match (a stored TVDB id is used, otherwise a manual match is required). #653 Thank you @4eh5xitv6787h645ebv! #912
🐞 Bug Fixes
- Auto PiP: Only closes a Picture-in-Picture window it opened itself. Thanks to @4eh5xitv6787h645ebv! #913 #910
- Seerr Search Message: No more "no results" message when KefinTweaks search has results. Thanks to @4eh5xitv6787h645ebv! #920
- Issue Reporting Modal: Fixed an issue where issue reporting modal said all seasons instead of episodes. Thanks to @The50th! #930
- Keyboard Shortcuts: Shifted symbol keys such as + now match on US layouts. #924
- Seerr Request Icon: Request icon and card status badge scale correctly on phones.
- Requests Processing: Processing no longer includes Coming Soon requests.
- Native Tabs Backdrop: The home backdrop behind plugin tabs is darkened on Jellyfin 12.
- Config Page Avatars: No more 404s for users without a profile picture in the maintenance user picker.
🌍 Translations
- Catch Up strings and remaining English strings translated across all locales.
- Translations updated via Hosted Weblate, thanks @loïc and Oğuz Ersen! #914 #918 #928
🛠️ Maintenance
- ci(tests): production inventory now syncs automatically (#932)
- chore: address code scanning findings (#926)
- ci(codeql): stop reporting recommendation-level style notes (#935)
P.S. Enjoying the plugin?
Fuel development (and my storage addiction) with a coffee!



