Summary
This release brings significant architectural refinements, performance optimizations, and user-facing enhancements focused on data handling, recommendations, and catalog management. It introduces Redis-backed caching for catalogs, a revamped recommendation and profile system, and several UX improvements to catalogs, add-ons, and templating. Documentation improvements and targeted fixes ensure more reliable behavior and clearer guidance for users and developers.
Features
- Redis caching for catalog retrieval and Redis service integration: dramatically improved responsiveness and scalability for catalog data delivery.
- Implemented a redesigned recommendation stack and profile system: more accurate, faster recommendations with improved error handling and clearer service boundaries.
- Poster rating enhancements: adds configuration to tailor top_posters for better poster quality and relevance.
- Catalog experience enhancements: ability to enable/disable movie series catalogs separately and improved frontend-backend integration for catalogs and genres.
- Loved and liked catalogs: new categories for expressing user affinity in recommendations.
- Jinja2 templating integration: reorganized HTML components for cleaner rendering and easier templating.
- Data shuffling controls: new options to shuffle data more intelligently (only_discover and random shuffle) and a centralized shuffle_data_if_needed flow.
- Add-on metadata improvements: last updated time is shown on addon descriptions after updates.
- Recency and genre diversification: recommendation logic now emphasizes recency and genre variety to improve discovery.
- Documentation enhancements: expanded per-catalog descriptions, new badges, and visuals to better communicate catalog scope and contents.
Improvements
- Data handling and caching: streamlined caching logic for libraries and catalogs, with better response headers and more predictable cache lifetimes.
- Recommendation and discovery: consolidated and clarified logic for fetching recommendations, enhanced error handling, and more maintainable discovery task construction.
- Frontend and backend integration: improved catalog and genre data alignment with backend data models for a more coherent UI.
- Profile and scoring: updated profile constants and scoring logic to deliver more meaningful recommendations.
- Performance: caching-related improvements reduce repeated data fetches and latency across catalog retrieval and recommendations.
- Documentation quality: added detailed descriptions for catalogs, improved README with badges, and screenshots for better onboarding.
Refactors (meaningful architectural changes)
- Introduced shuffle_data_if_needed to streamline data shuffling logic in CatalogService.
- Consolidated recommendation fetching logic in ItemBasedService for improved clarity and error handling.
- Streamlined discover task creation in TopPicksService for maintainability and consistency.
- Enhanced frontend catalog and genre integration with backend data for smoother rendering.
- Updated strong signal item percentage and simplified scoring parameters to improve recommendation quality.
- Enhanced catalog configuration and user experience with only_discover and random shuffle options.
- Simplified recommendation filtering and theme-based service logic for clearer behavior.
- Updated profile constants and enhanced recommendation logic to improve personalization consistency (several commits).
- Improved caching logic for library items in ManifestService to reduce redundant fetches.
- Updated caching logic and response headers for catalog retrieval to optimize client-side caching.
- Miscellaneous maintenance refactors, including removal of outdated manifest request data and alignment of modules for better extensibility.
Bug Fixes
- TopPicksService: adjust max items and update item ID retrieval method to ensure accurate sampling.
- TopPicksService: correct item reference to ensure accurate recommendation processing.
- Add-on and UI: replace description instead of append on addon update to prevent duplicate metadata.
- User profile: fix timezone import issue to ensure correct user-time related data.
- Metadata and IDs: ensure only valid IMDb IDs are returned during metadata cleaning; fix handling for TMDB IDs in several paths.
- Add-on and UI: fix get started button functionality issues observed in some flows.
- Manifest and catalog: remove unnecessary last updated date on manifest requests to keep responses clean.
Documentation
- Docs: add detailed descriptions for each catalog to help users understand contents and scope.
- Docs: add screenshots and visuals to improve guidance and onboarding.
- Docs: add badges on readme for quick feature/glossary visibility.
Performance and Infrastructure
- Redis-backed caching for catalog retrieval and Redis service integration to improve latency and throughput.
- Template-driven UI restructuring via Jinja2 to support cleaner rendering and easier future templating changes.
- Parallel and more efficient data fetch paths introduced to improve responsiveness during catalog and recommendation loads.
Note: This release continues the iterative improvement cadence with several RC iterations preceding a stable release, reflecting ongoing work to harden caching, recommendations, and catalog delivery.