github Vateron-Media/XC_VM 2.7.2

3 hours ago

🚀 XC_VM v2.7.2

🚀 Major load balancer, cluster and streaming improvements

This release introduces a new PHP-free operating mode for load balancers, advances the cluster architecture with a standalone Go frontend, and delivers extensive improvements to security, streaming reliability, installation, and administration.

✨ Major Changes

🚀 PHP-Free Load Balancers

  • Serve-only mode — load balancers can now run without PHP, using a standalone Go frontend as their sole HTTP listener.
  • Simplified runtime — removes the HTTP nginx backend and PHP-FPM from serve-only nodes while preserving RTMP, supervisor, and CLI functionality.
  • Safer provisioning and recovery — improves installation, service startup, rollback, and transitions between serve-only and standard configurations.
  • Standalone node operations — introduces a root-owned helper with restricted privileged operations and dedicated contract tests.

🌐 Cluster Architecture

  • Signed node configuration — adds sealed, signed per-node gateway policy replicas and XCVT v2 support for pinned load-balancer configurations.
  • Portable stream runtime — introduces portable transcoding specifications and runtime directives for serve-only nodes.
  • Improved recovery — strengthens node lifecycle recovery, stream runtime reconstruction, state reconciliation, and cluster admission handling.
  • More reliable synchronization — improves node identity handling, activation-key persistence, RPC execution, and cleanup of deleted-server enrollments.

📺 Streaming and Gateway

  • Expanded gateway integration — adds integration work for VOD, timeshift, subtitles, and thumbnails.
  • Provider previews — allows channel previews and source probing before adding providers.
  • Ministra playlist support — adds an optional playlist block for Ministra users.
  • Improved VOD matching — handles series names in multiple languages, accents, and TMDb metadata more reliably.
  • Stream lifecycle fixes — improves restart scheduling, runtime recovery, viewer statistics, and handling of stalled segment reads.

🛠 Fixes

  • Fixed nginx port updates, duplicate listeners after IPv6 upgrades, and configuration repair concurrency.
  • Improved HTTPS certificate synchronization with restrictive permissions, validation, temporary files, and atomic replacement.
  • Fixed serve-only startup and downgrade edge cases, including unnecessary PHP-FPM watchdog restarts and stale configuration files.
  • Improved cluster recovery from incomplete lifecycle records and missing runtime state.
  • Fixed dashboard active-user totals and reseller stream-client counts.
  • Improved Ministra device binding, user-agent restrictions, reseller authorization, and serial-number guessing protection.
  • Fixed administration table menus overflowing the visible window and restored the EPG Force Reload action.
  • Added defensive checks for missing activation keys, null values, and unavailable server mappings.

🔒 Security

  • Restricted privileged sysctl operations to explicitly authorized keys.
  • Added an argument-restricted root helper and narrowly scoped sudo permissions for serve-only nodes.
  • Hardened certificate handling against truncated files, unsafe permissions, and partial updates.
  • Restricted node crontab modifications to an allowlist.
  • Improved cluster configuration validation and fail-closed behavior when required node data is invalid.

♻️ Refactoring

  • Moved serve-only runtime execution toward a standalone Go frontend without an nginx/PHP-FPM fallback.
  • Improved separation between MAIN-managed cluster configuration and node-local runtime state.
  • Expanded portable stream specifications to reduce dependencies on MAIN-specific state.
  • Improved reseller controller organization and runtime configuration handling.

🔧 Maintenance

  • Updated the required PHP version to 8.3, matching the shipped runtime.
  • Improved load-balancer binary updates and release artifact ordering.
  • Updated PHPStan and GitHub Actions artifact upload dependencies.
  • Expanded automated coverage for serve-only provisioning, privilege boundaries, downgrade recovery, cluster activation, and nginx configuration.
  • Improved streaming test fixtures and CI documentation.

📚 Documentation

  • Added the Xtream Codes OpenAPI 3.1 reference, organized into separate API specifications.
  • Added the PHP 8.3 upgrade guide.
  • Expanded documentation for serve-only load balancers, cluster provisioning, XCVT v2, and xcvm_core.
  • Clarified CI prerequisites, local extension coverage, and translation workflows.

XC_VM v2.7.2 focuses on a more independent load-balancer runtime, stronger cluster security, and more reliable streaming infrastructure. The commit history also contains work associated with the planned v2.8.0 gateway phase; this summary does not imply that every planned feature is complete.

Don't miss a new XC_VM release

NewReleases is sending notifications on new releases.