This release adds personalized recommendation feedback, introduces per-user request limits, adds outbound webhooks and Prometheus monitoring, and migrates the frontend build system to Vite.
❤️ Personalized Recommendations
- Added personal feedback options for suggestions: Interested, Not Interested, Already Seen, Too Similar, and Save for Later
- Positive feedback prioritizes future recommendations
- Negative feedback prevents unwanted titles from being suggested again for the same user
- Feedback remains local to SuggestArr and is not sent to TMDb or LLM providers
🛡️ Request Limits
- Added configurable per-user request limits for automated jobs
- Limits use a rolling time window and do not affect manual requests
- The existing Max Results setting continues to limit individual job runs
🔗 Webhooks & Monitoring
- Added signed outbound webhooks for suggestion, request, and job events
- Added persistent delivery tracking, automatic retries, and manual retry support
- Added SSRF protection, private-network controls, and an optional hostname allowlist
- Added Prometheus metrics, a Grafana dashboard, and recommended alert rules
🔍 Job Tracking
- Added execution IDs to correlate job runs with queued Seer deliveries
- Job run details now include delivery status and retry information
- Manual job executions now return a run ID
⚡ Frontend & Settings
- Migrated the frontend from Vue CLI/Webpack to Vite
- Reorganized Advanced Settings into collapsible sections
- Added a dedicated webhook management interface
- Added confirmation before revoking API keys
- Improved reverse-proxy and subpath test coverage
🐛 Fixes & Maintenance
- Fixed incorrect timezone conversion in job history #463
- Improved support for large job filter configurations on MySQL and MariaDB
- Added Playwright end-to-end tests and dependency security audits
- Updated OpenAI, Gunicorn, Uvicorn, Swagger UI, Docker Buildx, and other dependencies
- General documentation, testing, and reliability improvements