github n00bcodr/Jellyfin-Enhanced 12.5.0.0
v12.5 - Opt-in Usage Analytics and Shoko Anime Calendar!

3 hours ago

✨ New Features

  • Admin: Opt-in Community Usage Analytics: A new "Usage Statistics" section on the Admin tab lets admins opt in to periodically report an anonymous snapshot (which features are toggled on, a handful of usage counts, and a couple of data-file sizes) to a public community analytics dashboard which can be found here. Off by default, three independently toggleable categories, and a live preview of the exact payload before anything is sent. #791 #788
  • Calendar: Shoko Anime Source: Adds Shoko as a calendar source for anime, with a configurable AniDB episode-type filter (Episode, Special, Credits, Trailer, Parody, Other; defaults to Episodes only) and an "open in Shoko" link on calendar cards. Thanks to @Jurrer! #776 #592
  • Home Videos & Photos: Quality Tags: Quality tags can now be shown on Home Videos and Photos libraries, not just Movies/Shows. Thanks to @MatrixNeoKozak! #778 #775

⚙️ Improvements

  • Startup: The tag cache now builds as its own dedicated scheduled task instead of inline during startup, so a slow or stuck build shows up clearly instead of hiding under the generic startup task. Analytics reporting also fires its due-check on startup, so a version bump is reported immediately instead of waiting for the next daily run.
  • Tag Cache: Switched from no-store to ETag-based conditional caching, so an unchanged tag cache now costs a lightweight 304 instead of a full multi-MB re-download on every page load. #783

🐞 Bug Fixes

  • Tags: Embedded Matroska LanguageBCP47/LanguageIETF region tags (e.g. zh-Hans-CN) are now read directly instead of falling back to Jellyfin/FFmpeg's legacy base-language value. Thanks to @maghuro! #790 #789

    This bumps the tag cache schema and invalidates existing entries, so the tag cache will fully rebuild on first load after upgrading, which may take a while on larger libraries.

  • Jellyseerr Search: Fixed a crash (removeChild on a React-owned node) that could occur when typing, deleting, and retyping a query that returned no results. Thanks to @4eh5xitv6787h645ebv! #795
  • Jellyseerr Search: Fixed a search-page freeze caused by a positioning fix that re-triggered its own MutationObserver in a loop, pegging the tab on any query with zero native Jellyfin matches. In-flight Seerr searches and collection lookups are now also cancelled when superseded by a newer keystroke.
  • Settings: Stopped redundant settings.json writes on every load; admin status is now computed fresh server-side instead of being persisted client-side. #781
  • Tag Pipeline: Fixed the search page freezing on fast typing in large libraries, from stale cards still being fetched/rendered, redundant per-card layout reflows, and the batch render loop blocking the main thread without yielding. #787
  • Tags: Quality/genre/rating/language overlays no longer render on small list-row thumbnails (playlists, albums), where they overlapped each other and covered the cover art. #786
  • Jellyseerr Search: Search results now reliably place after the Movies/Series row on every server language, by detecting the row via each card's data-type attribute instead of matching translated section titles. #784

🌍 Translations

Thanks to noob translator and @akhi07rx for Persian and Malayalam translation updates this cycle!

🛠️ Maintenance

  • chore(ci)(deps): bump the github-actions group with 3 updates (#777)

Important

If you are on Jellyfin version 12, remove the existing plugin manifest and add new manifest for version 12 of the plugin

https://raw.githubusercontent.com/n00bcodr/jellyfin-plugins/main/12/manifest.json

If you are on 10.11.x, no action needed.

https://raw.githubusercontent.com/n00bcodr/jellyfin-plugins/main/10.11/manifest.json

P.S. Enjoying the plugin?
Fuel development (and my storage addiction) with a coffee!

Buy Me a Coffee at ko-fi.com

Don't miss a new Jellyfin-Enhanced release

NewReleases is sending notifications on new releases.