Seerr, the request front end that grew out of Overseerr and Jellyseerr, shipped v3.5.0. It follows 3.4.1, and it is the kind of release that looks small until you read the changelog’s second half. The one change that can bite is for API consumers only: GET /settings/plex/library and GET /settings/jellyfin/library no longer accept the sync or enable query parameters, and reading a library no longer flips its enabled state. Scripts and third-party clients that used the read as a sync switch move to POST .../library/sync, and enabling a library becomes PUT .../library/{libraryId}. The web UI already speaks the new shape.

Why this is a minor, not a major

The notes are explicit about the reasoning: because only direct API consumers are affected and the UI has already moved, the change ships in a minor release rather than a major. That is the whole compatibility story; there is no schema drama in the notes. If you run dashboard scripts or a third-party client against those endpoints, that is the one thing to check before updating.

What else moved

For users, the notification path gets two upgrades: ntfy.sh pushes can carry tags, and Gotify embeds can carry the poster art. In settings, a hide-already-requested option keeps the request dialog to things that can actually be asked for. User lookup gains a search box for username or email, override rules now apply to advanced requests too, and outbound requests carry a Seerr user agent so the far end can tell who is calling. There is also a demo feature for kicking the tires.

The fix list

The changelog’s back half is a request-flow cleanup. Editing a request now runs through the same quota check that creation already had. Request creation is serialized per user, so double-clicks stop doubling. Editing a request no longer re-requests covered seasons or steals another request’s season, and it no longer resets values set by advanced requesters. Orphaned season statuses reset when their request is deleted, seasons with no episodes are skipped when requesting everything, and a phantom special no longer blocks a season request. Elsewhere: Plex watchlist metadata requests are capped for concurrency, Sonarr’s configured series type applies to non-anime requests, web-push subscriptions behave across multiple devices and shared browsers, leftover Overseerr DELETED statuses get remapped after a migration, and Emby servers stop seeing a quick-connect button that could not work. Library settings survive a media server rename, orphaned scanner candidates are confirmed against the servers before anything is declined, empty collections stop showing as available, and request cards scope their download status to the seasons that were asked for.

My read

For most installs this is a routine update, and the fix list reads like the project closing its own tabs: quotas, seasons, duplicate clicks, all the small paper cuts of the months since 3.4. The API note is the only homework, and it arrives as a warning paragraph rather than a breaking-change shrug, which is the right amount of ceremony for its scope. Nothing here changes how the app feels. That is a compliment.

Source: the v3.5.0 release notes.