Skip to content

v2.35.8

Latest

Choose a tag to compare

@Viren070 Viren070 released this 02 Oct 23:48
70ffb17

2.35.8 (2026-10-02)

Features

  • cache: add stale-while-revalidate reads and use them for manifests (416fcce)
  • dashboard: add a version card to the overview (a16a2f1)
  • jellyfin-web: change subtitle size and height from the player (ffdc0d3)
  • jellyfin-web: drop hold to play from rows (d800040)
  • jellyfin-web: guess intro and credits segments from chapter lengths (1580465)
  • jellyfin-web: play next up and resume items from their page (72f8032)
  • jellyfin-web: pulse the episode a page opened on instead of ringing it (b4fbd7c)
  • jellyfin-web: request images at their drawn width times the pixel ratio (7f3d396)
  • jellyfin-web: resize card artwork to its device size in a worker (2b49efe)
  • jellyfin-web: restore keyboard focus on pages returned to (3ce4dee)
  • jellyfin-web: rewrite shortcuts as remappable actions and add spatial navigation (ff0dd1a)
  • jellyfin: redirect artwork to the smallest rendition covering the requested width (a0d2f9d)

Bug Fixes

  • formatter: stop cached templates keeping their formatter alive (360deb8)
  • jellyfin-web: leave genre-required libraries off home (0ac4310)
  • jellyfin-web: show one continue watching card per show (09b1676)
  • jellyfin: attach user data to series built from watch rows (dd9a87c), closes #1419
  • jellyfin: look up episodes by video id across every season first (aa64fb4)
  • jellyfin: reload cached configs once their TTL has passed (82f0bd3)
  • watch-state: place anime episodes by TVDB when their IMDb hints name another show (f815290)
  • wrapper: bound foreground manifest fetches by the manifest timeout (f82773b)

Performance Improvements

  • anime-database: log only candidate rids in the selector (8f7fd8a)
  • api: stop counting users on every health and status check (54ce0ca)
  • cache: estimate the SQL cache size between counts (e98bbe3)
  • db: drop unused indexes and narrow the import sweep index (61d73a8)
  • db: stamp users.accessed_at at most once an hour (89beb47)
  • debrid: skip torrents and NZBs with more than 10,000 selectable files (ec99d30)
  • debrid: treat audio files as non-video and look extensions up in a set (e27061d)
  • debrid: treat ebook and comic files as non-video (6547f3e)
  • jellyfin: build only the episodes Next Up picks (62b5670)
  • jellyfin: memoise image tags by URL (24b395a)
  • jellyfin: read Upcoming and calendar shows through a pool (ae8b370)
  • jellyfin: refresh id map seen_at at most once a day (52d43ec)
  • jellyfin: share the cached config instead of cloning it (6a1140f)
  • sel: extract expression names once per item when matching overrides (25f2fc0)
  • watch-state: cache match keys for batch lookups (87b4847)
  • watch-state: return the upserted row instead of reading it back (6db546d)
  • watch-state: sweep stale imports by listed keys instead of re-stamping them (4e1cbbf)