Releases: seerr-team/seerr
Releases · seerr-team/seerr
Release v3.1.0
3.1.0 - 2026-02-27
🛡️ Security
- Patch CVE-2026-27707 - Unauthenticated account registration on Plex-configured Seerr instances via Jellyfin authentication endpoint - (4ae2068)
- Patch CVE-2026-27793 - Broken Object-Level Authorization in User Profile Endpoint Exposes Third-Party Notification Credentials - (4f089b2)
- Patch CVE-2026-27792 - Missing authentication on pushSubscription endpoints - (946bdecec)
🚀 Features
- (helm) Use an existing PVC as config volume (#2447) - (8f0c904)
- (servarr-api) Make Servarr API request timeout configurable (#2556) - (3bcb4da)
- Self-host font for better privacy (#2540) - (10ea21b)
🐛 Bug Fixes
- (helm) Add "v" as prefix for appVersion tag (#2445) - (04b9d87)
- (jellyfin-scanner) Include unmatched seasons in processable seasons (#2538) - (68f56d2)
- (link-account) Fix error-message override (#2547) - (b843be0)
- (plex-scanner) Add TVDb to TMDB fallback in plex scanner (#2537) - (7c60a5c)
- (radarr) Trigger search for existing monitored movies without files (#2391) - (55776ea)
- (servarr) Increase default API timeout from 5000ms to 10000ms (#2442) - (b499976)
- (sonarr) Use configured metadata provider for season filtering (#2516) - (5013d1d)
- (watch-data) Use sentinel values to avoid invalid SQL syntax (#2552) - (947f70c)
- (watchlist-sync) Correct permission typo for TV auto requests (#2488) - (e0e4b6f)
- Preserve blocklist on media deletion & optimise watchlist-sync (#2478) - (9da8bb6)
🚜 Refactor
📖 Documentation
- (synology) Add installation guide via SynoCommunity (#2503) - (0e636a3)
- (truenas) Update install/migration guide (#2491) - (dc1734d)
- (unraid) Improve unraid migration guide (#2470) - (5e64d49)
- Update Unraid install and migration guides with dual permission methods (#2532) - (a0d0eb1)
- Add a warning in migration-guide for third party installation (#2527) - (7e9dff3)
- Remove double quotes (") from DB_HOST environment variable (#2514) - (fa905be)
- Add Unraid installation and migration guide (#2440) - (b6a9132)
- Fix migration guide title (#2425) - (39ae32f)
⚡ Performance
⚙️ Miscellaneous Tasks
- (changelog) Fix changelog template (#2431) - (c2977f6)
- (eslint) Add react/self-closing-comp (#2563) - (cd8b386)
- (github) Add docs and maintenance issue templates (#2467) - (cf4883a)
- (helm) Add GatewayAPI route support to helm chart (#2544) - (3a42f59)
- (helm) Update ghcr.io/seerr-team/seerr ( 3.0.0 → 3.0.1 ) [skip-ci] (#2441) - (87fb0df)
- (husky) Fixed husky commit message from bash/zsh syntax to sh syntax (#2572) - (a00c9e5)
- (release) Prepare ${TAG_VERSION} - (94a70bb)
- Updated the Contributing and Security guides to reflect our current practices (#2579) - (0d40a42)
- Disable nextjs telemetry (#2517) - (cecdd63)
- Update contributing guide regarding Automated AI Agent (#2518) - (880fbc9)
- Remove discord notification from release (#2501) - (fba20c1)
- Add create-tag workflow to streamline release process (#2493) - (06e5eb0)
- Update concurrency logic (#2481) - (4939f13)
- Add semantic-pr workflow to enforce conventional commits (#2472) - (5e57fdc)
New Contributors ❤️
- @caillou made their first contribution
- @Kenshin9977 made their first contribution
- @MagicLegend made their first contribution
- @wiiaam made their first contribution
- @mjonkus made their first contribution
- @nova-api made their first contribution
- @mreid-tt made their first contribution
- @DataBitz made their first contribution
- @Hyperion2220 made their first contribution
- @blassley made their first contribution
- @JanKleine made their first contribution
- @koiralasandesh made their first contribution
Release v3.0.1
Release v3.0.0
3.0.0 - 2026-02-14
Migrating from Overseerr/Jellyseerr to Seerr
Read our release announcement to learn what Seerr means for Jellyseerr and Overseerr users.
Please follow our migration guide for detailed instructions on migrating from Overseerr or Jellyseerr.
🚀 Features
- (api) Add completed count to request count API (#1824) - (c024799)
- (api) Add excludeKeywords parameter to discovery queries (#1908) - (cd479d0)
- (issue) Add issue description preview (#1881) - (13fe4c8)
- (notifications) Make embedded posters optional (#1364) - (479be0d)
- (requests) Add user's avatar next to Requested/Last Modified by icon (#1750) - (af7ceaf)
- (ui) Rebrand Jellyseerr logos to Seerr (#2406) - (55c2d54)
- (webhook) Add support for dynamic placeholders in webhook URL (#1491) - (17172e9)
- Overseerr to Jellyseerr migration (#2019) - (4e9c94c)
- Do not enforce TLD on email (#2075) - (b34ca15)
- Migrate to validator from email-validator (#2059) - (f7f00ce)
- Add anidb support to jellyfin scanner (#1533) - (b209e7f)
- Add tvdb indexer (#899) - (22b2824)
- Add IMDb rating votes count in tooltip (#1696) - (d3fd502)
- Dns caching manager (#1294) - (b4adfd2)
🐛 Bug Fixes
- (UserProfile) Handle optional chaining for recentlyWatched data (#1852) - (5c1583c)
- (api) Respect is4k parameter for all media status changes (#1951) - (9a92d6a)
- (api) Correct Jellyfin users endpoint documentation (#2073) - (a790934)
- (api) Cleanup radarr bits in sonarr api (#2035) - (a8c7e35)
- (api) Add a migration script to rename *arr tags with spaces (#1946) - (f2bd0ab)
- (api) Remove spaces from tags in *arr (#1913) - (837629e)
- (api) Catch error when watchlist item doesn't exist anymore (#1907) - (e9f2f44)
- (availability-sync) Handle resolution check for single-server setups (#2334) - (0f7d296)
- (availability-sync) Fix 4K media availability detection (#2298) - (6275569)
- (availability-sync) Prevent incorrect season deletion when media server is unreachable (#2302) - (448a25e)
- (base-scanner) Derive media availability from actual season state… (#2412) - (15be3d7)
- (base-scanner) Fix PROCESSING status persisting for unmonitored seasons (#2311) - (bb2120c)
- (collection) Allow re-request of deleted items in a collection (#2339) - (6031fab)
- (deps) Upgrade typeorm to 0.3.28 to address security vulnerabilities (#2333) - (f8f90cb)
- (dnscaching) Check dnsCache before init & support forceipv4 with caching (#1910) - (9e73757)
- (dnscaching) Display stats for DNS caching (#1858) - (368ecf8)
- (docker) Pass
COMMIT_TAGto build stage for custom image builds (#2146) - (2fe7253) - (docker) Casing in dockerfile (#2141) - (6dcae34)
- (download-tracker) Reset both service caches when resetting downloads (#2065) - (0d6bfa1)
- (jellyfin-api) Use standard Authorization header (#2211) - (f4fe166)
- (jellyfin-scan) Reduce jellyfin API calls during recently added scan (#2205) - (15356df)
- (local-login) Remove automatic plex linking and reduce logout log verbosity (#2225) - (3ee6966)
- (login) Add missing keys to PlexLoginButton FormattedMessage children (#2291) - (d0f029b)
- (media) Handle 4K Radarr removal for multiple instances (#2037) - (7dfa30a)
- (media-request-subscriber) Prevent mediald nullification from cascade saves (#2356) - (1ed86c1)
- (mediarequest) Explicitly set mediaId when creating request (#2316) - (beba2ea)
- (migration) Add cleanup step for duplicate push subscriptions before enforcing unique constraint (#2269) - (0c95b5e)
- (network-settings) Convert DNS cache TTL values to numbers (#2299) - (c9037f7)
- (override-rules) Show correct genres for both *arr services (#2155) - (bde322d)
- (overriderules) Display the users of an override rule (#2410) - (3dea58e)
- (overriderules) Test service using the right endpoint (#2399) - (028c7c2)
- (plex-settings) Fix Plex preset selection not enabling save button (#2289) - (e0a8103)
- (prettier) Include sw.js file in .prettierignore (#1885) - (d5bf175)
- (proxy) Configure proxy agent connection limits and IPv4 support (#2303) - (dbd5935)
- (pushover) Prevent notifications when agent is disabled or unconfigured (#2304) - (ac7c298)
- (servarr) Add timeout to Radarr/Sonarr API requests to prevent infinite loading (#2375) - (faa2c0a)
- (servarr) Replace spaces in arr user tags with
-(#2231) - (f91a26b) - (settings) DNS cache UI consistency, validation, and conditional rendering (#2382) - (91261f6)
- (settings) Correct port saving of proxy settings (#1890) - (d82c6f6)
- (setup) Fix Plex login not proceeding after authentication (#2290) - (4ab9193)
- (sonarr) Re-monitor episodes when re-requesting deleted but monitored seasons (#2312) - (88b2e78)
- (subscriber) Prevent infinite loop when requesting existing media with scan disabled (#2043) - (d5ff0c1)
- (tvdb) Respect display language when fetching metadata ...
v2.7.3
2.7.3 (2025-08-14)
Bug Fixes
- api: add missing user settings' api docs (#1820) (e52c631)
- api: make username field nullable in UserSettings API schema (#1835) (c86ee0d)
- api: update Plex Watchlist URL (#1847) (17d4f13)
- blacklist: handle invalid keywords gracefully (#1815) (ca16864)
- MediaRequestSubscriber: use event manager to get fresh media state for MEDIA_AVAILABLE notifications (#1825) (3292f11)
- media: update delete media file logic to include is4k parameter (#1832) (e02ee24)
- proxy: initialize image proxies after the proxy is set up (#1794) (e98f31e), closes #1787
This release is also available on:
v2.7.3
v2.7.2
v2.7.1
2.7.1 (2025-07-15)
Bug Fixes
- allow setting IPv6 as an IP address in hostname field (#1782) (844b1ab)
- gotify: notifications blocked when priority set to 0 (#1763) (8c43db2)
- proxy: apply all proxy settings to Axios (#1741) (b83367c)
- remove LunaSea (#1759) (510108f), closes #1756
This release is also available on:
v2.7.1
v2.7.0
2.7.0 (2025-06-20)
Bug Fixes
- blacklist: hide items from MediaSliders when hideBlacklisted is enabled (#1713) (d4a6cb2)
- correct typing issue (#1715) (bb95c70)
- jellyfin: use the same deviceId for admins (#1710) (c7284f4)
- proxy: apply http proxy settings to axios (#1716) (7c969f4)
- redirect the 'Request' button to the right page (#1711) (9cb7e14), closes #1588
- settings: add a tip for youtube URL setting (#1714) (fb8677f)
Features
This release is also available on:
v2.7.0
v2.6.0
2.6.0 (2025-06-09)
Bug Fixes
- add missing cache for some tmdb images (#1656) (8949ede)
- entity: use TIMESTAMPTZ in Postgres and sort issue comments oldest-first (#1654) (8da1c92), closes #1569 #1568
- filters: display the right value when resetting the filter options (#1695) (c0dd2e5), closes #1693
- imagecache: fix avatar cache folder creation (#1581) (355b76d), closes #1520
- issuecomment: fix issue display lists in IssueComment (#1638) (515124b), closes #1328 #1328 #1328
- jellyfin: clean up Jellyfin sessions on Jellyseerr logout (#1651) (b27dbd7)
- mediarequests: properly sort season numbers in media requests (#1688) (6b8c0bd), closes #1336
- pushover notificatons: the sound setting will now be stored correctly (#1630) (5fd65eb), closes #1614
- requestlist: remove unnecessary semicolon (#1647) (6b9aedb)
- ui: correct seasons badge order (#1648) (123894b)
- ui: make person media type filter consistent on mobile (#1669) (24e1e94)
- url validation: correct URL validation for empty fields (#1657) (d226dbb)
- usediscover hook: detect end of pagination when totalSize is a multiple of pageSize (#1649) (45f2540), closes #1623
- usersettings: exclude current user when checking for existing email (#1689) (ea7e68f)
Features
- add caching for TVDB images (#1655) (e69649d)
- add content certification/age-rating filter (#1418) (149d79e), closes #501 #501
- allow changing YouTube host for trailers (#643) (d01f9a0)
- blacklist: Automatically add media with blacklisted tags to the blacklist (#1306) (4a5ac3c)
- blacklist: hide blacklisted items from discover pages for admins (#1601) (185167a)
- discord.ts: adds a link to the pending approval discord notification (#436) (14ee52e)
- filter by media type on PersonDetails (#1566) (a19dcaf), closes #1513 #1513
- gotify: added priority input for gotify (#1410) (21400ce)
- issuecomment: fix translation issue (#1635) (8a42fe1), closes #1604
- make chart probes configurable (#1574) (c3b8574)
- now uses markdown linebreaks instead of relying purely on newlines (#1514) (7d36dc1)
- ntfy: add native ntfy notification support (#1599) (fc4db7f), closes #499
- requestlist: add requests list media type filtering (#1511) (e8f1edc)
This release is also available on:
v2.6.0
v2.5.2
2.5.2 (2025-04-03)
Bug Fixes
- auth: Bitwarden autofill fix on local/Jellyfin login (2) (#1487) (85bbc85)
- avatar: fix avatar cache busting by using avatarVersion (#1537) (29034b3)
- correct "Remove from *arr" button (#1544) (8dc1d81), closes #1476 #1494
- helm: apply annotations to pvc (#1489) (e5ab847)
- jellyfin: ensure deviceID is never empty (#1538) (7438042)
- job: handle media removal for 4k on the same server (#1543) (63dc27d)
- job: rename Plex Sync to Jellyfin Sync (#1549) (2f6be95)
- migrations: add missing Postgres migration and fix SQLite migration (#1532) (0b0b76e), closes #1466
- ui: handle import-from-plex response as array (#1510) (4cd02ba)
- ui: resolve discover language dropdown overlap (#1497) (f5b3a52), closes #1475
This release is also available on:
v2.5.2
v2.5.1
2.5.1 (2025-03-17)
Bug Fixes
- auth: Bitwarden autofill fix on local/Jellyfin login (#1459) (b085e12)
- blacklist: add back the blacklist button on TitleCard for Plex (#1463) (4d1163c), closes #1398
- check if the file still exists in the service before deleting (#1476) (f773e0f)
- job: resolve edge case issue with season availability updates (#1483) (77a36f9)
- mediarequest: correct download sync for Radarr (#1484) (c2d9d00), closes #1376
- proxy: update http proxy to accept bypass list with undici v7 (#1456) (9891a75), closes #1454
- requestlist: hide the remove from *arr button when no service exists (#1457) (33e7a15), closes #1449
- smtp-notification-test: missing allowSelfSigned option in test function (#1461) (b8425d6)
- ui: correct seasons badge order (#1485) (f884ac9)
- ui: move watch trailer button above the 4k request button (#1465) (a6dd4a8), closes #1462
- ui: resolve streaming region dropdown overlap (#1477) (767a241), closes #1475
Reverts
- airdate: reverts airdate offset & changes relative time to only display date (not time) (#1467) (8394eb5), closes #1390
This release is also available on:
v2.5.1