v2.1.2 — Open Library (patch)
A bug-fix patch that hardens two v2.1.0 "Open Library" features which didn't fully work in the field.
Fixed
- Daily badges no longer false-unlock from a watch-history scan (#27). On servers where Jellyfin doesn't store a per-item last-played date, the initial backfill scan dated every item to "now" — clustering your whole library into a single day and inflating the "in a single day" counters (Film/Episode Marathons, Endurance). v2.1.0 skipped awarding those badges during the scan, but the inflated counts survived and tripped the badge on your next real play. The scan now leaves the per-day buckets untouched entirely, so daily badges only ever reflect a genuine single day's viewing. To clear any already-wrongly-awarded daily badges, re-run the backfill (Admin → Achievement Badges) — it resets and rebuilds cleanly.
- Books now actually track (#24). Ebooks don't emit playback sessions the way movies and episodes do, so "completed book" badges never moved. Marking a book played now credits your Book badges in real time, and the watch-history backfill counts books you've already finished. Re-marking the same book within 6 hours won't double-count.
Notes
- Audiobooks and music were already tracked in v2.1.0; this patch is about ebooks specifically.
- Reading-progress metrics (pages read, time spent reading) remain out of scope — Jellyfin doesn't expose them, so "marked played" is the completion signal.
Upgrade
Drop-in from v2.1.x / v2.0.x — no schema breakage, no data migration. 50/50 tests pass on .NET 9 / Jellyfin 10.11.x. Sigstore-signed + SLSA build-provenance attested.