Highlights
v2.20.0 fixes a batch of matching, guide and channel-sync bugs, gives you control over database growth and exception-keyword precedence, and adds a game-day lifecycle and grouping options for managed team channels.
π Bug Fixes
- New channels reach Channels DVR, Emby and Jellyfin with their guide. Each run now links only new or changed channels to their EPG data and waits for Dispatcharr to parse their programmes before refreshing media servers, instead of leaving a new channel with an empty guide until a manual refresh (#855)
- Stale streams are detached when a source has no current matches, so a rotated stream no longer stays on a channel it no longer belongs to (#907)
- College games are no longer rejected from their own league when ESPN renames a team or its team list is missing a program. The matcher now learns each league's teams from the schedule itself (#912)
- FloSports streams are matched by their sport (
flofc:,flovolleyball:,flohockey:β¦) and no longer land on another sport's game between the same schools (#923) - Field hockey is no longer treated as ice hockey, and a weekday before the date (
β¦ at Maryland Sun @ Sep 27) or anEn EspaΓ±ol-prefix no longer sticks to the team name (#925) - Exception keywords: a stream attached before a keyword existed is now moved off the main channel even when the keyword channel was created by a different source (#929)
- Reconciliation no longer reports every all-profiles channel as drift on every run (#910)
- Linear channels with no guide now report "No guide found for this stream" instead of "team streams disabled" (#877)
- Managed team channels: stream-priority rules that read the database, such as team-feed rules, apply again (#938)
- Playoff series: the series summary uses the active playoff series instead of the finished regular-season one (#920) β thanks @lpukatch (#921)
β¨ New Features
- Game-days lifecycle for managed team channels: a team channel can appear on game day and disappear when idle, keeping its number, tvg-id and logo in between. Set globally under Channels β Numbering, with a per-team override (#904)
- Tag streams by where they come from: exception keywords can match on M3U group, a stream-name regex, an event group or pinned streams, and
{exception_keyword}works as a channel group and profile wildcard (#893) β thanks @northernpowerhouse (#900) - Playoff badges:
{series_game},{series_score}and{series_summary_short}template variables, plus artwork and channel-logo overrides on condition rows (#915) β thanks @lpukatch (#914) - Run history retention and Compact Database: choose how long per-stream match detail and run summaries are kept, and reclaim disk space on demand under Settings β Advanced (#906)
β‘ Enhancements
- Exception keyword precedence: an Ignore keyword now always wins when several keywords match a stream, and the rest follow an order you set in the Exception Keywords card (#931)
- Per-league playoff and All-Star handling: override "Include all playoff & All-Star games" per league under Channels β Dispatcharr Output β Per-League Channel Config (#881)
- Team channel grouping: keep managed team channels in their own channel group (default) or group each with its league's per-league channel group (#933, #940) β thanks @lpukatch (#935)
π§ Under the Hood
- Declarative planning groundwork: thin generation facade, versioned plan contracts, and managed-channel ownership and adoption (#830, #902) β thanks @lpukatch (#901, #903, #905)
- Cut Release now also publishes the
:devimage (#898) - Dependency updates (frontend minor/patch, ruff, GitHub Actions)
Upgrade notes
- The database schema moves to v97 automatically on first start.
- Per-stream match detail is now kept for 7 days by default (run summaries for 30). The first run after upgrading removes older detail in batches. The database file does not shrink until you run Compact Database (Settings β Advanced), which needs free disk space roughly equal to the compacted size.
- An Ignore keyword now beats every other keyword. A stream that matches both an Ignore keyword and, say, a 4K keyword is ignored; previously the alphabetically first label won.
- Field hockey, water polo, wrestling and similar Flo streams are now filtered as unsupported sports instead of appearing as failed matches.