Skip to content

Releases: Vateron-Media/XC_VM

v2.3.6

v2.3.6 Pre-release
Pre-release

Choose a tag to compare

@Divarion-D Divarion-D released this 10 Jul 17:12

🚀 XC_VM v2.3.6

✨ Improvements

  • Added automatic Redis health monitoring with auto-restart when the service becomes unavailable
  • Introduced ServerDiagnoseCommand for diagnosing silent MAIN and Load Balancer servers
  • Added automatic proxy package installation and update through the new XC_VM_Proxy release mechanism
  • Improved player MIME type detection for better compatibility across devices and browsers
  • Added configurable pagination options to Episodes Mass Edit
  • Enhanced live stream monitoring with real-time encoding progress
  • Added scripts for generating and testing problematic DTS / AC3 audio streams
  • Improved client log diagnostics by exposing detailed LINE_CREATE_FAIL database errors

🐛 Bug Fixes

  • Fixed daemon monitoring so cron:servers correctly detects and restarts stopped services
  • Fixed Redis configuration synchronization after password rotation
  • Fixed watchdog behavior during temporary database outages
  • Fixed daemon restart logic by properly releasing process locks before respawning
  • Fixed Server Diagnose heartbeat detection to reflect the actual service state
  • Fixed Redis-related failures in admin panels and cron jobs
  • Fixed handling of rotated Redis credentials stored in config.enc
  • Fixed proxy updater to distinguish between GitHub outages and missing releases
  • Fixed duration display in TableController
  • Fixed VOD action handling inside the Admin API
  • Fixed database.sql packaging by removing Git LFS dependency
  • Fixed various UI issues and improved uptime formatting

🔧 Maintenance

  • Updated server diagnostics documentation
  • Added documentation describing FFmpeg build provenance and codec configuration
  • Updated CLI documentation and fixed broken documentation links
  • Updated proxy distribution roadmap documentation
  • Removed proxy.tar.gz from Git LFS
  • Continued internal refactoring and code cleanup

Full Changelog: 2.3.5...2.3.6

v2.3.5

Choose a tag to compare

@Divarion-D Divarion-D released this 08 Jul 11:52

🚀 XC_VM v2.3.5

✨ New Features

  • Added a manual update check for installed modules directly from the admin interface.
  • Added a server update guide and integrated it into the update mechanism.
  • Added a draft Ministra-to-module migration plan to the project documentation.

🐛 Bug Fixes

  • Improved PortalHandler file resolution and added clear error responses when required modules are missing.
  • Improved diagnostics for LINE_CREATE_FAIL by exposing underlying database errors during stream connection creation.
  • Improved reseller workflows by handling optional POST parameters and package output formats more safely.
  • Fixed file cache creation when temporary cache directories are owned by root.
  • Improved network detection by handling invalid cached network data.
  • Hardened array access across multiple admin views and forms to prevent warnings and exceptions.
  • Improved TMDB stability with null-safe entity handling and duplicate library protection.
  • Improved Player API by skipping missing stream cache files and handling null movie properties.
  • Improved streaming stability by validating probe URLs, transcoding metadata, and playlist cache race conditions.
  • Automatically create the image cache directory when required.
  • Fixed cron cleanup logic to safely handle missing connection directories.
  • Allowed Authorization::check() to work correctly with nullable entity IDs.
  • Updated diagnostics log submission to use the correct secure endpoint.
  • Forced browser cache revalidation for JavaScript and CSS assets after updates.
  • Fixed player URL redirects to ensure correct static asset loading.

♻️ Refactoring

  • Removed obsolete Watch/Plex authentication cases, controllers, and views.
  • Removed deprecated database exemptions from the architecture test suite.
  • Improved TMDB title normalization by stripping unnecessary tokens more accurately.

📚 Documentation

  • Added a server update guide.
  • Added documentation outlining the future removal of Ministra as a built-in component in favor of a standalone module.

🔧 Maintenance

  • Continued improvements to platform stability, diagnostics, and update reliability.

v2.3.4

Choose a tag to compare

@Divarion-D Divarion-D released this 05 Jul 18:36

🚀 XC_VM v2.3.4

✨ New Features

  • Integrated the TMDB module directly into the core, eliminating duplicated standard-set copies and simplifying project architecture.

🐛 Bug Fixes

  • Improved player stability by handling potential null values in movie properties.
  • Enhanced image URL validation in the player.
  • Improved resilience against transient database and API failures.
  • Switched internal error reporting to use secure HTTPS communication.
  • Improved backup restoration by validating migration arguments and handling db_restore results correctly.

♻️ Refactoring

  • Extracted player utility functions from the legacy bootstrap to improve code organization.
  • Continued modernization of the codebase by moving TMDB functionality into the core architecture.

🔧 Maintenance

  • Improved internal reliability and maintainability across player, backup, and core services.

Full Changelog: 2.3.3...2.3.4

v2.3.3

Choose a tag to compare

@Divarion-D Divarion-D released this 04 Jul 16:06

🚀 XC_VM v2.3.3

✨ New Features

  • Added secure provisioning of config.enc for Load Balancer nodes during installation.
  • Enhanced the module system with database schema management via migrations, uninstall support, dependency validation, and improved event decoupling.
  • Replaced the MaxMindDB PHP extension with a pure PHP Composer implementation for easier deployment.
  • Added binary version and operating system information to the Settings page.
  • Added a test stream generator for HTTP-served MP4 streams.
  • Added QuietThreadingHTTPServer to improve stream server stability and gracefully handle client disconnects.
  • Improved Load Balancer installation by resetting binary ownership before PHP-FPM startup.

🐛 Bug Fixes

  • Improved module dependency handling and diagnostics during module loading.
  • Fixed EPG cache cleanup to remove only orphaned cache files from previous runs.
  • Fixed module manager calling an undefined method when listing installed modules.
  • Fixed bootstrap initialization when optional domain classes are unavailable.
  • Improved GitHub update reliability by increasing API and connection timeouts.
  • Restored correct ownership of config.enc after services are started as root.
  • Fixed ownership of install_id and config.enc during Load Balancer provisioning.
  • Fixed systemd service description formatting in ServerInstallCommand.
  • Optimized FFmpeg command generation for improved streaming performance.
  • Fixed integer handling in BruteforceGuard flood protection settings.
  • Corrected backup and migration documentation examples.

♻️ Refactoring

  • Centralized domain database access using the new DatabaseAware trait.
  • Introduced a dedicated database wiring layer for domain services.
  • Removed unused Database imports across multiple services.
  • Refactored multiple components to improve readability, maintainability, and internal architecture.

📚 Documentation

  • Added a comprehensive CLAUDE.md project guide.
  • Updated backup and migration documentation with corrected command examples.

🔧 Maintenance

  • Improved installer reliability and provisioning workflow.
  • Continued internal code cleanup and architectural improvements.

Full Changelog: 2.3.2...2.3.3

v2.3.2

v2.3.2 Pre-release
Pre-release

Choose a tag to compare

@Divarion-D Divarion-D released this 30 Jun 19:44

🚀 XC_VM v2.3.2

✨ New Features

  • Added secure provisioning of config.enc for Load Balancer nodes during installation.
  • Enhanced the module system with database schema management via migrations, uninstall support, dependency validation, and improved event decoupling.
  • Replaced the MaxMindDB PHP extension with a pure PHP Composer implementation for easier deployment.
  • Added binary version and operating system information to the Settings page.
  • Added a test stream generator for HTTP-served MP4 streams.
  • Added QuietThreadingHTTPServer to improve stream server stability and gracefully handle client disconnects.
  • Improved Load Balancer installation by resetting binary ownership before PHP-FPM startup.

🐛 Bug Fixes

  • Improved module dependency handling and diagnostics during module loading.
  • Fixed EPG cache cleanup to remove only orphaned cache files from previous runs.
  • Fixed module manager calling an undefined method when listing installed modules.
  • Fixed bootstrap initialization when optional domain classes are unavailable.
  • Improved GitHub update reliability by increasing API and connection timeouts.
  • Restored correct ownership of config.enc after services are started as root.
  • Fixed ownership of install_id and config.enc during Load Balancer provisioning.
  • Fixed systemd service description formatting in ServerInstallCommand.
  • Optimized FFmpeg command generation for improved streaming performance.
  • Fixed integer handling in BruteforceGuard flood protection settings.
  • Corrected backup and migration documentation examples.

♻️ Refactoring

  • Centralized domain database access using the new DatabaseAware trait.
  • Introduced a dedicated database wiring layer for domain services.
  • Removed unused Database imports across multiple services.
  • Refactored multiple components to improve readability, maintainability, and internal architecture.

📚 Documentation

  • Added a comprehensive CLAUDE.md project guide.
  • Updated backup and migration documentation with corrected command examples.

🔧 Maintenance

  • Improved installer reliability and provisioning workflow.
  • Continued internal code cleanup and architectural improvements.

v2.3.1

v2.3.1 Pre-release
Pre-release

Choose a tag to compare

@Divarion-D Divarion-D released this 26 Jun 18:26

🚀 XC_VM v2.3.1

✨ Major Changes

  • Migrated to Composer PSR-4 autoloading, replacing the legacy XC_Autoloader with a modern standards-compliant architecture.
  • Integrated PHPStan into the CI pipeline with a frozen baseline, resolving hundreds of static analysis and type-related issues.
  • Production-only release builds, excluding development dependencies to significantly reduce release size.
  • Continued modernization of the Core / Domain / Infrastructure architecture with dependency injection, EventDispatcher integration, enums, and stricter typing.

🚀 New Features

  • Added automatic generation of a unique self-signed TLS certificate during installation.
  • Improved the module system with versioning, migrations, BaseModule, and #[ListensTo] support.
  • Added automatic download of GeoLite2 City, Country, and ASN databases during installation and updates.
  • Added module license renewal support.
  • Improved HLS startup by optimizing initial segment processing.
  • Added missing Load Balancer admin routes.

🛠 Bug Fixes

  • Fixed numerous PSR-4 autoloading issues, including namespaces, imports, and path inconsistencies.
  • Fixed Public/ vs public/ path issues in nginx configurations and repository metadata.
  • Removed unnecessary closing PHP tags across the codebase.
  • Fixed TMDB integration and related link handling.
  • Improved streaming stability, including initial segment timing and loopback routing.
  • Resolved hundreds of PHPStan findings involving undefined variables, incorrect types, dead code, and other runtime issues.
  • Improved installer reliability with better error handling and binary download retry logic.

♻️ Refactoring

  • Removed obsolete utilities and legacy development tools.
  • Cleaned up imports and namespaces using PHP-CS-Fixer.
  • Expanded and updated project documentation, including migration guides and English DocBlocks.
  • Improved GitHub workflows and release build process.
  • Removed duplicated code and remaining legacy components.

🔧 Maintenance

  • Updated project dependencies, including Mobile Detect, PhpM3u8, M3uParser, and others.
  • Improved CI/CD reliability and security.
  • Updated the Pull Request template.
  • Removed unnecessary development tools from production releases.

📚 Documentation

  • Added a comprehensive Migration Guide.
  • Expanded English documentation throughout the project.
  • Updated architecture documentation to reflect the current project structure.

New Contributors

Full Changelog: 2.2.2...2.3.1

v2.2.2

Choose a tag to compare

@Divarion-D Divarion-D released this 01 Jun 16:38

🚀 XC_VM v2.2.2

✨ New Features

  • Added video duration display in TableController and episode views
  • Added migration support for delete_missing flag in watch_folders and sent flag in panel_logs
  • Enhanced DiagnosticsService with panel_logs sent tracking and improved log submission logic
  • Added Owner ID and Credits fields to user forms with UI improvements
  • Added cleanup logic for missing streams in watch module (delete_missing support)

🐛 Bug Fixes

  • Fixed multiple TypeErrors by ensuring arrays are properly initialized across modules
  • Fixed GroupEditController ensuring $rGroupIDs is always an array
  • Fixed PortalHandler category handling in audioclub, IPTV, VOD, and series
  • Fixed QueryHelper handling of quoted defaults and numeric coercion
  • Fixed PlaylistGenerator file read errors and normalized channel data keys
  • Fixed TableController button HTML rendering for closed status
  • Fixed watch module forced mode behavior
  • Fixed stream_view.php progress button rendering logic
  • Fixed missing curl package in installer dependencies

🔄 Refactoring

  • Removed obsolete modules:
    • magscan module
    • fingerprint module
    • theft detection module (empty legacy module)
  • Streamlined RTMP stream monitoring and connection handling logic
  • Improved module documentation after cleanup changes

📚 Documentation

  • Synced Russian documentation version
  • Updated docs cleanup and backlog sections
  • Improved contributor statistics and security fix tracking in CONTRIBUTORS.md

🔧 Maintenance

  • fix(nginx): reimplement mutli_accept on; by @brettpetch in #115
  • docs(backlog): Add backlogged documentation by @brettpetch in #116
  • Updated installer package list

Full Changelog: 2.2.1...2.2.2

v2.2.1

Choose a tag to compare

@Divarion-D Divarion-D released this 17 May 11:46

🚀 XC_VM v2.2.1

✨ New Features

  • Added binary version tracking and automatic update mechanism
  • Added footer layout rendering support for multiple reseller views
  • Added new server installation command and improved proxy installation flow
  • Improved nginx configuration by switching to reuseport for better scalability and connection handling

🐛 Bug Fixes

  • Fixed truncated recordings and archive scheduling issues
  • Fixed Plex import and force scan stability issues
  • Updated common.js title assignment logic for consistency
  • Improved POST request handling and referer management

🔐 Security

  • Applied fixes related to CVE-2026-42945
  • Hardened nginx configuration and removed deprecated connection handling directives

🔄 Refactoring

  • Removed deprecated nginx directives:
    • accept_mutex
    • multi_accept
  • Simplified request handling logic and internal routing behavior

🔧 Maintenance

  • Merged community pull requests #112 and #113

New Contributors

Full Changelog: 2.2.0...2.2.1

V2.2.0

Choose a tag to compare

@Divarion-D Divarion-D released this 10 May 12:00

🚀 XC_VM v2.2.0

✨ New Features

  • Enhanced module manifest structure and module loader functionality
  • Added daemon lock mechanism for cache, queue, signals, and watchdog commands
  • Introduced dynamic NavbarItem & NavbarRegistry system for flexible navigation management
  • Added module web boot support and migrated Watch/Plex routes
  • Improved routing, streaming gateway stability, nginx integration, and service handling
  • Added browser STB emulation documentation for Ministra

🔄 Refactoring

  • Migrated table routing from AdminTableController to TableController
  • Decoupled legacy Ministra URLs from www symlinks
  • Improved routing architecture and module integration flow

🐛 Bug Fixes

  • Fixed missing global variables in Plex and Watch controllers
  • Improved MD5 hash verification logic in BalancerCommand

📚 Documentation

  • Added documentation for the dynamic navigation menu system
  • Added commit message format and contribution guidelines

🔧 Maintenance

  • Merged PR #109 — Dynamic Navbar System

Full Changelog: 2.1.5...2.2.0

2.1.5

Choose a tag to compare

@Divarion-D Divarion-D released this 01 May 13:26

🚀 XC_VM v2.1.5

✨ New Features

  • Added auto-assign EPG to live streams
  • Added MaxMind GeoIP updater with weekly cron integration

⚡ Performance

  • Reduced database connection churn in streaming and improved DB lifecycle
  • Optimized cron jobs by throttling heavy checks and increasing queue loop default
  • Eliminated spurious TS disconnects by updating hls_last_read during active streaming sessions

🐛 Bug Fixes

  • Fixed LLOD v2 FFmpeg startup delay for on-demand streams
  • Improved URL construction in ImageResizeService
  • Fixed multiple import-related issues

Full Changelog: 2.1.4...2.1.5