github chrisbenincasa/tunarr v2026.9.0

4 hours ago

2026.9.0 (2026-09-26)

Features

  • add separate macOS binary for detecting videotoolbox hardware capabilities (8ab46f8)
  • add support for transcoding to E-AC3 and Opus audio formats (#1943) (bfb5912)
  • allow configuring play status updates per-server (#1899) (8d26958), closes #1893
  • db: snapshot before migrating and refuse to run on a newer schema (#2053) (1936114)
  • extract more metadata about music videos (#1885) (a24303c)
  • promote worker pool to default (#1994) (2b68d4e), references #1991 #1991
  • search: add season filter to smart collections and search DSL (#2020) (b35e947), closes #2019
  • server: add optional basic auth for protected routes (#1865) (0c6c398)
  • server: drain trash incrementally in the background (037854d)
  • server: rebuild the guide after emptying trash rewrites lineups (ac71ab6)
  • server: upgrade zod to 4.5 and enable z.compile() (#2083) (577b169), references #2057
  • web: add Simplified Chinese (zh-CN) localization (#2055) (921ef7f)
  • web: fit mid-roll defaults to the slot's own programs (d9514fc)

Bug Fixes

  • address review findings on scheduling safety (b6fff47)
  • api: reject invalid schedules and custom-show updates before writing (20314a8), references #2087
  • artwork: derive artwork urls on demand and bound the backfill (#2133) (ddd5f60), references #2128 #2129 #1923 #2132 #2129 #2128
  • backup: stop reporting a backup as successful when it was not written (#1998) (73d739b)
  • channel: clear filler collections when all are removed (#2114) (fc8d360)
  • ci: let the CalVer release compute a version in a month with no tags (#2106) (31a1b30)
  • db: allow deleting a filler list referenced by play history (#2054) (cb62ac5)
  • db: allow eac3 in the transcode config audio format constraint (#2137) (7a511cf), closes #2120
  • db: materialize programs from one shared relation set (#2119) (63ebb09)
  • db: reuse the live connection on a second DBAccess.init (bdac9db)
  • delineate overflow and lateness in slot editors (#1965) (542f5f2)
  • ensure session connections and heartbeats stay in sync (#1942) (72919e0)
  • ensure unseen items from custom show sync are synced in search (#1895) (8bc0a76)
  • ffmpeg: set filter_hw_device for vaapi to fix subtitle burn-in with opencl tonemap (5213e56)
  • guide: stop redirect slots producing zero-length programs (2b4a003)
  • include sessions in channels API (#1928) (7d37be2)
  • media-sources: mark libraries unavailable when credentials are rejected (0c99b0b)
  • media-sources: mark missing libraries unavailable instead of deleting them (8ffe02d), closes #1973
  • music: link scanned albums to their persisted artist (#2118) (b7cd3f4), closes #2116
  • remove merge conflict markers committed into tracked files (cc7d5d8)
  • resolve external subtitles for Jellyfin and Emby sources (84b30b6)
  • scheduling: default missing overflow to no overflow (cdb3ab9)
  • scheduling: ignore empty filler lists instead of failing the schedule (0c4e2e4)
  • scheduling: keep mid-roll break markers and fill breaks completely (e8f2ca1)
  • scheduling: name the filler time constants after their real values (f503e4d)
  • scheduling: rank filler programs by staleness and honor long cooldowns (dfcb0b1)
  • scheduling: stop an out-of-period slot offset from killing the schedule (037319a)
  • scheduling: stop slot schedulers from looping on empty or zero-length content (af6c4f4), references #2087
  • server: emit a valid OpenAPI 3.0 document so the client generates (c97d767)
  • server: honor --log_level/-v CLI flags in the logger (#1992) (#2067) (edd0443)
  • server: meld guide flex into the preceding entry, not a lineup index (#2117) (3555449), closes #1798
  • server: properly exclude season 0 of a show when that season is on the exclude list (#1915) (1abd59a), closes #1914
  • server: stop passing an undefined log level to workers (#2111) (480d106)
  • settings: accept xmltvCreditImagesEnabled in feature flag updates (#2108) (39bc7c2)
  • web: de-duplicate the Mid filler toggle and show it in the slot table (821b50b)
  • web: keep empty custom shows out of new slots and show save errors (87922c7), references #2087
  • web: restore collapsed mid-roll rows in the program list (b9f7532)
  • web: stop regen-routes rewriting every route path (#2122) (129d2cb)
  • web: stop the slot editor producing offsets outside the schedule period (cf86788)
  • xmltv: emit program elements in DTD order (35ea89f)

Don't miss a new tunarr release

NewReleases is sending notifications on new releases.