Major release: full rewrite of the fuzzy matcher using Lineuparr's 4-stage pipeline, new EPG-matching logic, and a Dispatcharr v0.20.0+ UI overhaul.
Highlights
- New fuzzy matching pipeline — alias → exact → substring → token-sort, with length-scaled thresholds and token-overlap guards. Regional differentiation (East/West/Pacific, Pacific ≡ West) applied automatically when a channel explicitly carries a regional marker, even with `ignore_regional_tags=true`.
- Built-in alias table (~200 entries) + user `custom_aliases` JSON override. Handles common rebrands (EPIX → MGM+, MSNBC → MS NOW, getTV → GREATTV, Justice Network → True Crime Network) and abbreviations (FS1, FS2, CSPAN, FNC).
- Upgraded Auto-Match scoring — the weighted structural pipeline (callsign 50 / state 30 / city 20 / network 10) now competes with the fuzzy pipeline in parallel and takes the higher score. Identical-name matches score 100 instead of being capped at 50.
- Scan & Heal walks ranked candidates and picks the first replacement with actual program data.
- Performance — per-run EPG attribute cache eliminates ~63M redundant regex calls. Auto-match on a 21,480-EPG / 2,950-channel database completes in ~7–8 minutes.
- Dispatcharr v0.20.0+ GUI — section dividers, help text, placeholders, textarea inputs for multi-value fields, color-coded action buttons with confirm dialogs, plugin logo.
- Automatic settings preservation — Dispatcharr's `PluginConfig` handles persistence across updates; no custom code.
Breaking changes
- `ignore_regional_tags=false` now actively filters candidates (East cannot match West-only, etc.), not just normalization. The default remains `true`.
- Version scheme adopts Lineuparr-style `1.YY.{DDD}{HHMM}` (day-of-year + 24h local time).
- `min_dispatcharr_version: v0.20.0` — older Dispatcharr versions may not render the new UI primitives.
Installation
- Download `EPG-Janitor.zip` below
- In Dispatcharr: Plugins → Import Plugin, upload
- Enable the plugin
- Existing settings from previous versions are preserved automatically
Settings preserved from prior versions
All setting IDs from 0.7.0a are unchanged. The new `custom_aliases` field defaults to empty (built-in aliases still apply).
Full diff: 0.6.1...v1.26.1021323