Teamarr v2.7.0 — a big release centered on a UI/UX information-architecture overhaul, a game-thumbs base URL system, and a template-builder refresh, plus mobile support and several community contributions.
✨ New Features
- Game-Thumbs base URL — set your artwork host once; templates store only relative paths and full URLs are built at generation time (and applied to both the EPG icon and the Dispatcharr channel logo). Existing templates are migrated automatically.
- Stale source detection & cleanup — Teamarr surfaces event groups whose Dispatcharr source is gone and lets you batch-delete them.
- Live artwork preview in the template editor — renders the actual game-thumb/logo image so you can confirm the URL resolves.
🎨 UI/UX
- Information-architecture overhaul — a clearer 5-step flow: Settings → Sources → Subscriptions → EPG → Channels, with consistent sub-navigation throughout.
- Mobile friendly — responsive tables (card-stack on phones), hamburger navigation, and responsive forms — thanks @lpukatch (#241, #235).
- Template builder refresh — decomposed and modernized: Lucide iconography, segmented-control tabs, shared primitives, Event-first creation, and de-emphasized team templates.
- Dashboard health strip + redesign, Subscriptions/Matching/EPG/Channels reorganization, and a single "Matched %" health stat.
🐛 Bug Fixes
- Channels DVR EPG now refreshes reliably — auto-derives the XMLTV lineup and logs every refresh branch.
- Game-thumbs/art URLs are now applied everywhere (EPG icon and Dispatcharr channel logo), fixing logo/guide mismatches.
- Alias/hint sections no longer collapse when you add or remove an entry.
- Fuzzy matching for named combat events (UFC/Boxing without a standard number) — thanks @lpukatch (#239).
- Feed pattern now matched after the team name to prevent false matches — thanks @lpukatch (#234).
- International country-name resolution — thanks @lpukatch (#233).
⚡ Enhancements
- Custom Patterns: standard regex named-group syntax + Apply-to-Form save — thanks @lpukatch (#236).
- Final events are always included in the EPG (removed the toggle).
- TSDB cache prewarm skips premium-only leagues when no premium key is set.
🔧 Under the Hood
- Deterministic
uvbuild + gzip compression — thanks @lpukatch (#237). - App-wide primitives consolidation (SubNav, CollapsibleSection, Alert, SaveButton, Card, Table, RadioCards, ToggleCard, ResponsiveTable).
- Schema v76 with automatic art-URL migrations; full templating documentation pass.
What's Changed
- make sure home/away feed pattern is AFTER team to prevent false matches by @lpukatch in #234
- Add automatic international country name resolution for team matching by @sethwv in #233
- add mobile navigation by @lpukatch in #235
- Support standard regex named groups in Custom Patterns by @lpukatch in #236
- chore: optimize docker build and add gzip middleware by @lpukatch in #237
- add fuzzy matching for event cards by @lpukatch in #239
- Changes to make the app more mobile friendly by @lpukatch in #241
Full Changelog: v2.6.1...v2.7.0