3.5.0 - 2026-09-28
๐ Features
- (api) Send a Seerr user agent on outbound requests (#3395) - (a123d20)
- (notifications) Add support for ntfy.sh tags (#3350) - (92bad10)
- (notifications) Add embed poster option for Gotify (#3332) - (afb17aa)
- (overriderules) Apply override rules to advanced requests (#2164) - (794743a)
- (settings) Hide already requested media (#1855) - (6f5a177)
- (users) Add search box for user lookup by username or email (#2482) - (aae8816)
- Add a demo feature (#3017) - (38581ca)
- Add support for custom plex metadata provider guid scheme in scanner (#3316) - (7baed83)
๐ Bug Fixes
- (api) Stop library reads from resetting enabled flags (#3321) - (985ddef)
- (auth) Refresh avatar on Quick Connect login (#3504) - (d4eeea8)
- (datasource) Break import cycle mistyping postgres timestamps (#3449) - (d7b08bd)
- (datasource) Register entities and subscribers explicitly (#3375) - (0f79ee6)
- (db) Remap leftover Overseerr DELETED status after migration (#3510) - (2bebae8)
- (db) Drop stale auth unique on sqlite push subscriptions (#3391) - (5f4cb1e)
- (discover) Fix tv title sorting and validate sortBy per media type (#3305) - (2759058)
- (jellyfin-api) Update Authorization headers for Jellyfin (#3502) - (de57e7a)
- (login) Hide quick connect button for emby servers (#3369) - (d103787)
- (override-rules) Keep values set by advanced requesters (#3539) - (b919443)
- (override-rules) Match default *arr server by id (#3428) - (7fae95b)
- (plex) Limit concurrent watchlist metadata requests (#3251) - (103976d)
- (request) Render anime notice alert in a div instead of a p (#3331) - (1fd35f9)
- (requests) Serialize requests for the same title (#3380) - (cc6f5c7)
- (requests) Stop editing a request from re-requesting covered seasons (#3379) - (10483e2)
- (requests) Enforce the quota when editing a request (#3378) - (8f0a977)
- (requests) Skip seasons with no episodes when requesting all seasons (#2698) - (1dbf19b)
- (requests) Scope download status to requested seasons on request cards (#3412) - (c604bcc)
- (requests) Serialize request creation per user (#3377) - (d7dc7bd)
- (requests) Stop editing a request from stealing another's season (#3376) - (17fc4cc)
- (requests) Reset orphaned season statuses when a request is deleted (#3279) - (970bb54)
- (requests) Enforce pending and failed states on request routes (#3385) - (9f6403e)
- (scanner) Confirm orphan candidates against the servers before declining (#3399) - (34b28d0)
- (server) Respond instead of hanging on proxy route errors (#3501) - (a53f49b)
- (settings) Mutate the query-string status key for modal immediately (#3432) - (5af32cb)
- (sonarr) Apply configured series type to non-anime requests (#3329) - (42bee2a)
- (sonarr) Decouple anime root folder routing from seriesType (#3328) - (93c0b6a)
- (subscriber) Keep issue comment lookups on the owning save's connection (#3536) - (68e01b9)
- (subscriber) Keep request status updates on the owning save's connection (#3366) - (059008c)
- (tv) Prevent phantom specials from blocking season request (#3351) - (7997f75)
- (ui) Stop the slideover backdrop flashing back on close (#3451) - (df743f4)
- (ui) Stop appear leaking onto the DOM in Modal and SlideOver (#3446) - (da4b555)
- (ui) Don't mark empty collections as available (#3431) - (92f8404)
- (webpush) Resolve push subscription bugs for multi-device and shared browsers (#3142) - (59d5947)
- Fix empty discordId in comment webhooks (#3467) - (e73825b)
- Prevent hideAvailable/hideBlocklisted from filtering person results (#3434) - (0be53e6)
- Stop masking connection failures across media server sync and login (#3324) - (4d17e08)
- Keep library settings when renamed on media server (#3323) - (c9f2ac5)
- Changes the suggested url from plex's "hosted" app (#3250) - (d3c070e)
๐ Documentation
- (discord) Document the Thread ID notification setting. (#3481) - (7afbb29)
- (docker) Add cap-drop and security-opt to docker command (#3472) - (a4f5eaa)
- Clarify ai disclosure policy further (#3358) - (dea5960)
โก Performance
๐ Refactor
- (avatarproxy) Remove unused auth header from avatarproxy (#3503) - (b211652)
- (ui) Use the Radio component instead of RadioGroup.Option (#3454) - (46d5915)
- (ui) Use headlessui flat named exports (#3453) - (aa8e0de)
๐งช Testing
- (cypress) Stop dirty restartRequired flag cascading across specs (#3368) - (39ff48c)
- Block outbound HTTP in unit tests (#3511) - (abe2f3b)
- Add scanner update rate override for testing (#3241) - (7a76142)
โ๏ธ Miscellaneous Tasks
- (actions) Update github actions (#3478) - (a3dbbd9)
- (actions) Update github actions (major) (#3471) - (6bf3d04)
- (actions) Update github actions (#3306) - (5a5f059)
- (duplicate-detector) Switch embeddings to bge-small-en-v1.5 (#3541) - (4fd0da0)
- (i18n) Update translations from Weblate - (68c5bc8)
- (i18n) Update translations from Weblate - (5f97227)
- (i18n) Update translations from Weblate - (5c04640)
- (i18n) Update translations from Weblate - (cc592e8)
- (release) Prepare v3.5.0 - (e2f24cb)
- (release) Prepare 3.5.0 release - (cd0fb22)
- Remove third party action dawidd6/action-download-artifact (#3480) - (6fa7473)
- Fix release workflow verify attestation (#3337) - (090c659)
- Exclude .pnpm-store from Docker build context (#3313) - (bd491c7)
New Contributors โค๏ธ
- @atilaszsz made their first contribution
- @aussierk made their first contribution
- @Xyerophyte made their first contribution
- @Knat-Dev made their first contribution
- @britsync07-prog made their first contribution
- @MannXo made their first contribution
- @bartdelange made their first contribution
- @Arul1998 made their first contribution
- @tuvokian made their first contribution
- @peruzzof made their first contribution
- @lichie567 made their first contribution
- @samtheruby made their first contribution