Skip to content

Release 5.0.0

Compare
Choose a tag to compare
@byjg byjg released this 27 Oct 15:59
· 3 commits to master since this release
0f0490d

This release includes several changes to update PHP version compatibility, introduce new configurations, and refactor the codebase for better type safety and modern PHP practices. The most important changes include updating the PHP versions in the PHPUnit workflow, adding new run configurations, and refactoring code to use stricter type declarations and enums.

Breaking Changes

Method Changed To
IteratorFilter::addRelation() IteratorFilter::and()
IteratorFilter::addRelationOr() IteratorFilter::or()
class Relation enum Relation

PHP Version and Configuration Updates:

  • .github/workflows/phpunit.yml: Updated the PHP versions matrix to include "8.3" and removed "8.0" and "7.4".

New Run Configurations:

  • .run/PSalm.run.xml: Added a new run configuration for PSalm.
  • .run/Test Project.run.xml: Added a new run configuration for PHPUnit.

Codebase Refactoring:

  • composer.json: Updated PHP requirement to ">=8.1" and updated dependencies to newer versions. Added autoload-dev for test namespaces.
  • src/AnyDataset.php: Refactored class to use strict types, updated method signatures, and replaced deprecated methods. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
  • src/Enum/Relation.php: Converted Relation class to an enum for better type safety.

Other Improvements:

  • example.php: Updated method call to use and instead of addRelation.
  • src/Formatter/BaseFormatter.php, src/Formatter/FormatterInterface.php, src/Formatter/JsonFormatter.php: Updated method signatures to use strict types and added type hints. [1] [2] [3] [4]

These changes collectively improve the codebase by ensuring compatibility with newer PHP versions, adding helpful configurations for development, and enforcing stricter type safety throughout the code.

Full Changelog: 4.9.2...5.0.0