Skip to content

Releases: TimilsinaBimal/Watchly

Release 1.9.2 - Sagarmatha

19 Mar 05:51

Choose a tag to compare

Release Notes

Summary

This release bumps the version to v1.9.2 and focuses on translation accuracy, catalog branding, and rating normalization.

Features

  • Add a logo to catalog metadata to improve branding and visual consistency across catalog entries.
  • Normalize IMDb rating handling to ensure a consistent display and reliable sorting across items.

Bug Fixes

  • Translation: fix incorrect German translations from Google Translate by introducing static regex-based translation mappings, improving linguistic accuracy for German content.

Release 1.9.0 - Gosaikunda Dawn

01 Mar 07:14
f13a7de

Choose a tag to compare

Summary

A major feature-focused release introducing AI-assisted content generation, deeper integration with Simkl for recommendations, and several robustness and UI improvements. This release also strengthens data validation and error handling to provide a smoother user experience.

Features

  • Require TMDB API key field during setup to enable TMDB data access.
  • Generate interest summaries and theme catalogs using a Large Language Model (LLM) for richer personalization.
  • Fetch recommendations from Simkl for all loved/liked items to improve discovery and relevance.
  • Add an option to enable or disable Simkl-based recommendations for flexible usage.
  • Display the total number of users in the UI to provide better scale visibility.
  • Add an option to group-sort results globally for more consistent organization.
  • Show a clear, user-friendly error message in addon descriptions when an addon update fails.

Refactors / Architecture

  • Introduce Pydantic model validation for the stats endpoint to ensure robust data integrity.
  • Merge multiple validation endpoints into a single, centralized validation path to simplify maintenance.

Improvements

  • UI and usability enhancements around user counts and sorting behavior for better discoverability.
  • Consolidated validation logic reduces fragmentation and improves maintainability.

Bug Fixes

  • Improve user settings filtering for Simkl candidates to deliver more relevant results.
  • Remove cache-control header when there are no recommendations to prevent unnecessary caching.
  • Fix Simkl trending items retrieval that was failing due to an improper list GET operation.
  • Improve retry logic to retry only retriable errors, avoiding unnecessary retries.

Release 1.8.0 - Pashupatinath

03 Feb 09:10
1d6e824

Choose a tag to compare

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.

Release 1.7.0 - Sagarmatha

09 Jan 08:04
827774e

Choose a tag to compare

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.

Release 1.6.1 - Sagarmatha Summit

31 Dec 18:49

Choose a tag to compare

Release Notes

Summary

This v1.6.1 release focuses on performance and accuracy improvements: optimized caching for library items, refined recommendation logic, and targeted bug fixes in the TopPicksService. A minor version bump marks preparation for the updated changes.

Improvements

  • ManifestService: Refactored caching logic for library items to reduce redundant fetches and improve lookup efficiency, leading to faster startup and smoother recommendation flows.
  • Profile constants and recommendation logic: Updated profile constants and refined the recommendation computation to improve consistency and relevance.

Bug Fixes

  • TopPicksService: Adjusted maximum items in sampling and updated item ID retrieval method to ensure the sampling process evaluates the correct candidates.
  • TopPicksService: Corrected item reference usage to ensure recommendations are processed against the intended items, improving accuracy.

Chore

  • Version bump to v1.6.1 (release prep and changelog alignment).

Release 1.6.0 - Sagarmatha

30 Dec 19:43

Choose a tag to compare

Summary

Version 1.6.0 focuses on performance, templating enhancements, and richer recommendation capabilities, while tightening payloads and improving documentation. The update introduces Redis-backed caching for catalogs and recommendations, a modern templating approach with Jinja2, expanded recommendation catalogs with liked/loved signals, and several small but meaningful improvements to payloads and docs.

Features

  • Integrate Jinja2 templating engine and restructure HTML components to enable cleaner templates and easier customization of the UI.
  • Add Redis-backed caching for catalog retrieval to speed up responses and reduce backend load.
  • Extend Redis caching to cover the recommendation services, improving latency and scalability for catalog-driven recommendations.
  • Introduce liked and loved catalogs in the recommendation system, enabling richer user sentiment signals across all recommendations.
  • Documentation improvements: README now includes status badges for quick visibility.

Improvements

  • Refined caching logic and updated response headers for catalog retrieval to ensure correct caching behavior and better client-side caching semantics.
  • Remove unnecessary last updated date from manifest requests to reduce payload size and bandwidth.
  • Overall performance improvements driven by Redis caching and smarter data access patterns.

Bug Fixes

  • Addon updates: fix ensures that the description field is replaced rather than appended when updating an addon, preserving accurate metadata.

Documentation

  • Add issue templates for bug reports and feature requests to streamline contributor workflows.
  • Update README with badges and clearer contribution guidelines.

Release 1.5.0 - Sagarmatha Summit

27 Dec 11:50
f0b2161

Choose a tag to compare

Release Notes

Summary

This release introduces two new personalization features for recommendations, adds visibility into addon freshness, and fixes a persistence issue after updates.

Features

  • Introduced Loved and Liked catalogs across all recommendation catalogs, enabling users to save and quickly access items they care about.
  • Show last updated timestamp in the addon description after an update, providing clearer visibility into content freshness.

Bug Fixes

  • Fixed an issue where catalog names reset to defaults after updating the app. Catalog names now persist across updates, preserving user customizations.

Release 1.4.5 - Gosaikunda Dawn

27 Dec 06:45

Choose a tag to compare

Summary

This release (v1.4.5) introduces a brand-new recommendation services suite and a user profile system, enabling richer personalization and improved content suggestions. Platform updates include upgrading to Python 3.12 and refreshed dependencies, along with a crucial fix to ensure correct timezone handling in user profiles.

Features

  • Implemented a new recommendation services layer to deliver personalized content suggestions across the app.
  • Introduced a comprehensive user profile system to support personalization, user preferences, and saved items.

Bug Fixes

  • Fixed a timezone import issue in user_profile to ensure correct timestamps and scheduling behavior across the app.

Improvements

  • Upgraded development/runtime to Python 3.12 with updated dependencies to benefit from latest language features and security improvements.
  • Version bumped to v1.4.5 to reflect the new features and stability improvements.

Release 1.4.4 - Gosaikunda Dawn

27 Dec 06:20
4c84d67

Choose a tag to compare

Summary

  • Introduces a new Recommendation Engine and a Profile System to personalize content and improve user data management. (#82)

Features

  • New Recommendation Engine delivers personalized content based on user interactions, with a scalable architecture. (#82)
  • New Profile System enables storing and updating user preferences, settings, and basic profile data for more accurate personalization. (#82)

Improvements

  • Backend data model extended to support profiles, enabling future enhancements and analytics. (#82)
  • Performance improvements through recommendation caching and more efficient query paths. (#82)
  • Security and privacy enhancements for profile data with clearer access controls. (#82)

Migration / Notes

  • This update is additive; existing client integrations remain compatible while new APIs are introduced for recommendations and profiles. (#82)

Release 1.4.3 - Sagarmatha Sentinel

25 Dec 07:40

Choose a tag to compare

Summary

Release 1.4.3 delivers data integrity improvements and performance enhancements. It includes fixes to metadata cleaning to only include valid IMDb IDs, improved handling to avoid using TMDB IDs as final metadata, better item fetching when genres are excluded, and a caching improvement to speed up catalog loading.

Improvements

  • Cache catalogs for 6 hours to speed startup and reduce repeated fetches. (#123)

Bug Fixes

  • Ensure only valid IMDb IDs are returned during metadata cleaning, preventing invalid IDs from polluting data. (#123)
  • Remove items that improperly use TMDB IDs as final metadata to ensure data consistency and correct linking. (#123)
  • When genres are excluded, fetch more items to maintain catalog completeness and accuracy (refs: #79). (#123)