Releases: matecat/xml-dom-parser
Releases · matecat/xml-dom-parser
v2.0.0
v2.0.0 Release Notes
🚀 Major Release - PHP 8.3 Modernization
This is a major release that brings full PHP 8.3 support with strict typing, improved code quality, and a modernized test suite.
⚠️ Breaking Changes
- Minimum PHP version raised to 8.3 - This version requires PHP 8.3 or higher
- PHPUnit upgraded to v12 - Test suite now uses PHPUnit 12
- Stricter type enforcement - All classes now use PHP 8.3 strict typing features
✨ New Features
- ValidationResult class - New dedicated class for handling XML validation results
- DomDependecyMissingException - New exception for missing PHP DOM extensions
- Enhanced Config class - Improved configuration with PHP 8.3 constructor property promotion
🔧 Improvements
- PHP 8.3 Strict Mode - All classes updated to leverage PHP 8.3 syntax and strict typing
- PSR-12 Code Style - Codebase reformatted to comply with PSR-12 coding standards
- Reduced Cognitive Complexity - Refactored complex methods to improve maintainability
- Comprehensive README - Expanded documentation with usage examples and API reference
🧪 Testing
- Reorganized Test Suite - Tests moved to
tests/Matecat/Tests/XmlParser/namespace - Base Test Class - New
Baseclass providing common test utilities - Expanded Test Coverage - Added
XmlLoaderTestand expandedHtmlParserTestandXmlParserTest
📦 Dependencies
- PHP >= 8.3 (required)
- ext-dom (required)
- ext-xml (required)
- ext-libxml (required)
- phpunit/phpunit ^12 (dev)
- phpstan/phpstan @stable (dev)
🔍 Static Analysis
- Added PHPStan configuration (
phpstan.neon) - Code passes PHPStan static analysis
📄 Documentation
- Updated LICENSE to LGPLv3
- Added comprehensive README with:
- Installation instructions
- Usage examples for XML, HTML, and fragments
- Schema validation documentation
- Parsed element structure reference
- Exception handling guide
Full Changelog: v1.1.3...v2.0.0
v1.1.3
v1.1.3 Release Notes
🔧 Maintenance Release - PHP 8 Compatibility Fix
This is a maintenance release that addresses PHP 8.0+ compatibility issues.
🐛 Bug Fixes
- Removed deprecated
libxml_disable_entity_loader()- This function was deprecated in PHP 8.0 and caused deprecation warnings. The call has been removed as it's no longer necessary in modern PHP versions where external entity loading is disabled by default.
📦 Dependencies
- PHP >= 5.6 (required)
- ext-dom (required)
- ext-xml (required)
- ext-libxml (required)
📝 Notes
This release maintains backward compatibility with PHP 5.6+ while ensuring forward compatibility with PHP 8.0+.
Full Changelog: v1.0.0...v1.1.3