This release introduces a public API v1, new controls for LLM-based recommendations, and several reliability improvements across discovery, previews, authentication, and cleanup.
🔌 Public API & Security
-
Added a public API v1 with API-key authentication, Swagger UI at
/docs, and OpenAPI JSON/YAML contracts -
Added API-key management from the user profile, including creation, optional expiry dates, last-used information, and revocation
-
Added API v1 support for:
- jobs, previews, and runs;
- suggestions and suggestion actions;
- requests;
- user-visible request statistics;
- admin-only installation statistics.
-
Refined authentication bypass handling to retain an existing authenticated identity
🤖 AI Recommendations
- Recent watches are now treated as neutral viewing context rather than evidence that a user enjoyed a title, and the LLM context now includes media type and genres when available (#413)
- Plex now keeps each user’s AI recommendation history and results isolated (#413)
- Added configurable LLM temperature and reasoning effort in Advanced settings. Temperature can be omitted entirely while preserving legacy defaults, and reasoning effort is sent only to supported direct OpenAI GPT-5 and o-series models (#414)
🛠 Fixes
- Dry-run previews now enforce the configured similar content per watched item limit for both Plex and Jellyfin (#415)
- TV discovery requests now send only TV-specific date filters to TMDb (#420)
- Cleanup file deletion now uses the configured Seer API key rather than a selected user cookie, preventing permission failures (#421)
📚 Documentation & Dependencies
- Added public API documentation, OpenAPI schemas
- Updated GitHub Actions dependencies (#410, #416, #423)
- Updated backend dependencies
- Additional backend dependency updates (#411, #417, #424, #425)
🧹 Misc
- General maintenance, packaging, and stability improvements