🚀 XC_VM v2.3.1
✨ Major Changes
- Migrated to Composer PSR-4 autoloading, replacing the legacy
XC_Autoloaderwith 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/vspublic/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.
- feat(geoip): fetch GeoLite2 (City/Country/ASN) on install and update by @Divarion-D in #126
- Cdn engineer by @hserver71 in #128
- Chore/phpstan integration by @Divarion-D in #129
- Chore/phpstan ci by @Divarion-D in #130
- Chore/psr4 migration by @Divarion-D in #133
- fix(lfs): correct path case for login-bg.mp4 in .gitattributes by @Divarion-D with @Copilot in #134
New Contributors
- @hserver71 made their first contribution in #128
- @Divarion-D with @Copilot made their first contribution in #134
Full Changelog: 2.2.2...2.3.1