github Vateron-Media/XC_VM 2.5.1
v2.5.1

pre-release4 hours ago

๐Ÿš€ XC_VM v2.5.0

โœจ Major Features

๐ŸŽŸ๏ธ Smart Activation Codes

  • Added a complete Smart Activation Codes system for generating and managing pre-generated subscriber vouchers.
  • Added automatic companion line creation with activation delayed until the code is first used.
  • Added admin and reseller management, including generation wizard, batch management, mass editing and exports.
  • Added an activation portal and public activation API.
  • Added transactional credit handling and audit logging for reseller-generated codes.
  • Added support for dedicated activation-code access routes and portal configuration.

๐Ÿš€ xc_fanout Encoder Supervision

  • Added configurable encoder supervision by xc_fanout, allowing the daemon to run and monitor live encoders instead of spawning a PHP watchdog for every stream.
  • Added the fanout_supervise setting with a safe default of disabled for existing installations.
  • Synchronized the supervision setting into the daemon configuration.
  • Added automatic reconciliation of supervised streams back into the panel.
  • Added health policies, source forcing and daemon-side supervision handling.
  • Added stream command tracking that clearly identifies whether a stream is running under xc_fanout or local FFmpeg supervision.
  • Added stream management safeguards so stop, force and rogue-process cleanup correctly account for daemon-owned streams.

๐Ÿ“ก Reliable Fanout Ingest

  • Added IngestFeeder for reliable delivery of MPEG-TS data from PHP producers into xc_fanout.
  • Prevented short non-blocking socket writes from silently dropping or tearing TS packets.
  • Added buffered retry handling and reconnects after daemon restarts.
  • Added packet-aligned recovery when an ingest connection fails mid-packet.
  • Added bounded backlog management that drops complete old packets instead of blocking the producer.
  • Added support for carrying HLS encryption key/IV information into the daemon ingest path.

๐Ÿ“ก Streaming & HLS

  • Improved daemon delivery for delayed, LLOD and loopback channels.
  • Added proper feed handling for PHP-based producers through the daemon ingest socket.
  • Added enforcement of connection limits and viewer kicks for daemon-managed streams.
  • Fixed VOD and catch-up HTTP byte ranges and seeking behavior.
  • Fixed catch-up routing, proxy-only authentication checks and adaptive variant handling.
  • Fixed live HLS playlists so segment numbers are not unnecessarily renumbered when segment durations exceed 10 seconds.
  • Fixed on-demand startup waits to respect the configured on_demand_wait_time instead of using a fixed delay.
  • Fixed stale PID and monitor state left behind by failed previous runs.
  • Improved HLS sequence handling and stream state initialization.
  • Added support for identifying the producer responsible for each live stream and preventing remuxing through an outdated daemon.

๐Ÿ›ก๏ธ Monitoring & Reliability

  • Improved stream monitoring with FPS-drop based restarts.
  • Improved priority backup source ordering and handling of failed probes.
  • Added fanout health policy and supervision reconciliation.
  • Fixed stream supervision state synchronization between the panel and daemon.
  • Improved stream information population for supervised streams.
  • Added producer, CPU and memory information to the admin streams page.
  • Fixed connection limiting so the correct client connection/IP is used consistently.
  • Improved cleanup of stale process state and asynchronous file operations.
  • Fixed an asynchronous file-cache TTL bug that could keep stale data for far longer than intended.
  • Fixed inotify waits that could block indefinitely when a file never appeared.

๐Ÿ“Š Admin & Configuration

  • Added Fanout Encoder Supervision to the admin Streaming settings.
  • Moved On-Demand Probe Size configuration into the Streaming section.
  • Improved stream management visibility by showing each stream's producer and resource usage.
  • Fixed duplicate per-page selectors on mass delete/edit pages.
  • Added safeguards preventing update and rollback operations from being executed without root privileges.
  • Simplified value retrieval in sourceContext.

๐Ÿ“ Logging & Diagnostics

  • Error logs now record the panel version at the exact time the error occurred, making version-specific troubleshooting much easier.
  • Improved stream diagnostics by explicitly recording whether a process belongs to xc_fanout or local FFmpeg execution.
  • Added documentation covering daemon feeds, viewer kicks, HLS keys and byte ranges.
  • Added documentation for stream supervision and the native remuxer.

๐Ÿงช Testing & Development

  • Added a shared test stream generator with a common TS encoder and keyframe-aligned joins.
  • Added launcher support for synthetic stream testing.
  • Added stronger assertions to fanout configuration tests.
  • Expanded tests around encoder supervision and reliable daemon ingest.
  • Removed obsolete DTS audio test helper scripts after consolidating the test-stream tooling.

๐Ÿ”ง Maintenance

  • Added the required database migration for fanout_supervise.
  • Updated stream process handling and related supervision paths.
  • Integrated upstream/community changes from pull requests #186 and #187.
  • Cleaned up configuration and source-context handling across the affected streaming components.

Don't miss a new XC_VM release

NewReleases is sending notifications on new releases.