github ZL154/AchievementBadges_for_Jellyfin v2.1.3

latest release: v2.2.0
28 days ago

v2.1.3 — Open Library (patch)

A bug-fix patch resolving the outstanding issues from #24 and #36, plus a full UI-localization pass.

Fixed

  • Genre-filtered music badges now actually filter by genre (#24). A custom badge like "play 50 disco tracks" was counting all music plays once any single disco track had played — so listening to metal could unlock a disco badge. Music plays and listening time are now tracked per genre, and genre matching is case-insensitive ("disco" matches "Disco"). The visual badge builder gains three genre-filtered metrics — Music plays of a genre, Music hours of a genre, and Items watched of a genre — with a genre field that appears when you pick one.
  • Custom badges now fully delete (#24). Deleting a custom badge removed it from the admin screen but left earned copies in users' profiles — and badges made with the visual builder were saved to a different store than the list/delete UI read, so they could never be removed at all. The builder, list, and delete now share one store, and deleting a badge purges its earned + equipped copies from every user profile. A one-time, ID-preserving migration moves any badges created by the old builder into the unified store on first startup, so already-earned copies stay intact.
  • Header UI no longer disappears when another header plugin is involved (#36). When a second header-injecting plugin (e.g. the Ratings plugin) stripped Achievement Badges' scripts from index.html but left a version stamp behind, the plugin assumed it was already patched and never re-injected — so the achievements header vanished and reinstalling didn't fix it. The startup guard now keys on the actual script tag, so a stripped page is always repaired.
  • Badge categories no longer show raw keys (#24). Categories such as "Studio Specialist" and "Books" displayed as category.Studio Specialist on the admin page. Fixed, and every built-in category is now translated.

Added

  • Full UI localization. The custom-badge builder's metric list (previously raw names like MoviesWatched), the quest builder, the power-up and cosmetic pickers, and assorted status messages are now translated across all 8 languages (English, French, Spanish, German, Italian, Portuguese, Chinese, Japanese).

Notes

  • Ebook reading progress still isn't tracked (#24). Jellyfin exposes no page count or reading time for ebooks, so Book badges credit on mark-as-played completion, not reading progress. (Plugins that place non-book items in a Book library — e.g. emulator/game plugins — will have those items counted as "books" whenever Jellyfin marks them played.)

Upgrade

Drop-in from v2.1.x / v2.0.x — no schema breakage. The one-time custom-badge migration is automatic and idempotent. 52/52 tests pass on .NET 9 / Jellyfin 10.11.x. Sigstore-signed + SLSA build-provenance attested.

Don't miss a new AchievementBadges_for_Jellyfin release

NewReleases is sending notifications on new releases.