Summary
This release represents a comprehensive refactoring of the application's backend architecture to establish a solid foundation for future enhancements. What began as a personal Vue learning project has evolved into a widely-used application, necessitating significant architectural improvements to support growing user needs.
The development journey progressed from a browser-based storage model to encrypted JSON files, resulting in inconsistent data management patterns. This release completes the major initital transition to a proper database system as the single source of truth for all application data, eliminating legacy localStorage and JSON file dependencies. While thoroughly tested, I would greatly appreciate your patience as I address any remaining issues.
Key Enhancements
Multi-User Support
- Admin users can now manage additional users through the "User Management" tab in Settings
- User permission model:
- Admin users: Full access to all application features, including service connections (Plex, Jellyfin, Tautulli) and library synchronization
- Standard users: Limited to password management and personal Trakt connections, with the ability to select their user profile from watch history services
Authentication Improvements
- OAuth support added, including compatibility with custom OAuth providers (e.g., Authentik)
- Improved session management for better security and reliability
- See README for detailed OAuth configuration instructions
Performance Optimizations
- Watch History Caching: History is now cached with a 24-hour refresh interval, significantly reducing API calls
- Radarr/Sonarr Synchronization: New dedicated buttons for library synchronization, minimizing unnecessary API requests
Enhanced Media Ratings
- Expanded rating information on recommendation cards for connected services:
- Sonarr: IMDB ratings alongside Recommendarr ratings
- Radarr: IMDB, Rotten Tomatoes, Metacritic, and TMDB ratings in addition to Recommendarr ratings
Additional Improvements
- Watch history limits fixed and increased to 10,000 items (though I recommend a more selective approach using the Sampled Library toggle or recent watch history only for better personalization)
- Updated Jellyfin setup to allow entering your Jellyfin Username for a more simplified connection experience instead of the more confusing User ID (Which was a string of characters in the profile URL)
- Custom prompt only mode: Only base recommendations off of the "Additional Keywords/Themes" text field, ignoring your library etc..for recommendations.
- Trakt connections now processes the users ratings of shows and will automatically add anything rated 5 or below to the users "dislike" list.
- Numerous minor bug fixes and stability improvements
Important Notice
Due to the extensive architectural changes in this release, you will need to reconfigure your service connections (AI Settings, Sonarr, Radarr, etc.). I apologize for this inconvenience, but this one-time setup will provide a more stable and feature-rich experience going forward.
Changelog
Full Changelog: 1.3.0...1.4.0