Skip to content

v2.16.0

Latest

Choose a tag to compare

@egyptiangio egyptiangio released this 08 Sep 23:50

πŸ› 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