🐛 Bug Fixes
- Streams stay on a game that is still being played. Providers with numbered event slots rename every stream for tomorrow while tonight's last game is still on; evening runs used to detach those streams mid-game, or leave a finished game's channel playing the next day's event. (#1174)
- EPG matching no longer skips a stream that has no tvg-id. It now uses the guide assigned to the stream's Dispatcharr channel, or an exact guide-name match. (#1215)
- The match cache survives restarts and the daily cache refresh. It used to be wiped whole on every container start, every daily team refresh and whenever the schedule introduced a new team, so the next run re-matched thousands of streams from scratch. Only the entries that could be affected are cleared now, and a league reset clears them reliably. (#1153, #1184, #1197)
- Scheduled runs are correct across daylight-saving changes — no skipped or stalled hour. (#1185)
- Stream Stats rules score a newly attached stream with its real stats instead of as if it had none. (#1180)
- MMA events with no bout schedule (TSDB promotions such as ONE) no longer start their channel hours late. (#1179)
- F1 Academy streams no longer bind to the F1 weekend, and Sky Sports+ feed names are recognised. (#1159)
- CFL playoff games are picked up from Bell Media. — thanks @sethwv (#1182)
✨ New Features
- Stream ordering for managed team channels: a Team Channels tab in Stream Priority with its own rules per managed team. — thanks @sethwv (#858, #1193)
- New setting: let the top stream change after the event starts. The live pin on slot 1 stays on by default; turn it off to have rules re-order a live channel. (#1187)
- New leagues: UEFA Women's Champions League and NCAA Women's Field Hockey — 180 leagues across 16 sports. — thanks @lpukatch (#1156, #1157, #1168)