Skip to content

v2.14.0

Latest

Choose a tag to compare

@egyptiangio egyptiangio released this 29 Aug 17:57

πŸ› Bug Fixes

  • Fixture gate no longer vetoes college football β€” NCAA soccer's mascotless team names were shadowing every other college sport, rejecting 27% of a Saturday CFB slate (#650) β€” thanks @lpukatch
  • [1080p] / 720p / (4K) tags no longer poison team names β€” one tagged source went from 0/30 to 21/21 matched (#651)
  • Pipe metadata (| 8.29 | ESPN) and apostrophes (Hawai'i) no longer break matching (#652, #653) β€” thanks @lpukatch
  • {today_tonight} says "tomorrow" / the weekday for games not today instead of "today" on early-created channels (#550)
  • Stream Priority "Dispatcharr Group" dropdown no longer drops groups (#633) β€” thanks @lpukatch
  • Channel-source group picker now lists Dispatcharr channel groups (#631) β€” thanks @lpukatch
  • Bullpen proxy disables itself after repeated 401s instead of failing every fetch (#548)

✨ New Features

  • Pinned Blocks β€” channel numbering exceptions: pin number ranges by team, league, or sport with lane-based allocation; manual mode retired from the Numbering page (#333)
  • Tennis EPG programme matching β€” binds a linear channel's programme to a tournament + court or player pair from any EPG field (#642)
  • Tennis fixture gate β€” tournament veto and singles/doubles draw-shape validation (#283)
  • Optional Bullpen proxy support for the provider layer (#548) β€” thanks @sethwv (#635)
  • Support bundle matching signals β€” source_matching_zero and source_matching_degraded flag dead or struggling sources on the first line a triager reads (#657) β€” thanks @lpukatch
  • Media-server refresh health β€” refresh outcomes persisted per run, dashboard warning after consecutive failures, bundle signal (#649)
  • SCHEDULER=off and DRY_RUN=true env flags so a dev instance can run beside prod (#554)

⚑ Enhancements

  • Channel-source fetch pulls curated channels' streams by id instead of walking the whole Dispatcharr catalog β€” 7.6s β†’ 0.08s per run on a 118k-stream install (#647)
  • Failed matches now persist the near-miss diagnosis (closest candidate, both scores vs threshold) and the exclusion reason (#661) β€” thanks @lpukatch
  • Failure taxonomy: filter and skip outcomes are labelled filtered: / skipped: instead of "unmatched"; new candidates_gated reason for candidates never scored (#662)
  • One generation = one run row; per-source breakdown moves onto the run, retiring 23k sub-run rows on a typical install (#645)

πŸ”§ Under the Hood

  • One shared candidate-matching loop for single- and multi-league paths, with a parity test β€” the #627 league-hint hatch now covers single-league sources (#660)
  • Deterministic cache-eviction test replaces a wall-clock ratio that flaked on CI (#656)
  • Beads sync documented as Dolt refs/dolt/data (#597)