1.3.14 (2026-09-02)
Bug Fixes
- add missing tap navigation to mobile library cards on /library page (#2007) (c2af8b4)
- api: stop an empty limit paging into nothing (#2003) (4833825)
- build: restore the pnpm overrides dropped by the workspace move (#2052) (100d14a)
- four bugs that silently do nothing (#1996) (c78ec95)
- guide: make the guide build retry actually retry, and stop hiding failures (#2000) (43fe020)
- meilisearch: make downloaded binary executable by non-root users (#2022) (8e08d5c), closes #1523
- on-demand: make OnDemandChannelService a singleton so its locks work (#1999) (597bb73)
- populate scan_kind for interlaced Emby, Jellyfin, and Plex content (#2008) (4976dd3)
- programs: parse air dates written in any timezone (#1995) (dd8fa7e)
- repair lint-changed and add a preflight that mirrors CI (#2011) (f41d542)
- scheduling: make the random slot cooldown actually apply (#2001) (db1f51f), closes #slotLastPlayed
- server: restore ffmpeg reset response schema (#2035) (704c661)
- settings: stop partial updates resetting the fields they omit (#2005) (f9f1c54)
- skip oversized mid filler candidates instead of ending the break fill (#1988) (f79a7f1)
- stop asyncPool from dropping results that settle together (#2039) (66f468d), closes #2038 #2038
- stop unfurlPool from swallowing failed tasks (#2040) (0cbe55e), closes #2038
- web: stop the slot warning reporting a bogus average program length (#2016) (9eb4424)
- workers: make the start() guard actually guard (#2004) (90807df), closes #state #state