This release adds user-managed watch history, feedback-driven recommendations, YouTube trailer access across SuggestArr, and simplified Trakt authentication, together with improvements to Seer request handling, settings, request-source compatibility, and dependencies.
🕘 User-Managed Watch History
- Added a dedicated watch-history section where users can view and manage watched media
- Added backend support for storing user-managed watched movies and TV shows
- Added Trakt watch-history pagination so larger libraries can be retrieved reliably
- Improved error handling when watch-history data cannot be accessed because of account or permission issues
- Added documentation for watch-history import and management
- Integrated watched-history data with the existing recommendation and media-user flows
👍 Feedback-Driven Recommendations
- Users can now rate pending suggestions directly from SuggestArr
- Added an Already Seen action so watched recommendations can be excluded from future suggestions
- Positive and negative feedback can now influence subsequent recommendation runs
- Improved feedback handling so likes, interest, bookmarks, and watched-state signals remain distinct
- Feedback titles are resolved server-side where needed for more reliable stored history
- Improved ownership handling for jobs and feedback records
Implemented in #488 by @BeLazy167.
🎬 YouTube Trailers Across SuggestArr
- Added trailer access directly from request details
- Added trailer access from AI Search results
- Added trailer access from recommendation dry-run previews
- Trailer lookup uses TMDb metadata and opens the corresponding YouTube video
- Added protection against repeated clicks while a trailer is being resolved
- Improved behavior when the browser blocks the trailer pop-up
Implemented in #506 by @MohamedFBoussaid.
🔑 Simplified Trakt Authentication
- Trakt now supports configuration using only a Client ID
- The Client Secret is optional for current Trakt application flows
- Updated Trakt device authentication and token handling for Client ID-only setups
- Existing configurations that still include a Client Secret remain supported
- Updated the configuration wizard, API-key settings, services page, media-user settings, and profile-related Trakt checks
- Improved configuration save and clear behavior for Trakt credentials
Addresses #508.
👤 User & Settings Improvements
- Improved the layout and behavior of user-management and profile settings
- Added the new watched-history management interface to user profiles
- Updated several service and API-key settings to reflect current integration requirements
- Improved dropdown and settings behavior across the frontend
- Added coverage for the updated user-settings layout and related flows
📺 Seer Request Improvements
- Fixed queued requests switching away from the configured Seer user after authentication
- Requests now continue using the intended configured account after login
- Improved Seer client behavior and corresponding test coverage
Implemented in #497 by @MohamedFBoussaid.
🔄 Request Source Compatibility
- Improved request-source handling for existing and legacy records
- Added compatibility for older source representations stored in the database
- Improved SQL expressions used when resolving request sources
- Added targeted tests for legacy and current request-source formats
Addresses #509.
🪟 Request Details Fixes
- Fixed the request-details modal losing its full-width layout after visiting the dashboard
- Improved consistency of request-detail presentation across navigation flows
Implemented in #507 by @MohamedFBoussaid.
🔐 Authentication & Backend Improvements
- Updated PyJWT and added coverage for deeply nested JWT payloads
- Improved backend request, integration, and schema handling
- Extended test coverage around authentication, configuration, media handlers, Trakt, Seer, TMDb trailers, and recommendation feedback
- Added supporting database and API changes for watched-history and feedback features
🧰 Maintenance & Dependencies
- Updated Python dependencies
- Updated frontend npm dependencies
- Updated GitHub Actions dependencies
- Updated Vite and Node.js type definitions
- Refreshed the frontend lockfile for the new dependency set
- Updated Docker build workflow configuration
- Expanded automated coverage for new backend and frontend behavior
Dependency updates include #490, #491, #494, #501, and #502.
🙏 Thanks
A special thanks to the community contributors who made this release possible:
- @BeLazy167 for the new suggestion rating and feedback-driven recommendation system (#488)
- @MohamedFBoussaid for the Seer user-handling fix, YouTube trailer integration, and request-details modal fix (#497, #506, #507)