🐛 Bug Fixes
- Feed separation now routes team streams (e.g.
MLB | Miami Marlins) into that team's feed channel instead of the shared base channel (#559) - Little League Baseball streams no longer land in MLB channels — LLB streams are league-hinted and hard-scoped (#560)
- Stale Dispatcharr channel-profile selections no longer fail every channel create and spawn duplicate channels — ids are validated each run with a clear warning and safe fallback (#565, root cause of #538)
- Tennis subscriptions respect "majors only" — tennis leagues no longer leak into generic team-matching (#541)
- Dispatcharr-as-a-stream-source: streams are now added for programmes titled by competition only, via an EPG description fallback (#540)
- Learned stream-date formats are ranked by cluster tightness, fixing day-first sources mislearned on ambiguous dates (#553)
✨ New Features
- Little League Baseball (LLB) as a supported league (#556)
- WPBL (Women's Pro Baseball League) as a supported league (#284)
🔧 Under the Hood
- Generalized double-encoded-UTF-8 (mojibake) repair — thanks @ndevries84 (#537)
- Documented measured TSDB free-tier behavior (#545)
- Dependency updates, including a postcss security fix
Note: with Feed Separation + Detect Team Names both on, team streams migrate from base channels into feed channels on the first generation after upgrading.