v2.3.1
Bug Fixes
- Fix startup crash on existing databases missing
tsdb_tiercolumn — added pre-migration - Fix TSDB API key validation showing "Connection error" — frontend was missing
/v1API prefix - Fix
detect_sport_hint()crash when returning list for multi-sport streams — thanks @thepagan (#169) - Fix NCAA Baseball import failing on
channel_idcollision (#159) - Fix
{league}display for dynamically discovered leagues in sort UI - Fix inline
checkpoint_v43migration to remove deleted import (#158)
New Features
- MLB Stats API provider for Minor League Baseball — Triple-A, Double-A, High-A, Single-A, Rookie — thanks @thepagan (#168)
- TSDB tiered provider model — premium/free tier badges, crown icons on premium leagues, validation endpoint, hot-reload on key change
- Team short_name template variables —
{home_team_short},{away_team_short},{team_short},{opponent_short},{matchup_short}with sample data - Multi-sport hint support — stream names like "English Football League" now correctly match both Soccer and Football
Enhancements
- Event-anchored channel lifecycle overhaul — create/delete timing, pre/post event buffers in hours
- Channel numbering & consolidation settings — auto/manual modes, range configuration, stream consolidation
- Fetch yesterday's events from API instead of cache-only for better coverage
- Svenska Cupen added as TSDB premium league (#160)
UI/UX
- Lifecycle UI: buffer fields aligned below dropdowns, cleaner labels and contextual help text
- TSDB save button now shows "TSDB API key saved" instead of generic "Display settings saved"
- Tier-aware league picker with premium crown badges and warning banner
Under the Hood
- Removed Cricbuzz and cricket_hybrid providers (~1,330 lines) — cricket now fully TSDB-backed
- Documentation overhaul: deleted 30 empty stub pages, fixed variable/league counts, wrote 5 new user guide pages
- Consolidated git remotes (upstream → origin)
Full Changelog: v2.3.0...v2.3.1