Release history
tunarr releases
Create a classic TV experience using your own media - IPTV backed by Plex/Jellyfin/Emby/NFO
All releases
56 shown
Fixed file uploads above 100MB silently dropping.
Full changelog
Fixed missing sortTitle for local media entries.
Full changelog
Fixed improper handling of date ranges and keyword passing in smart collection materialization.
Full changelog
Fixed incorrect initial query calculation in SearchInput.
Full changelog
Fixed the now playing API endpoint and date string validation.
Full changelog
1.2.13 (2026-04-30)
Bug Fixes
- always consider max lateness when calculating time slots (5a35868)
- disallow saving invalid date strings (f2f8597), closes #1818
- fix now playing API endpoint; tv guide range check (56212bd)
- properly persist keywords in smart collections (52a9637)
- round new channel start times to nearest minute (035c0ae)
- External subtitles download during scanning
- Mobile library subpages in bottom navigation
Full changelog
1.2.12 (2026-04-22)
Bug Fixes
- backdate initial guide generation at startup (9ab2697)
- download external subtitles as part of scanning (307ebc9)
- guide generation after initial server start should always happen (30ff2f8)
- improve user experience of library overview on mobile (#1813) (e090fc7)
- include programs that start or end within requested guide date range (b625072)
- include subtitle streams in minted programs from PlexApiClient (5724999)
- only create one instance of ChildProcessHelper per-FfmpegInfo (cdf0eb9)
- prevent NaN display and uneditable state in numeric form fields (#1826) (e6146e5)
- update NFO parsing to include studio field (#1828) (9c48ea3)
- web: expose library subpages in mobile bottom navigation (#1825) (3410750)
Reverts
Fixed an issue where newly created groupings weren't properly initialized with an 'ok' state, and corrected the qsv setpts filter to only apply to software-based encoding.
Fixes HLS stream management, program deduplication, hardware acceleration scaling, mobile UI layout, and search filter rendering.
Fixes audio format dropdown behavior, channel edit form caching, and NFO file parsing for TV show metadata extraction.
- 480p and 576p resolution support
- Improved filler picker randomness
- Mobile container optimization
Allows users to remove or reset loudnorm audio configuration for more flexible audio processing control.
- Support for loudnorm parameters in FFmpeg pipeline
Multiple fixes for hardware acceleration filters, smart collection parsing, discontinuity handling, channel icon preview, and system page changelog display.
Resolves HLS discontinuity generation, QSV overlay frame handling, filler cooldown timing, and system font rendering on error screens.
Fixes custom show persistence, discontinuity counting, slot schedule state management, VAAPI tonemapping, QSV pixel formats, and segment client cleanup.
Converts advanced transcode options form to new form library, addressing form state management issues.
- Block shuffle support in custom shows
- Program detail modal on pages
- Improved channel duration calculation
Fixes search filter normalization, multi-season ordering, title change tracking, Plex item selection, channel duration calculations, and guide cache management.
Fixes channel lineup migration process and local episode thumbnail handling for proper poster selection.
Eliminates search filter normalization race conditions and duplicate filtering issues affecting search accuracy.
- Better audio passthrough labeling
- Granular audio output option handling
Improves scheduler DST handling, prevents channel start time resets, fixes slot editor API schema handling, and resolves smart collection and lineup generation issues.
Corrects pixel format plumbing for local video transcoding ensuring proper hardware acceleration compatibility.
Fixes search index inclusion for show studios, Plex photo playlist parsing, and custom show query cache invalidation.
Fixes search query-to-string mapping and grouping precedence preservation for accurate search filter representation.
Improves release date consistency across all content sources and fixes invalid date handling in search UI.
- Tag and show_tags fields in search builder
Allows saving virtual fields in smart collections, prevents backup task errors, ensures subtitle extraction resilience, and improves search sort order.
Fixed search filtering and smart collection materialization issues. Specifically, wrapped string values in quotes in searchFilterToString, mapped the 'year' virtual search field correctly, and implemented the 'use proper start offset' for filter-only smart collections during materialization.
Fixed a bug that prevented the build-time constants from being properly generated during the build process.
Fixed issues with titles not remaining visible in the random slot table after saving, smart collection creation in dialogs, and implemented automatic local media scanning when creating or updating local media sources.
Fixed an error where system settings changes triggered "sonic boom is not ready yet" messages.
Fixed smart collections functionality with keywords and the new search experience, and ensured tags are properly persisted during scanning processes.
Fixed an invalid default logroll configuration in the general settings form.
- Local music track library scanner
- Select specific seasons for show slots
- Visual search editor reimplementation
Full changelog
1.1.0 (2026-01-16)
Features
- server: implement simple log roller (#609) (ab36246)
- add local music track library scanner (#1585) (580091a)
- ingest Plex labels field as tags (#1584) (5584978)
- search: index all audio and subtitle languages (453a080)
- add ability to select specific seasons for show slots (#1567) (b807c8e)
- reimplementation of a visual search editor (#1533) (5dbb9b0)
- scan plex collections periodically and persist membership as tags (#1576) (5c13659)
Bug Fixes
- extract audio title tag when probing local files (42659b7)
- fix derivation of Plex collection subtype (9e9b005)
- multiple fixes to NFO parsing to be more permissive (cdb1ba6)
- passthrough color information from Plex (3755ecc)
- remove video stream presence restriction for Jellyfin items (d59b1f2)
- remove video stream restriction from Emby (ed7381a)
- sort nested program queries by index (a0a13b3)
- add audio volume filter back to ffmpeg pipeline (1e6a46c), closes #1582
- apply tag values to denormalized parent/grandparent search index fields (50408bb)
- be more permissive about deriving / accepting program hierarchies (8be211d)
- correctly mint ContentPrograms for unsaved channel programming (b9143d2)
- fix zero channel durations if detected at stream time (2bb4231)
- properly extract librarySectionID from other plex item types (5946299)
- fix selecting items from local libraries when editing channels (#1592) (b48e54b)
- fix show_tags virtual field to match actual definition (74ed6f7)
{ "summary": "Restored audio volume filter to the ffmpeg pipeline and improved program hierarchy derivation. Fixed issues with ContentPrograms for unsaved channel programming, zero channel durations during stream time, and improved the acceptance of program hierarchies.", "summary_short": "Restored ffmpeg audio volume filter and fixed channel duration and ContentPrograms issues.",
Fixed issues with Emby episode scanning, search index restoration from snapshots, and disabled the experimental search index memory flag by default.
Fixed a bug where season scanning would stop prematurely if an individual season was unchanged. Also, implemented logic to strip leading 'v' from version strings during the build process.
Fixed an issue on macOS where the tunarr data directory was not being created on the first run if it currently does not exist.
Added missing virtual field mappings for video/audio fields, improved API schema validation for invalid release dates/years, and implemented architecture-specific meilisearch binary searching.
Added a missing build dependency for meilisearch installation, populated subtitle language metadata from ffprobe, and corrected the image URL usage for locally scanned libraries in EPG.
{ "summary": "Fixed a bug where the backup task ran immediately on server start, prevented search engine failure when using quotes in search values, and corrected a typo in the MediaSourceSettingsPage description.", "summary_short": "Fixed backup task startup behavior, search value quotes, and MediaSourceSettingsPage typo.", "summary_short": "Fixed backup task startup behavior, search value quotes, and MediaSourceSettingsPagetypo.", "summary_short": "Fixed backup task startup behavior, s