New badges (40+)
Using existing metrics
- Film Festival — 7 films in a single day
- Season Devourer / All-Nighter — 20 / 30 episodes in a single day
- Double Feature — 2 films in a single day
- Millennium — 1000 items total
- Half-Century — 50 films
- 3 AM Club — 100 late-night sessions
- Dawn Patrol — 50 early-morning sessions
- Saturday Night Fever — 100 weekend sessions
- Momentum / Fortnight / Marathon Man — best-watch-streak tiers (3 / 14 / 60 days)
New metadata-aware metrics
- Time Traveller / Era Hopper / Epoch Explorer — watch items from 3 / 5 / 8 different decades
- Globetrotter / World Tour / UN Delegate — 3 / 5 / 10 production countries
- Bilingual / Polyglot — 2 / 5 original languages
- Genre Curious / Genre Hopper / Genre Master — 3 / 5 / 10 genres
- Epic Runtime / Saga Runtime — watch an item over 3 / 4 hours long
- Short Attention Span — 20 items under 30 minutes each
- Ten / Hundred / 500 / Thousand Hours — total runtime watched
- Christmas Cheer / New Year's Marathon / Halloween Night — watch on the corresponding day
- Completionist+ / Seen It All — complete a series with 50+ / 100+ episodes
- Rewatcher / Serial Rewatcher — rewatch items (new dedupe-aware rewatch counter, 90-day horizon)
Admin badge enable/disable panel
New section in Dashboard → Plugins → Achievement Badges → Settings → Enable / disable badges (admin):
- Full catalog grouped by category with a checkbox per badge, plus bulk Enable/Disable All.
- Disabled badges are hidden from user pages, excluded from completion %, excluded from leaderboard / server stats, and auto-unequipped from any user that had them equipped.
- Disable anything that can't be achieved on your server (e.g. no library has 10+ collections, no series with 100+ episodes, etc.) and it won't drag down users' completion percentages.
Upgrade
Install from the catalog and restart. Existing badges and counters carry over. Re-run Scan watch history once to pick up the new metadata-aware metrics (decades, countries, languages, genres, runtime totals) for your old watch history — the backfill now reads all that from item metadata.