Sources page folders and auto-arrange, an opt-out for the pre-generation M3U refresh, and a round of matching fixes: team feeds that wandered into other sports, Test cricket day channels losing their guide, keyword channels colliding on one number, and rugby streams landing on hockey games.
🐛 Bug Fixes
- A team's own feed no longer reaches another sport's games. A stream named
Florida Pantherswas being attached to Florida International football channels, andRangersfeeds to Rangers FC, because a team-only stream never met the fixture gate and every word of the NHL name appears in the college one. Team-only streams now go through the same identity check as matchups: a full team name is only ever attached to that team's games, while a barePanthersstays eligible everywhere and the day's games decide. (#1108) - Test cricket day channels keep their guide from day 2 on. Once day 1 of a Test was in the past, its exclusion took every day channel's programmes with it. Exclusions are now per session channel, and a Test day takes the template's custom duration when one is set. (#1117 — thanks for the report, Muppetteer)
- Keyword ordering can no longer put two channels on the same number. When one channel sat in two main/keyword pairs, the second swap reused a number the first had already changed, and several feeds of one game ended up on one number for hours. A channel now takes part in at most one swap per pass; the next run finishes the rest. (#1119 — thanks @xBOBxSAGETx (#1124))
{exception_keyword}resolves in pregame and postgame filler. It worked in the channel name, logo URL and the live programme but came out empty in every filler field, so a[4K]channel's "Coming up" rows and art badges lost their label. (#1136 — thanks for the report, ehrie)- Guide matching names a college team by its school. A
College Footballlisting whose description read "Liberty at Kennesaw State" matched nothing, because the description check wanted the full name or ESPN's short name (Kennesaw St). The school without the mascot now counts. (#1125) - A stream that says "Rugby" or "URC" is never matched to a hockey game.
URC Rugby - Sharks @ Cardiff Bluescould land on the San Jose Sharks on an install that follows no rugby league. Barerugbyis now a sport hint andURCa league hint, so hockey is ruled out before scoring. (#1141) - Channels with time-windowed streams push their stream order only when it differs. They used to push every run unconditionally, nine no-op updates an hour on a typical install. A window opening or closing still pushes. (#1115)
✨ New Features
- Folders and auto-arrange on the Sources page. Group sources into one level of folders by drag, or let Arrange file them by provider, sport or league in one click, with a one-step undo. Each source shows league chips from the last run with its share of matched streams, so you can see at a glance what a source actually feeds. (#1110)
- Setting to turn off the M3U refresh before generation and preview. Settings → Dispatcharr gains an M3U Refresh card. Default on, so nothing changes; turn it off if you refresh your accounts on your own schedule or your provider limits how often it can be hit. (#1120 — thanks @xBOBxSAGETx (#1139))
⚡ Enhancements
- Source order on the Sources page is now purely cosmetic. Drag order used to double as a hidden stream tie-break, so "this source's feed first" could be said two ways that might disagree. Stream priority now lives in Stream Ordering alone; to put one source's feeds ahead of another's, add a Source Group or M3U Account rule there. (#1109)
(Team In-Arena)is a team feed marker. A provider that labels each side's arena broadcast asMagic vs Hawks (Magic In-Arena)now resolves the feed team, so Specific Team's Feed and Feed Side rules see it and Feed Separation can split it.(ESPN In-Arena)stays a shared feed. (#1128)- The run history API Calls column shows a plain total, coloured by outcome. The old calls-per-channel ratio with amber and red bands read as alarming on healthy installs. The count is now muted; amber means a provider rate-limited some calls, red means calls failed outright, and the hover lists which endpoint and status. (#1127)
🔧 Under the Hood
- Pyright baseline back to green: a nullable insert id was passed to the folder read-back. (#1132 — thanks @lpukatch)
- Dependency bumps: Python minor/patch group, npm minor/patch group, Actions group.
Full Changelog: v2.24.3...v2.25.0