github Pharaoh-Labs/teamarr v2.16.0

4 hours ago

🐛 Bug Fixes

  • Jellyfin 12 API-key authentication works again — Teamarr now sends the standard Authorization: MediaBrowser Token=… header instead of the legacy X-Emby-Token that Jellyfin 12 removed (#749)
  • Dispatcharr stream order converges every generation run instead of drifting until a priority changed (#712) — thanks @lpukatch (#713)
  • Rank template variables resolve — TeamStats.rank now comes from ESPN's poll/rankings endpoints, which the team endpoint never carried (#710) — thanks @lpukatch (#711)
  • Dynamic channel-group and profile names with trailing whitespace resolve instead of being re-created and rejected every run (#745) — thanks @lpukatch (#746)
  • Fuzzy matchup false positives rejected: a low-confidence side that shares no meaningful word with the event team no longer binds (Barrie Colts ≠ Erie Otters) (#730) — thanks @sethwv (#731)
  • Single-team abbreviation matching no longer treats stop words like THE as team codes (#705) — thanks @lpukatch (#706)
  • Gracenote category overrides and Pinned-Block league pins work for discovered (league_cache-only) leagues (#709, #720) — thanks @lpukatch (#719, #721)
  • Interactive regex builder keeps digits in team names (#708) — thanks @lpukatch (#723)
  • EPG matching splits ASCII-dash inline titles such as Sport - Team vs Team (#727) — thanks @sethwv (#728)
  • Tennis doubles art URLs keep the pair separator so game thumbnails resolve both players (#699) — thanks @lpukatch (#700)

✨ New Features

  • {division} channel-group wildcard for NCAA football (FBS/FCS) (#717) — thanks @lpukatch (#718)
  • Dispatcharr channel-source stream-profile overrides — the top active stream's override applies, else the global default (#722) — thanks @sethwv (#725)
  • Feed separation (home/away RSN splitting) is scoped per sport (#732) — thanks @lpukatch (#733)
  • Preview modal shows the metadata extracted from each stream name and the real failure reason for misses — thanks @lpukatch (#714)

⚡ Enhancements

  • Generation-run performance pass: EPG resolution inputs fetched once per run (#734), Dispatcharr stream-order pushes and paginated reads run concurrently (#735), the stream-matching candidate loop skips provable non-work (#742), and an optional inverted token index (TEAMARR_TOKEN_INDEX=1) narrows candidates by ~98% with identical results (#747) — thanks @lpukatch (#738, #739, #743, #748)
  • The UI no longer blocks on live Dispatcharr catalog calls: account/group lists and the connection status poll are cached briefly (#736) — thanks @lpukatch (#740)
  • Frontend routes are code-split with a pinned vendor chunk, so the first load ships far less JavaScript and a release invalidates app code only (#737) — thanks @lpukatch (#741)

🔧 Under the Hood

  • Bead issue-id prefix renamed teamarrv2-teamarr- across the tracker and code comments
  • Dependency bumps: npm minor/patch group, Python minor/patch group, CodeQL action

Full changelog: v2.15.0...v2.16.0

Don't miss a new teamarr release

NewReleases is sending notifications on new releases.