Summary
This is a major 1.8.0 release focused on making recommendations more personalized, reliable, and easier to reason about. It introduces onboarding-friendly trending recommendations for new users, a significant refactor of the theme-based recommendation system, daily result seeding for variety, incremental profile updates, and new runtime utilities. It also strengthens data consistency, security, and operational reliability with distributed locking, better error handling, and improved cross-origin request handling.
Features
- Onboard with trending items: New users now receive trending recommendations to improve initial engagement and discovery.
- Theme-based recommendations refactor: Revamps the theme-based system with role-based axis recipes, adds runtime constants for movie/series durations, and introduces a comprehensive recommendation utility and scoring tests to ensure correctness.
- User-defined filtering for recommendations: Users can filter recommendations by year and popularity, with an implementation plan document provided to guide usage and future enhancements.
- Incremental profile updates: Profiles now update incrementally, reducing churn and improving responsiveness.
- Daily result seeding: A seed is added to vary results each day, providing fresh recommendations while remaining stable within a day.
- Dynamic user-specific row generator: Introduces a runtime-driven mechanism to generate user-specific rows for tailored views.
- Redis distributed locking: Adds distributed locking to coordinate library and addon services for safer, more predictable operations. Includes agent guidelines and implementation plan documentation.
- Documentation updates: Adds an implementation plan and agent guidelines to help teams plan and operate recommendations features.
Improvements
- Performance optimization: Only fetch similar items when needed for item-based recommendations to avoid unnecessary lookups.
- Top picks improvements: Refinements to improve the relevance and quality of top-pick recommendations.
- Theme-based improvement sweep: General enhancements to the theme-based system beyond the refactor, improving alignment with titles and user context.
- Simplified data generation: Removed decade from row generation to reduce redundancy and simplify data shapes.
- In-memory caching for catalog updates: Uses in-memory cache to speed up catalog update tasks.
- CORS header hardening: Added and improved CORS headers on responses to reduce cross-origin issues.
- Profile-runtime integration: Extended runtime data to profiles to better drive recommendations.
- Library-item consistency: Adds items that exist in loved/liked APIs but not yet in the library, aligning data sources for consistency.
Bug Fixes
- Fix: do not always initialize frequencies and related data structures to reduce unintended side effects.
- API key handling: Refined API key handling in token store to improve security and correctness.
- Poster ratings: Do not use encoded API keys when rating posters to avoid encoding-related errors.
- Row generation: Remove decade from row generation to reduce redundancy and potential mismatch.
- user_settings Redis: Fix saving of year_min, max and popularity to avoid invalid states.
- Service failure handling: Improved error handling when services fail, reducing crash scenarios.
- Token salt default: Add warning when token salt is default and improve padding filler to max, improving security posture.
- CORS headers: Fix and strengthen headers to solve cross-origin requests issues.
- User discovery preferences: Correct handling of user discovery preferences.
- Theme/title alignment: Fix theme recommendations not following the title properly.
- Top picks: Improve alignment and relevance of top picks recommendations.
- Library consistency: Ensure items not in the library but present in loved/liked APIs are treated as library items for correctness.
Refactor
- Theme-based recommendations: Major refactor with role-based axis recipes, new runtime constants for content duration, and a comprehensive recommendation utility with scoring tests to ensure correctness and maintainability.
- Documentation scaffolding: Added agent guidelines and an implementation plan document to guide future work.
Documentation
- Implementation plan document for recommendations features.
- Agent guidelines to support rollout, testing, and maintenance.