Changelog: EPG Janitor (v0.3 to v0.4)
New Features
1. Scan & Heal
A major new feature has been added to find and fix broken EPG assignments.
- Added two new actions: "Scan & Heal (Dry Run)" and "Scan & Heal (Apply Changes)".
- This feature automatically scans for channels that have an EPG assigned but are missing program data (i.e., "broken" EPGs).
- It then intelligently searches all available EPG sources to find a working replacement (one that is validated to have program data).
- Fixes are only applied if the match confidence meets a configurable threshold.
2. Intelligent Auto-Matching & Validation
The core auto-matching logic has been completely rewritten for much greater accuracy and reliability.
- Replaced internal matching files (
networks.json,channels.txt) with a new, more advancedFuzzyMatchermodule. - Auto-matching now uses an intelligent weighted scoring system based on multiple factors extracted from the channel name, including Callsign, Location (City/State), and Network.
- Program Data Validation: This is a critical change. Both "Auto-Match" and "Scan & Heal" will only assign an EPG if they can validate that program data actually exists for that EPG within the "Hours to Check Ahead" window. This prevents the plugin from assigning another broken or empty EPG.
New Settings
Also Remove EPG When Adding Suffix: A new boolean setting. When enabled, the "Add Bad EPG Suffix" action will also remove the broken EPG assignment from the channel at the same time.Heal: Fallback EPG Sources: Allows you to specify a separate, priority-ordered list of EPG sources for the "Scan & Heal" feature to search within.Heal: Auto-Apply Confidence Threshold: Sets the minimum confidence score (default: 95) required for "Scan & Heal" to automatically apply a fix.
Improvements
- EPG Source Prioritization: The "EPG Sources to Match" setting now respects the order you enter the sources. Matches from the first source in the list will be prioritized.
- UI Polish: Added emojis to all setting labels and action buttons for a cleaner, more readable interface within Dispatcharr. (Note: Emojis removed from this changelog as requested, but they were added to the UI labels in the code).
- Robust Filtering: EPG source name filtering is now case-insensitive and properly validates the provided names against the Dispatcharr API.
- Better Logging: All log messages are now prefixed with
plugins.epg_janitorfor easier debugging. - Action Updates: The descriptions for "Auto-Match" and "Add Bad EPG Suffix" have been updated to reflect the new validation logic and optional EPG removal.