v2.3.0
Pre-release
Pre-release
🚀 XC_VM v2.3.0
⚠️ Important Upgrade Notice
Before updating to XC_VM v2.3.0, make sure to update all XC_VM binary files (nginx, php, and related binaries) on your server to the latest version. Running the new release with outdated binaries may cause compatibility issues or unexpected behavior.
✨ New Features
- Licensing: Added module license renewal functionality with full UI support.
- GeoIP: Auto-fetch GeoLite2 (City, Country, ASN) databases during installation and updates.
- UCS Integration: Added
rUserIDas the 6th parameter ofgetStreamingURL(). - PHPStan: Added static analysis infrastructure and constants stub generation.
🐛 Bug Fixes
- Bootstrap: Wired database into domain service classes before core initialization.
- TMDB: Resolved
TmdbService/TMDbServiceclass-name collision causing fatal errors. - TMDB: Corrected entity
get()return type declarations. - Database & Dropbox: Declared variadic bind parameters and corrected
$expirestype handling. - ConnectionTracker: Fixed accidental
==typo and correctedThread $processinitialization type. - Profile: Fixed GPU scale/deinterlace dead code by mirroring CPU branch logic.
- EPG: Added
strtotime()validation before offset calculations and fixed dynamic constant names. - User: Fixed undefined
$rUserreference inUserService::massEdit()owner guard. - Modules: Completed
listModules()return structure (source,versions). - PHPStan: Resolved return contract issues, argument/by-reference type mismatches, undefined variables/keys, and invalid value types (988 → 498 issues).
🔄 Refactoring
- None.
📚 Documentation
- DocBlocks: Added English DocBlocks across domain layer and core/infrastructure subsystems.
- UCS Integration: Added README documentation.
- CONTRIBUTING: Documented
make phpstanand baseline workflow. - PHP Conventions: Updated guidelines for strict types and namespaces.
🔧 Maintenance
- CI: Added PHPStan static-analysis workflow with frozen baseline.
- CI: Enhanced Semgrep security scanning with baseline commit resolution.
- CI: Updated
actions/checkoutv6 → v7. - CI: Updated
actions/upload-artifactv4 → v7. - CI: Updated
softprops/action-gh-releasev2 → v3. - Repository: Added Git LFS tracking.
- Repository: Added
CODEOWNERS. - Repository: Added
SECURITY.md. - Repository: Added new CI workflows.
- Testing: Added in-memory SQLite test harness and sample repository test.
- Templates: Removed redundant sections from the Pull Request template.
🔄 Other Changes
- 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
New Contributors
- @hserver71 made their first contribution in #128
Full Changelog: 2.2.2...2.3.0