Releases: gorgarp/Recommender
v1.2.0
Added:
- ModalityFusionWithAttention: New module to fuse text, numerical, categorical, temporal, metadata, and graph features using attention.
- EmbeddingPrecomputeWorker: Background worker for periodic precomputation and caching of item embeddings.
Changed:
- Updated ContentEncoder and _compute_embedding in the RecommendationEngine to work with the new fused modality features (input dimension reduced to 256).
- Adjusted model initialization, training routines, and optimizer settings to reflect the new architecture.
- Added minor clarification on Plex URL
v1.1.0
New Features:
-
Added Plex integration with toggle-able features:
- Watch History import option
- Ratings import option
-
Database Changes:
- Added plex_metadata table for storing:
- Plex ratings (1-10 scale)
- Watch progress
- Last updated timestamps
Note: This does not break v1.0.0 databases
- Added plex_metadata table for storing:
Simply check whatever box you want and hit the import button. It will take care of the rest. Re-import anytime you want to feed it new data.
v1.0.0
First major release!
Please note, this is a breaking release. This means, if you have a prior database, it is not compatible.
Added
- Database connection pooling and write locking mechanisms
- Asynchronous API clients for TVDB and TMDB with retry logic
- Metadata scanner with multi-source fallback strategy
- Genre preference tracking and user feedback system
- Advanced database indices for performance optimization
- Connection pooling in APIClient with HTTP adapter configuration
- TVDB artwork and translation fetching capabilities
- TMDB list management features (create/update/delete lists)
- Database statistics tracking and maintenance utilities
- Theme support with dark mode styling
- Thread-safe database operations with context managers
Changed
- Refactored database layer to singleton pattern
- Improved error handling in database operations
- Enhanced TVDB series data fetching with extended metadata
- Updated TMDB client to use async/await pattern
- Modified scanner to use Plex GUIDs for ID extraction
- Improved database schema with additional media attributes
- Optimized SQL queries with proper indexing
- Restructured network layer for better async support
- Enhanced metadata processing with sanitization methods
Fixed
- TVDB ID extraction from Plex GUIDs
- Connection leak in async sessions
- Race conditions in database write operations
- Memory management in embedding cache
- Session cleanup during application shutdown
- Error handling in metadata fallback logic
- Date parsing inconsistencies across sources
- Concurrent access issues in scanner thread
- Database lock acquisition timeouts
Removed
- Redundant synchronous API methods
- Duplicate media item checks before insertion
- Unused legacy configuration parameters
- Deprecated XML-based API endpoints
- Redundant genre normalization code
Security
- Added request signing for TMDB API calls
- Implemented proper token invalidation
- Secured database connections with WAL mode
- Added input sanitization for SQL queries
- Implemented rate limiting in API clients
0.4.1
Bugfixes:
- Build fix for compiled versions where NLTK data was getting stuck
- Fixed mismatched positional
- Fixed init order for db getting hung on blocked items
- Added weight decay for missing optimization
- Duplicate catch in method
- Various cleanup and stability improvements
0.4.0
New Features:
- Added add to collection functionality
- Movies tab now has an add to collection button that will add the item to a collection.
- You can configure the name of the collection in the config tab.
Note: The collection will be created and added to, in the library the item resides in. Due to how Plex works, I can't get items to go cross libraries into a single collection. So if you have items from 12 libraries and add movies to collections for 100 items, you may end up with a collection in each library. Annoying, but to my knowledge, nothing I can do. If you only have 1 movie library, you can ignore this note :)
0.3.0
New Features:
- Added watchlist functionality
- Movies and Shows tabs now have an add to watchlist button that will add the item to your watchlist (whichever account the Plex Token belongs to, multi-user support is on the list, but has some complexities)
- The config tab has a clear watchlist button, which obviously clears your watchlist on Plex.
0.2.0
New Features:
- Added skip and block functions.
- Skip prevents the item from being shown for 2 hours.
- Block prevents the item from being shown again, unless you select reset block items, which resets all blocked item flags.
- Created various functions to make sure that recommendations are shown without having to reset the program
- Added help links to config tab for where to get API keys and Token
Bugs:
- Raw JSON leakage in genre tags for shows
- Mismatch on input shapes when graph calculations completed
- Reset where rankings buttons were situated
- Various performance and tweaks.