Bug Fixes
- Pregame filler now lands on the correct feed-separated channel. Regression introduced in v2.4.4: when feed separation was active, live programmes correctly emitted to per-feed XMLTV channels (
teamarr-event-{id}-feed-{team_id}) but pregame/postgame filler still emitted to the base event channel, leaving feed-separated channels with no filler and orphaning filler on a parent channel with no live programme. Affected all feed-separated games; national broadcasts (no feed separation) were unaffected. - Stream ordering priority input no longer reorders mid-keystroke (#198 — thanks @mrdynamo). Rows had unstable keys and the input committed on every keystroke, making double-digit priorities impossible to enter. Fixed with stable client IDs and deferred commit on blur or Enter.
- Default Team Filter "Enabled" toggle now actually disables team filtering. The master switch in Settings → Global Defaults was a dead control — the column was written, read, and exposed via API, but no consumer code ever consulted it. Filtering ran regardless of the toggle.
UI/UX
- Optional toggle to show M3U-sourced channel groups in default-channel-group pickers across Settings, Event Groups, and Bulk Import. Off by default (no behavior change for existing users); turn it on if you want M3U groups to appear alongside Teamarr-managed groups.
Under the Hood
generate_event_tvg_iddiscriminators are now required parameters. Dropping the= Nonedefaults onsegment,exception_keyword, andfeed_team_idmeans a future caller that forgets a discriminator gets aTypeErrorat write time instead of a silently-wrong tvg_id at runtime — the exact class of bug that caused this release's filler regression.- New cross-caller invariant tests pin "filler channel_id == live programme channel_id for the same matched stream" so the regression cannot recur silently.
Full Changelog: v2.4.4...v2.4.5