github cedya77/aiometadata v3.9.0

latest releases: v3.9, v3
48 minutes ago

3.9.0 (2026-11-13)

Features

  • catalogs: place collections anywhere in the catalog list and give catalogs row options (1ec84c5)
  • discover: add rolling Last and Next N days date windows (32efe58), closes #882
  • jellyfin: filter browse lists by official rating and list the ratings in view (a73da93)
  • jellyfin: keep playlists through Jellyfin's playlists API (d56b78c)
  • jellyfin: let a collection folder combine its catalogs interleaved or alternating, and shuffle each page (4e976a0)
  • jellyfin: let catalog reads name the household user (#864) (bf53c1c)
  • jellyfin: list a collection folder's catalogs on its folder item (bcc5f72)
  • jellyfin: name addon subtitles after their release and language variant (fc0029d)
  • jellyfin: name addon subtitles after their release and language variant (b553f14)
  • jellyfin: send Infuse PNG logos where TMDB only has an SVG (47bd2cd)
  • jellyfin: sort and filter by tag across the whole library (db7354f)
  • jellyfin: take a watched title off the server's own watchlist (57f40f9)
  • simkl: combined Plan to Watch catalog with release date sort (c8bb07f)
  • upnext: sort Trakt and Simkl Up Next by latest aired episode (1a7e1e9)
  • warmer: warm genres pinned in collections (415c699)

Bug Fixes

  • ai: accept OpenRouter presets as the model instead of falling back to another (3b2b7f8)
  • anime: give the second part of a split season its own Kitsu and MAL episodes (29b4ddc)
  • anime: keep the last episode of each part of a split season (21239c1)
  • anime: place TMDB episodes on the parts the mapping data puts there when counting skips an OVA or ONA (0c4522b)
  • anime: share watched marks between a TMDB season split across anime entries and those entries (f5a56c6)
  • catalog: keep movies and shows that are not out yet out of More Like This when catalogs hide them (90a3176), closes #886
  • catalogs: apply each source's art settings inside a merged catalog (9271523)
  • id-resolver: ask Cinemeta v3 when the live host has no TMDB or TVDB link (a5e3767)
  • jellyfin: answer a title's watchlist flag without waiting on a slow tracker (a81437c)
  • jellyfin: clear a configuration's viewing data when it is deleted (56efda3)
  • jellyfin: continue Next Up after the furthest episode of a batch marked, imported or synced at once (de55561)
  • jellyfin: drop only what the table feeds, once, before clients are told (ced450d)
  • jellyfin: find a film held under its other id when syncing tracker watches (3862303)
  • jellyfin: keep a randomized catalog's length stable across windows (18d06d0)
  • jellyfin: keep the profile age cap on the US rating when showing the local one (3ab0056)
  • jellyfin: prefer local certification for Jellyfin metadata (5ab9a3e)
  • jellyfin: refresh Next Up and series counts as soon as an episode is marked watched or unwatched (1816644)
  • jellyfin: refresh Next Up and series counts as soon as an episode is marked watched/unwatched (26bbc7c)
  • jellyfin: report no plays for an unwatched title and count a watch after an unmark from one (15ae62f)
  • jellyfin: serve original TMDB art when the client sends no width and the smaller-art setting is off (c5df7b6)
  • jellyfin: write remembered art in slices so a large burst is not lost (b511e81)
  • mal: fetch discover pages at the catalog page size (5399b24)
  • mal: list only the episodes a finished anime has (764d349)
  • meta: give an anime with no IMDb id its MAL or Kitsu episode ids under the IMDb id provider (fb8c38c), closes #905
  • meta: keep a title's own country's art under the original language fallback (770e0cb)
  • meta: keep an anime's own id on TVDB metadata until it has an IMDb id to use (0a0b154)
  • meta: keep an anime's own id on TVDB metadata until it has an IMDb id to use (bd6c424)
  • poster-cache: keep warming images when a full cache holds pictures nothing uses any more (0b8229d)
  • publicmetadb: page lists from cached blocks and serve watchlists newest first (94b5d33), closes #861
  • publicmetadb: read plays back in the episode numbering they were sent in (99c916c)
  • recommendations: move recommendation pages with the reason language (884c430)
  • recommendations: page recommendation rows by the catalog list page size (c358920)
  • recommendations: write each pick's reason in the configuration's language (5b23de2)
  • recommendations: write each pick's reason in the configuration's language (27ceb93)
  • simkl: take an anime's TVDB id in Up Next from the mapping that placed its next episode (75a0483)
  • tmdb: fill runtime-filtered TV discover pages (d6be3cf)
  • tvdb: use Cinemeta for a series that TVDB lists with no episodes (b6c538a), closes #860
  • warmer: warm episode thumbnails from the catalog pages the warmer builds (f02ac02)
  • warmer: warm hidden, MAL discover and merged-source catalogs under the keys requests use (b48bbc3)
  • watch-tracking: send a TVDB episode filed under another TMDB show to that show (1280993)

Performance Improvements

  • catalogs: keep confirmed end-of-list pages for a day (b77663a)
  • jellyfin: build Next Up once for requests that mean the same list (b6e01ed)
  • jellyfin: build only the located episode for history, resume and premieres (c55a385)
  • jellyfin: build only the requested episode when opening one (afb82ef)
  • jellyfin: pass over a collection source that cannot hold the filtered type (644694e), closes #883
  • jellyfin: remember the ids an episode goes by (f712b55)
  • jellyfin: send People in listings only when Fields asks for it (13976ed)
  • jellyfin: size art asked for by height alone to that height (85eb6f5)
  • jellyfin: store new id mappings in batched inserts (#871) (de1109a)
  • trailers: warm addon trailers with catalogs and keep empty answers a day (300a7cb)

Don't miss a new aiometadata release

NewReleases is sending notifications on new releases.