2.6.0 (2026-08-27)
Features
- auth: add OAuth 2.0 device-code grant for third-party clients (#331) (9a7d5cb)
- dropped: add a page to browse and undrop dropped shows and movies (#330) (92d719a)
- ratings: prompt to rate an item after it finishes playing (#177) (f806702)
- ratings: show the rated item's poster and title in the rating popover (59f4af8)
Bug Fixes
- history: register manual mark-watched pushes so a backdated one isn't duplicated by the Jellyfin/Emby echo (#324) (1d0b902)
- simkl: fall back to /sync/history when a scrobble stop fails so anime watches past cour 1 aren't lost (#328) (a9e3e2c)
- sync: reconcile dropped-show state to Trakt/MDBList in the scheduled push (#329) (7defa94)
- tmdb: circuit-break and time-bound TMDB calls so an outage can't 504 the homepage (ce32dc1)
- trakt: batch and dedup the ratings push, throttle the push queue to Trakt's write limit (#327) (84d02a0)
- trakt: validate/refresh the access token on every path that uses it (#326) (beff38a)
Performance Improvements
- home: serve stale calendar to airing-today widget while it recomputes (3d9ae14)