What's new
Features
- Zone-based channel variants — channels declaring
"zones": ["East", "West"]in the DB expand to per-zone entries at load time. 33 major US cable networks (FX, FXX, USA, Syfy, Disney Channel, etc.) now have East/West feeds. Closes #25. - Country-restricted matching (opt-in) — only match streams from the same detected country. Covers all 11 shipped country DBs (US/UK/CA/AU/IN/DE/FR/NL/ES/MX/BR).
- Webhook completion notifications — POST a JSON summary (action, counts, CSV filename, dry-run flag) to any HTTP(S) endpoint. Runs in a daemon thread (fire-and-forget).
- Calver versioning —
1.MAJOR.DDDHHMMformat;bump_version.pykeepsplugin.jsonandplugin.pyin sync.
Performance
bulk_createfor all ORM write paths — ~100× faster stream assignment.- CSV export reuses cached match results from the main loop, eliminating redundant fuzzy-match + threshold-variant work.
- ETA calibrated to actual rapidfuzz timing.
- Hybrid sync/background dispatch: jobs estimated under 25s run synchronously so the Dispatcharr UI shows the real completion notification; larger jobs stay background with webhook/WebSocket signalling.
UX
- Action buttons get proper
button_variant,button_color,button_label, and confirm dialogs matching theiptv_checkerpattern. - Completion notifications tightened to single-line plain text (fits the Mantine toast).
Fixes
- Manual runs were incorrectly logged as
Scheduleddue to a positional-arg bug in the action dispatcher. Fixed. - Zone expansion dedupes case-insensitively and warns on malformed
zonesvalues.