3.6.0 (2026-09-11)
Features
- tv: add season ratings and rewatches (b0120d7)
Bug Fixes
- accounts: renew deletion grace period after warning retries (578f31f)
- accounts: update collection like counts when deleting users (ea704a4)
- activity: apply title search before pagination (c1359af)
- activity: refresh cached totals after adding media (45fc1dd)
- auth: download OAuth avatars before storing them (80350e8)
- auth: validate usernames on user updates (f2a0fdd)
- collections: reject nonexistent media IDs (57c2ecd)
- docker: launch compiled server entry point (9d73c6e)
- feed: update profile feed locally after deletion (1cd219e)
- games: preserve completion times during bulk refresh (752dfaf)
- images: preserve newly saved images during cleanup (54dad61)
- imports: prefer provider IDs when matching media (87807a7)
- lists: prevent duplicate view counts (12ff004)
- lists: refresh filter options after adding or removing media (8587117)
- maintenance: preserve active Moviedle movies during cleanup (5b6e10d)
- media: enforce unlocked defaults for automatic refresh (dfbbe74)
- media: preserve existing covers when downloads fail (c3fd6ac)
- media: preserve reread totals on completion (20c0d26)
- moviedle: exclude the 200 most recent films (d631ba2)
- movies: use fallback duration for zero TMDB runtimes (610e1f3)
- notifications: detect finales using the airing season (76e6b15)
- notifications: display all social notifications (cdab840)
- notifications: resolve follow requests when dismissed (79aedfc)
- reading: preserve partial progress when editing rereads (5d3837e)
- server: correct static caching and drain requests on shutdown (37fc7b9)
- stats: repair movie time on underflow (f0f8642)
- strip sensitive query params from API error logs (651525f)
- tags: refresh list filters after tag changes (6b062f8)
- tasks: propagate failures after saving task results (fb5cd2e)
- tv: count first episode when starting a planned show (637f422)