Skip to content

Dispatcharr

v0.27.0 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

Published 1mo Media Servers
βœ“ No known CVEs patched
Read the diff β†’ Tool health β†’ What is this tool? β†’

✓ No known CVEs patched in this version

Summary

AI summary

Broad release touches EPG Auto-Match, Schedules Direct, πŸ› Bug Fixes, and ✨ New Features.

Full changelog

✨ New Features

Manual Server Groups for Shared Connection Limits

  • You can now assign M3U accounts to Server Groups so accounts that share the same provider login count against a shared connection limit instead of each account maintaining its own separate counter. (Closes #1137) - Thanks @Goldenfreddy0703:
    • A new Server Groups manager on the M3U Accounts page lets you create, rename, and delete groups and see how many accounts belong to each one
    • The M3U account form includes a Server Group picker with an inline option to add a new group
    • Live and VOD playback both respect grouped limits, including profile rotation when one account in the group reaches its cap
    • Accounts in the same group with different provider logins still maintain separate counters β€” grouping only shares limits when the credentials match
    • Live profile switches move the shared counter when the new profile uses a different login; same-login switches leave the counter unchanged

πŸ”„ Changes & Improvements

EPG Auto-Match

  • EPG auto-matching has been overhauled for large libraries β€” faster, lower memory use, and more reliable results:
    • Single-channel auto-match now runs in the background and reports results over the WebSocket, so large EPG sources no longer hit HTTP timeouts
    • Single-channel and selected-channel auto-match always run, even when a channel already has EPG assigned; match-all still only processes channels without EPG
    • Rematching to the same EPG no longer triggers unnecessary saves or program refreshes
    • Matching streams EPG data instead of loading the full catalog into memory, bounds ML validation to a small candidate set, and skips slow ML when a strong fuzzy match is already reliable
    • Bulk matching uses fewer passes over the catalog and batched database updates instead of one query per channel

EPG Channel Search

  • The EPG picker in the channel editor now works more like a normal search box. - Thanks @FiveBoroughs:
    • Type several words at once (e.g. sky uk) and it finds channels where every word appears somewhere in the name or TVG-ID
    • Word order does not matter, and accents are ignored so decale matches DΓ©calΓ©

Schedules Direct

  • Guide refreshes now fetch schedule data only for mapped channels instead of the entire lineup, reducing unnecessary API calls when unmapped stations change
  • Mapping a channel now triggers a targeted guide fetch so guide data appears immediately without waiting for the next full source refresh
  • Bulk assignment of three or more Schedules Direct stations without guide data queues one batched fetch instead of separate API sessions per station
  • The lineup search country dropdown now loads the full Schedules Direct country list through the backend instead of failing in the browser and falling back to a hardcoded short list. - Thanks @sethwv
  • Program poster images now include the User-Agent header Schedules Direct requires, so posters load correctly instead of failing silently

Plugin Repository

  • Plugin repository manifests now support separate download and metadata base URLs, so repo authors can serve release zips and manifest/icon files from different origins without hard-coding absolute URLs everywhere. Manifests that use only a single base URL behave exactly as before. - Thanks @sethwv

M3U & Live Streaming

  • XC live streams now build upstream URLs from current account credentials at tune-in instead of reusing the URL stored during sync, so playback stays correct after credential or profile changes and when Server Groups rotate between accounts
  • Channel stream switches and live playback now verify pooled connection capacity before switching and clean up stale slot assignments left behind after a channel stops

Database

  • Pooled database connections now rotate on a configurable lifetime (default 10 minutes, overridable via DATABASE_POOL_CONN_MAX_LIFETIME; set to 0 to disable), preventing idle connections from accumulating indefinitely while still reusing warm connections within the window. (Fixes #1343)
  • PostgreSQL connections are now labeled by process role (e.g. uWSGI worker, Celery worker, DVR worker) in database monitoring tools, making it easier to see which Dispatcharr process owns each connection

Performance

  • EPG programme refresh for large XMLTV sources now processes data in batches instead of holding the entire guide in memory first, sharply reducing peak memory use during big EPG updates
  • VOD movie and series matching during sync no longer scans the entire no-ID catalog on every batch β€” lookups are scoped to the current batch, reducing memory and database time per chunk
  • XC live channel refresh releases the full provider catalog from memory sooner and cleans up after each batch, keeping memory use lower during large live syncs
  • Connect event dispatch no longer loads the entire plugin catalog on every client connect/disconnect when no plugins subscribe to the event

πŸ› Bug Fixes

Live Streaming & Channel Teardown

  • Fixed live channels staying running with no clients after disconnect, which could leave upstream connections and provider slots occupied indefinitely
  • Fixed client reconnect during channel teardown wedging the channel across workers, causing reconnect loops and orphaned upstream connections. (Fixes #1342)
  • Fixed channels not stopping promptly when the last client disconnects and then reconnects within the shutdown grace period. The timer now resets from the latest disconnect instead of the first one
  • Fixed zombie ffmpeg processes surviving teardown and immediately recreating Redis buffer data after orphan cleanup ran
  • Fixed rapid channel switching leaving persistent empty buffer entries in Redis
  • Fixed live channels returning errors or failing to start cleanly during active teardown when clients retune quickly
  • Fixed stale stream assignments after a channel stopped causing the next tune-in to skip connection accounting and reach the provider without incrementing counters

Database Connections & Responsiveness

  • Fixed database connection leaks during live streaming, VOD playback, plugin actions, and system event handling that could exhaust the per-worker connection pool and cause 503 errors on unrelated pages under load. (Fixes #1345)
  • Fixed system events and plugin hooks blocking streaming paths while waiting on slow Connect integrations or third-party plugin code
  • Fixed plugin discovery leaving idle database connections open after worker startup
  • Fixed VOD playback and background VOD stats refresh holding database connections for the entire duration of a stream

EPG Auto-Match

  • Fixed incorrect channel assignments from global ML similarity scoring β€” validation now checks the fuzzy best match instead of scoring the entire catalog
  • Fixed the auto-match spinner in the channel editor sticking after errors or early task exits
  • Fixed bulk auto-match completion re-applying every match and queueing redundant program-parse tasks even when assignments were unchanged

Schedules Direct

  • Fixed guide data missing after mapping a channel when schedule cache indicated no changes β€” refreshes now backfill missing dates and fetch program metadata for newly mapped stations. - Thanks @sethwv

M3U Auto-Sync & Channel Numbering

  • Fixed auto-sync numbering modes reading stale Start/End values left behind when switching between Provider, Next Available, and Fixed modes, which could discard valid provider numbers, cap numbering incorrectly, or delete channels that should have been kept. Provider mode now honors provider numbers when free; Next Available ignores End; overflow cleanup runs in Fixed mode only. Duplicate provider numbers fall back to a free slot instead of being dropped. (Closes #1273) - Thanks @CodeBormen

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Dispatcharr

Get notified when new releases ship.

Sign up free

About Dispatcharr

Open-source IPTV stream management platform for consolidating multiple providers, managing EPG data, and sharing content with advanced control features

All releases β†’

Beta — feedback welcome: [email protected]