Skip to content

Releases: matecat/xml-dom-parser

v2.0.0

16 Feb 15:21

Choose a tag to compare

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 Base class providing common test utilities
  • Expanded Test Coverage - Added XmlLoaderTest and expanded HtmlParserTest and XmlParserTest

📦 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

16 Feb 15:25

Choose a tag to compare

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