github Pharaoh-Labs/teamarr v2.18.0

7 hours ago

πŸ“œ License

  • Teamarr is now AGPL-3.0-only (releases before v2.18.0 were MIT). New CONTRIBUTING.md with contributor terms, and the app footer links to the exact build's source (#832, #776)

✨ New Features

  • Managed team channels β€” opt-in per Team EPG team: Teamarr creates and keeps a persistent Dispatcharr channel in a dedicated numbering range, attaches matching streams only during game windows, and keeps the team guide bound between games β€” thanks @sethwv (#810, #826)
  • Bulk-set managed channels β€” select rows on Team EPG and use the new Managed Channel action (#844)
  • F1 race feeds β€” per-driver onboard, pit-lane, tracker and timing channels on the exception-keyword engine; roster harvested from ESPN each cache refresh, default Ignore until you opt a driver in; GP-less Apple TV / F1 TV stream shapes bind by roster or timestamp (#245)
  • Exception keywords match EPG programme titles too, not just stream names β€” thanks @lpukatch (#829, #841)
  • {conference_abbrev} wildcard for channel group and profile patterns; patterns with an unresolved conference token are skipped instead of producing a junk group β€” thanks @lpukatch (#777, #816)
  • NCAA lower divisions are opt-in per league (D-II/D-III, and women's volleyball Non-D-I) β€” thanks @lpukatch (#811, #812)

⚑ Enhancements

  • Hockey moves to Bell Media: CHL, OHL, WHL, QMJHL, AHL and PWHL now come from the TSN widget API; a v96 migration rewrites saved team selections and retires HockeyTech-keyed managed channels, which are recreated on the next run β€” thanks @sethwv (#827)
  • ESPN fetches the D-1..D+1 event window in one ranged scoreboard call instead of three (#808)
  • Failure reasons are more honest: event_beyond_window (the stream's date is past your look-ahead) and fixture_league_not_subscribed (both teams share a league you haven't subscribed) replace misleading verdicts β€” thanks @lpukatch (#791, #796)

πŸ› Bug Fixes

  • Extracted team names are refined against the known team index before scoring, so competition labels, network suffixes, venue tails and pipe metadata stop poisoning matches (#799)
  • Exception keywords never fire on a word the matched event is named with β€” a Spanish keyword no longer drops the Spanish Grand Prix (#803)
  • Racing single-event matching needs a series or session word; cycling "Grand Prix" streams stop attaching to the F1 weekend (#804)
  • Stan Sport's Olympiakos Piraeus matches ESPN's Olympiacos β€” thanks @lpukatch (#845, #846)
  • City translations apply to provider team names too: NΓΌrnberg, Hannover, Sevilla, KΓΈbenhavn match again β€” thanks @lpukatch (#797, #798)
  • Bare club names that exactly equal a different team (Roma) no longer veto real fixtures β€” thanks @lpukatch (#789, #794)
  • Custom-regex league captures resolve to league codes instead of filtering valid streams as league_not_included β€” thanks @lpukatch (#820, #824)
  • Two-letter team codes (TB vs DET) parse as separator sides β€” thanks @lpukatch (#821, #823)
  • @ <date> tails are no longer read as a game separator β€” thanks @lpukatch (#787, #792)
  • Nine more common-word abbreviation codes stopworded (day, sun, red, old, may, big, top, pay, run) β€” thanks @lpukatch (#788, #793)
  • NFL schedule prefixes are stripped from matchup streams β€” thanks @sethwv (#783, #784)
  • Generated preview prose uses the article and plural verb only for plural mascots (The Bills visit the Dolphins, Arsenal visits Chelsea) β€” thanks @lpukatch (#785, #815)
  • No-schedule filler no longer renders an empty next-game line; idle overrides render independently β€” thanks @sethwv (#837, #838)
  • Bell Media team logos restored β€” thanks @sethwv (#839, #840)
  • Media-server refresh toast progress simplified β€” thanks @sethwv (#786)
  • Date-dependent Dayton short-code test fixtures no longer expire β€” thanks @lpukatch (#813, #814)

πŸ”§ Under the Hood

  • Generation pipeline modularization, packets 0–2: facade characterization tests, run-scoped SportsDataService, pipeline models β€” thanks @lpukatch (#830)
  • Schema v96 Β· dependency bumps (ruff, npm minor/patch group, action-gh-release)

Don't miss a new teamarr release

NewReleases is sending notifications on new releases.