Highlights
Two matching bugs fixed — one of them a regression introduced in 2.13.0 that could hide entire leagues — plus NCAA conference filtering and a new rugby league.
🐛 Bug Fixes
- Evening kickoffs no longer vanish for users far from a provider's home region. A 2.13.0 regression meant date membership was decided against the user's local day while events were still fetched by the provider's calendar. Where the two disagreed the event fell through both ends — filtered out of one day, never fetched under the next — making it invisible at every lookahead setting. Serie A and Champions League qualifying disappeared completely for affected users. Event fetching now unions the provider's day buckets before filtering. (#601)
- Cross-sport streams no longer attach to unrelated channels. Streams naming teams from another sport could land on a channel whenever they shared a city — an NHL "Tampa Bay Lightning vs Detroit Red Wings" feed attaching to an MLB "TB/DET" channel. Team names are now resolved to real teams across every known league, and candidates in leagues those two teams could never meet in are rejected. (#599)
✨ New Features
- Conference filtering for NCAA leagues — pick a conference in the Team Importer or the team picker and select everything in it at once. Covers NCAA football and basketball. (#91)
- Super League (English rugby league) added via TheSportsDB. (#595)
🔧 Under the Hood
- First labelled matching regression corpus, including negative cases — matching changes are now measured for precision rather than spot-checked against remembered bugs.
- Raw provider-day buckets get their own timezone-independent cache layer, so the wider fetch costs roughly one extra call per league per run rather than tripling.
- Fixed a timezone fixture in the date-seam tests that was silently reading the host machine's timezone instead of the one under test.