github Pharaoh-Labs/teamarr v2.10.0
v2.10.0 — Gracenote-Modeled Templates, Stream-Priority Fixes & Date-Aware UFC

4 hours ago

Highlights

The headline is a ground-up starter template overhaul modeled on Gracenote conventions — curated per-sport starter sets, ESPN-editorial-first description chains, neutral-site awareness, and a server-side preview that shows exactly which condition fired. Alongside it: the complete stream-priority/feed-detection fix series, date-aware UFC fetching, and tennis production fixes.

✨ New Features

  • Gracenote-modeled starter templates — curated per-sport starter set (incl. a new Racing starter), article-aware naming, year-composed titles, ESPN-copy-first description chains (#329, #361)
  • Server-side template preview with condition-fired trace — see the real resolver output, not a client approximation (#357)
  • league_is / sport_is template conditions — one template can branch by league or sport (#370 part 1)
  • Neutral-site awareness — ESPN neutralSite ingestion, automatic 'vs' flip, is_neutral_site condition (#365)
  • Marquee/stage noteshas_event_note / has_match_note conditions seeded ('NBA Finals - Game 5', 'FIFA World Cup, Group C') (#363)
  • Composed rank variables{home_team_ranked_the} family (#359)
  • Customizable Gracenote categories — override table + Settings UI (#371)
  • Soccer idle/offseason filler for the Soccer Team starter (#368)
  • Boolean logic & additive scoring for stream priority rules — thanks @smevawala (#262)
  • New leagues: Major League Cricket (#334), Swedish Hockey League (#276)
  • Tennis majors-only subscription toggle (#283)

🐛 Bug Fixes

  • Home/away feed detection — ESPN broadcasts[].market mapping, team-branded channel tokens beyond .tv, fuzzy broadcast names ('Brewers.TV' now reads as the away feed) (#343)
  • EPG-matched stream orderingepg_match rules now apply at attach time, survive UFC segment expansion and keyword moves (#344); dispatcharr_group rules match at all (#379)
  • UFC event fetch is date-aware — future and non-featured cards are now visible; midnight-spanning PPVs kept on both days (#345)
  • Event cache round-trip — odds, MMA fight-result fields, bouts, editorial copy, and neutral-site all survive cache hits (#366)
  • Tennis: court/round feed fan-out guards, deterministic event ids, duplicate-channel fix (#316) and timing alignment (#317)
  • Racing streams with single-word series names no longer misclassify as team-vs-team — thanks @tomwinterrose (#349)
  • Starter-seed scope violations and graceful rank rendering (#354) · Dashboard all-time cache hits (#312) · arm64 Docker builds (#309)

⚡ Enhancements

  • Single-flight cache dedup and shared scoreboard fetches across team-schedule scans
  • Seed-heal deep content fingerprint — user description edits survive title heals (#373)
  • Durable research promoted into tracked docs (#290)

🎨 UI/UX

  • Electric-blue Teamarr logo in the README and docs site, plus a docs favicon
  • Stream-ordering scoring UI with Priority + Scoring sections and explainer
  • Conditions tab now available for event templates; template Usage chips refresh in real time

🔧 Under the Hood

  • Dependabot onboarding: targets dev, supply-chain cooldowns (#308, #309)
  • Issue tracking migrated to beads-on-Dolt

Don't miss a new teamarr release

NewReleases is sending notifications on new releases.