Skip to content

chore(dev): release 1.21.0#1

Open
github-actions[bot] wants to merge 1 commit into
devfrom
release-please--branches--dev--components--aio-metadata
Open

chore(dev): release 1.21.0#1
github-actions[bot] wants to merge 1 commit into
devfrom
release-please--branches--dev--components--aio-metadata

Conversation

@github-actions

@github-actions github-actions Bot commented Jan 11, 2026

Copy link
Copy Markdown

🤖 I have created a release beep boop

1.21.0 (2026-01-11)

Features

  • add metadata (itemCount, author) for all MDBList catalog imports and display (9634c4e)
  • add bulk editing actions to catalogs (0f89eac)
  • add changelog modal and cache warming controls to ops tab with mobile responsiveness (f74ad69)
  • add clear expire keys button to dash (2c17c48)
  • add Criterion Channel streaming provider (0cd3794)
  • add Criterion Channel streaming provider (7f16c68)
  • add custom missing episode thumbnail (f790504)
  • Add custom TTL support for custom manifest integration (4b274f5)
  • add DISABLE_METRICS env var to disable metrics collection (71c044f)
  • add Gemini-specific proxy support (GEMINI_HTTP_PROXY/GEMINI_HTTPS_PROXY) (7579caf)
  • Add granular RPDB control, anime movie mappings, and catalog warmer fixes (3bef3b1)
  • add HIDIVE as streaming provider (8e17731)
  • add IMDb ID search support to TMDB, TVDB, and TVMaze (753bd84)
  • add kitsu as anime meta/art provider (79f6204)
  • add MDBList top list import (50abe0e)
  • Add MDBList Up Next catalog integration (3d86bbf)
  • add MDBList watchlist integration with unified/non-unified support (36daa55)
  • add more providers (7bf97b9)
  • add option to choose between proxying or not ratings posters via aiometadata (eefd151)
  • add prompt for missing mdblist api key in presets (cde11ed)
  • add quick add functionality (7ced45c)
  • Add Rate Me button as genre in meta pages (fa2c218)
  • Add rating page with multi-service support (Trakt, AniList, MDBList) (228ada5)
  • add sort options to streaming catalogs (ed4cdb3)
  • Add TMDB Lists integration (510c17b)
  • add TMDB rate limit tracking with x-ratelimit-remaining support (ed40415)
  • add TMDB top rated and airing today catalogs (2fc0ffb)
  • add Top Poster API integration for rating posters (4cf583a)
  • Add user management system with admin controls (351047f)
  • catalogs: add airing today catalog with origin country filter (2fc0ffb)
  • catalogs: Add per-catalog randomization controls (9ac3d89)
  • catalogs: add top rated movies and TV catalogs (2fc0ffb)
  • catalogs: Add TVMaze daily schedule catalog (15e928b)
  • Complete Trakt integration with all catalog types and optimizations (e9eca39)
  • config: Update CACHE_WARMUP_UUID to CACHE_WARMUP_UUIDS for multi-UUID support (61d6cb6)
  • custom-manifest: Add proxy endpoint for Docker network manifest URLs (9083e12)
  • dashboard: add ability to lock dashboard from public completely (b73933c)
  • enrich episodes with IMDb data while preserving original IDs (d24f13d)
  • episodes: add Top Poster API support for episode thumbnails (4cf583a)
  • filter out TVDB features when no API key is available (f9dd85e)
  • getManifest: extend TMDB year catalog range from 20 years to 1900-present (f55575e)
  • implement comprehensive catalog warming system (ac5f0b9)
  • implement dual content filtering system with cache invalidation (b4b50ff)
  • implement gemini client, tweak prompt, improve perf (e0074ad)
  • implement gemini search (d15e10d)
  • kitsu: enrich meta with tmdb info for consistent thumbnails and ep title/overview (6170037)
  • letterboxd: Add letterboxd integration with list/watchlist url import support (47d0464)
  • manifest: add unwatched_ ID prefix (a14d8e3)
  • manifest: allow logo override via ADDON_LOGO_URL env var (790bf62)
  • mdblist: add support for external lists (cca3bd2)
  • prevent marking watch status repeatedly (0888bdb)
  • prevent marking watch status repeatedly (56755fe)
  • proxy frontend MDBList calls through backend rate limiter (bfd1278)
  • proxy frontend MDBList calls through backend rate limiter (553cea2)
  • rate me: only add stream resource when rate me is activated (38a2824)
  • revamp dash (f552aab)
  • revamp Error Management in dashboard (4821f94)
  • revamp Error Management in dashboard (a730932)
  • revamp Maintenance Tasks, Provider Status & System Health, in dashboard (4bf6c92)
  • search: add option to filter digital releases for searches only (67f2ada)
  • search: Add search provider renaming and reordering functionality (0512bc8)
  • search: Make AI search sortable and bump number of results to 20. (f604a7e)
  • settings: add timezone configuration (a14d8e3)
  • start implementing AL tracking and catalogs (14f0b4c)
  • start implementing mdblist watch status (c391f88)
  • support aliases for person's search (6569cda)
  • support blur endpoint for TOP Poster API (fc6143a)
  • support blur endpoint for TOP Poster API (424c127)
  • trakt up next: add show poster toggle, cache key support, and Kitsu pagination fix (a66ce63)
  • trakt: add Airing Soon calendar catalog (a14d8e3)
  • trakt: add My Recently Aired and Airing Soon catalogs with timezone support (a14d8e3)
  • trakt: add My Recently Aired catalog (a14d8e3)
  • trakt: Add trakt trending/popular movies/shows catalogs (911f4a1)
  • trakt: enhance custom lists with split option (a14d8e3)
  • ui: Add auto-detect page size for custom manifests and optimize logging (3777115)
  • ui: enable Enter key submission in Header login form (887f727)
  • ui: enable Enter key submission in Header login form (8b03b0b)
  • ui: Track Kitsu search performance and improve nav (01f66aa)

Bug Fixes

  • -tmdb should now respect language priority when getting posters during search. - Added release year condition to nameToImdb (daa08cc)
  • add missing func for oAuth token updates (e4dc777)
  • add new custom catalogs at end of list to preserve existing catalog order (ef9ad6e)
  • address load trending lists error (1963bae)
  • address TUN bug, enhance cache efficiency (5fe3880)
  • age rating filtering (d16c024)
  • anime art: use the same art for catalog and meta even when use imdb id for MAL catalogs/search (0375ccf)
  • anime meta & fanart: fix self-inflicted initialization issue and re apply langugage selection logic to fanart (af1b8ec)
  • anime meta: issue with anime override & filter out null names from cast/crew (f5e633d)
  • anime movie: adapt ids to new anime movie id mapping (0ca12cc)
  • apply content rating on trending tmdb catalog (d0d5513)
  • apply content rating on trending tmdb catalog (8c27189)
  • apply same logic to dashboard (fc2260b)
  • apply same logic to dashboard (41f0bfe)
  • art: RPDB handling and improve error resilience (eafe942)
  • auth: move TMDB authentication flow to frontend (2fc0ffb)
  • cache: add auto cleanup of old meta cache keys on version change (a2ae76b)
  • cache: ensure rpdbEnabled is always boolean in catalog cache keys (9cd0601)
  • cache: fix cache key mismatch in meta wrap smart by aligning animeIdProvider logic (c4571e4)
  • cache: Handle cache key correctly for anime id provider when using imdb id for anime (36453f3)
  • cache: hash config in cache keys to avoid generating big string (a2ae76b)
  • cache: Track meta cache hits correctly and prevent double-counting misses (4b59363)
  • cast credits: add option to let the user force latin cast name when using a non EN lang for TMDB meta (9963ad5)
  • catalog warmer stats accumulation (fb9cc26)
  • config: safe SCAN-based deletion for meta cache clearing to avoid callstack/KEYS issues (86efcce)
  • correct manifest.json fields to match spec (03bc6ba), closes #132
  • correct type issue when setting specific display types like streaming provider name (bb0b265)
  • cors: add global CORS middleware to ensure all responses include CORS headers (f7e6880)
  • custom catalogs: allow configuring page size for imports to fix pagination for addons that use less than 100 as page size (683205b)
  • custom catalogs: correct pagination logic to handle any page size and prevent repeated results (89f5d35)
  • decouple html blurb from user configs (2ed1aeb)
  • decouple html blurb from user configs (fdedabb)
  • enable necessary metrics for Ratings page functionality (95e63bd)
  • enable necessary metrics for Ratings page functionality (7a6a419)
  • ensure logo fallback works in catalog endpoint and fix MDBList unified watchlist parsing (eb277b0)
  • ensure MDBList API key test uses rate limiter (0e40ba4)
  • fanart: adapt changes from fanart api (8b3d006)
  • finetune person's search logic further (#99) (5df4cc6)
  • finish implementing automatic Trakt token refresh (3e7c3e9)
  • frontend: Conditionally display addon password for user deletion (fc87102)
  • gemini validation (fd7a09f)
  • gemini validation (9c28306)
  • Hide Episode Spoilers now works with TOP API (88dea98)
  • id mapper parsing (5f3f590)
  • id mapper parsing (edd5973)
  • imdb meta: show age rating for imdb meta (3ce2ba7)
  • import: use full replacement for config import (6031911)
  • index: add CORS headers to manifest.json endpoints to prevent browser blocking (d0cda45)
  • kitsu: avoid using unreliable TMDB fallbacks for franchise fallback mappings; use background for upcoming episode thumbnails; (ad91a43)
  • letterboxd: fix error when letterboxd would return type show for series (f1ce58c)
  • make cache private for specific endpoints (afa7967)
  • make cache private for specific endpoints (5396976)
  • make persons search strict (02cf696)
  • make persons search strict (4d253b2)
  • make skygo region agnostic (ca8c08c)
  • mal cache warming: resolve issue with genre value not matching index call when show in home is false for MAL, TVDB & TVMaze catalogs (debbefd)
  • manifest: make id generation more unique to fix edge cases with display types (aee5a5b)
  • mdblist: correct unified watchlist response parsing (eb277b0)
  • mdblist: fix import by list url (2778c7a)
  • mdblist: fix list type assignement when adding lists via username (136a477)
  • mdblist: implement a per key rate limiter to avoid global cooldown (f1ce58c)
  • mdblist: missing validation condition (812d6be)
  • mdblist: pass unified paramater to query for mixed lists so that order is kept (2778c7a)
  • mdblist: type guard response.headers and extend rateLimitState for new rate limit headers (19ba774)
  • meta: anime ID provider check logic (17c7828)
  • meta: fix anime id condition issue (9a22e0e)
  • meta: fix undefined certificationsData and empty ids handling (7c66530)
  • meta: move IMDB logo fallback outside includeVideos block in buildTvdbSeriesResponse (eb277b0)
  • meta: prevent getMeta from being called if imdb id isnt found when Use IMDb ID for Catalog/Search for Series is On (f566121)
  • meta: strip upnext/unwatched/tun prefixes before rebuilding RPDB proxy URL (7dd2692)
  • missing 'None' genre option for tmdb.popular when showInHome is false (2c17c48)
  • persons search logic (269e9d1)
  • persons search logic (2b7535e)
  • poster fallback logic on tmdb (6a6938e)
  • poster fallback logic on tmdb (e7a9bef)
  • prevent save button from being disabled during context loading (02c3f0c)
  • prevent unbounded growth on cacheHealth metrics (a914290)
  • proxy frontend Trakt calls through backend rate limiter (17d80b7)
  • search: fix digital release filter not being correctly disabled for search only (fa17c2f)
  • search: Improve search provider labeling (c22ee47)
  • search: show TVDB search in dropdown with API key required indicator (2a0eaa5)
  • streaming catalogs - paramount: update provider id (f11467f)
  • streaming catalogs: resolve issue with some providers showing few items (47bc793)
  • stremthru: correct configure URL generation for external button (d25cf46)
  • tmdb auth flow (ff7aba4)
  • tmdb meta: Use original_title when user language matches original language and no translation exists (56ff1e1)
  • tmdb top rated: increase vote count to filter trash out (a4b84c9)
  • tmdb trailers: fix multilingual trailers logic (cc4a088)
  • TOP Posters: fix top rating posters still showing in library when Keep Rating Posters for Library Items was false (4834d73)
  • top rating: use the correct endpoint for api key testing (6ef0c70)
  • TOP: fix AI search not using TOP Posters API (47a253e)
  • trakt genres: show name instead of slug in stremio (1f0cf69)
  • trakt refresh token logic (0f37952)
  • trakt refresh token logic (e79b3a6)
  • trakt ui: remove trakt secret for integration disabling condition (b7a7b5d)
  • trakt up next: fix issue with caching (b44be7c)
  • trakt: add deselect all buttons for multi-select lists (02c250d)
  • trakt: convert token expiry to string for postgres users (812d6be)
  • trakt: Filter dropped shows from Trakt Up Next and Recently Aired catalogs (9cea060)
  • trakt: fix sort direction parameter not being sent to API requests (02c250d)
  • trakt: prevent trending/popular list stacking in UI (02c250d)
  • trakt: reduce retries for individual show fetches in Up Next (d1037bd)
  • trakt: support official lists with null user slug (f681857)
  • treat 500 as retryable (dcb1376)
  • treat 500 as retryable (7a5fbb6)
  • TVDB collections movies-only, TVMaze schedule improvements (c47746a)
  • tvdb episode fetching error (2a52d5f)
  • tvdb genre: TVDB genres pagination by using correct pageSize from env var (1fef78e)
  • tvdb trending: improve tvdb trending fetching logic (f574204)
  • tvdb: convert years to season numbers for shows that use season years as season numbers (9bf0803)
  • tvmaze: Update schedule API from web to full and adapt new response structure (27cbacd)
  • UI: make sure Enable Gemini search is disabled AND toggled off when no api key is entered (4834d73)
  • up next: Exclude episodes without air date from Trakt Up Next and exclude MDBList Up Next from catalog warmer (1915305)
  • up next: invalidate meta cache via ep number (5765133)
  • up next: prevent rpdb from applying to thumbnails (fa17c2f)
  • update anilist label (83e94e5)
  • update anilist label (f6342c2)
  • use CATALOG_LIST_ITEMS_SIZE for MDBList catalogs in warmer (5527d74)
  • use mdblistType instead of type (63ce8fc)
  • use mdblistType instead of type (85295b0)
  • use retry-after header for trakt (9908807)
  • use retry-after header for trakt (0065151)
  • user management: resolve issue with password reset (4be921a)
  • warming: resolve issue with kitsu ids reverting to imdb id (9fe3ddf)
  • wiki: HTTP 429 error handling in wiki-mapper with retry logic and cache fallback (62c010a)

Performance Improvements

  • add config cache stampede protection and increase TTL (ff36d79)
  • add in-memory config cache (f0f2a59)
  • compile regex pattern once (19272a7)
  • Optimize anime ID lookups from O(N) to O(1) (c306a86)
  • parallelize tracking operations (829d896)
  • request-tracker: make tracking calls non-blocking (472dacd)
  • simplify and parallelize requestTracker further (0839d65)
  • timing-metrics: use Redis pipeline and fire-and-forget pattern (e056b7b)
  • use MGET in reconstructMetaFromComponents (f7e58e1)
  • use redis pipeline for requestTracker.js (3dd4e8f)
  • wiki-mapper: convert lookup functions to synchronous (ea648e3)

Reverts

  • discard getMeta.js changes from PR 181 (3dd7ddf)
  • temporarily revert to fribbs previous list update containing imdb ids (a980fe1)

This PR was generated with Release Please. See documentation.

@github-actions github-actions Bot force-pushed the release-please--branches--dev--components--aio-metadata branch from cb58621 to d444280 Compare January 11, 2026 17:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants