All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
This release now requires PHP 8
Breaking changes:
-
Trying to validate or evaluate an InputObject before the value was set will now throw an
Error
instead of aBadMethodCallException
. If you encounter a property access before initialization error, this is the cause, and it indicates incorrect use of the library. -
InputObject::validate(mixed $value): bool
now has the native parameter type; subclasses should do the same.
This release focuses on supporting newer versions of PHP and minimizing external dependencies.
This will probably be the last version in the 2.x line. The next major version will only support PHP 8, and should further improve type information that's available in modern tooling.
- Test suite: PHP 7.4, 8.0
- Type information has been added in numerous places.
- Migrated from Travis to Github Actions
- Migrated from Coveralls to Codecov
- Tests are no longer exported. Test traits for client code have been moved to
src
so they will still be available in releases. - Code style updated to PSR-12
- Test suite: PHP 7.1
- More tests changes to improve compatibility with PHPUnit 8
- Changes some tests to improve compatibility with PHPUnit 8
- Fixes some erroneously defined PHPDoc type signatures
- Adds PHPStan to CI
- Stops testing against PHP 7.0, which is no longer maintained
- Fixes an issue where default values were erroneously returned where
null
was a valid value
- Fixes regression in 2.1.0 that created a breaking change without an appropriate SemVer bump
- Configures CI
- Adds support for default values on optional parameters
- Exposes additional information about validation errors
- PHP 7 Support
- Adds return types
- Adds scalar type hints
- First stable release (no major changes)
- Adds SafeInputTestTrait
- Changes InputException to extend UnexpectedValueException
- Add ValidationInterface test trait
- Moved InputObjects to a separate repository
- Initial release