github giuseppe99barchetta/SuggestArr v3.1.0

3 hours ago

This release adds a Ratings page for re-rating and excluding watched titles, External URL settings for Docker-based setups, and fixes for Seer auto-approval and Jellyfin TV matching, together with error-handling hardening and dependency updates.


⭐ Ratings & Watched-History Management

  • Added a new Ratings page in the main navigation where users can rate the titles they watched
  • Titles can now be re-rated or excluded from suggestions without changing their original source
  • Excluded titles still count as "already watched" but no longer influence taste, whichever source reported them (media server, Trakt, or managed history)
  • High ratings steer suggestions, while low-rated titles are never used as a starting point
  • Watch history from Plex, Jellyfin, and Emby is now synced into the database incrementally, so the Ratings page loads quickly
  • Incremental sync re-reads a short overlap window so Jellyfin replays aren't missed
  • Admins can manage watched history on behalf of a specific media user
  • Added database migrations for the new exclusion flag and play date

Addresses #536.


🌐 External URLs for Jellyfin, Emby & Seer

  • Added an optional External URL setting for Jellyfin/Emby and Seer
  • Links in SuggestArr now use the browser-facing address when the configured API URL is internal (e.g. a Docker container name)
  • Seer "play" links for Jellyfin/Emby are rewritten to the external media-server address
  • The Seer web link prefers the SuggestArr External URL, then Seer's Application URL, then the API URL

Addresses #533.


📺 Seer Request Fixes

  • Requests made on behalf of a mapped Seer user now use the X-Api-User header
  • Fixed requests being auto-approved with the admin's permissions instead of the mapped user's
  • Updated Seer client tests accordingly

Addresses #535.


🎞️ Jellyfin TV Matching Fix

  • Fixed TV shows occasionally being matched using an episode-level TMDb ID
  • The series TMDb ID is now always used, falling back to a series lookup when it's missing

Addresses #539.


🔐 Error Handling & Backend Improvements

  • Standardized client-facing error messages for Trakt device authentication, Trakt recent-item previews, AI Search, and Cleanup
  • Internal error details are no longer exposed in API responses and are logged server-side instead
  • Improved logging in the TMDb client
  • Extended test coverage for watched history, played-title sync, Seer, availability sync, and configuration

🧰 Maintenance & Dependencies

  • Updated Python dependencies, including PyJWT, aiohttp, uvicorn, PlexAPI, and openai
  • Updated frontend npm dependencies, including Vue, Vue Router, Vite, ESLint, and Playwright
  • Updated actions/setup-node in the CI and Docker build workflows

Dependency updates include #528.

Don't miss a new SuggestArr release

NewReleases is sending notifications on new releases.