4.0.0 Release
Version 4.0.0 of ReallySimpleJWT is a significant release as it makes numerous interface changes to improve the composability of the package. It also upgrades PHP support from version 7.2 and above to version 7.4 and above.
The core Token
class interface mainly remains unaffected by this release, but a lot of what sits behind it has changed. The Token
class is now just a static interface wrapper around the new Tokens
class. This enables developers to instantiate and inject the core ReallySimpleJWT functionality if they chose too.
In addition, the validation functionality which existed in the Parse
class has been abstracted away and now just exists in the Validate
and Helper\Validator
classes. Also a number of interfaces for encoding, decoding and validation have been created, this increases composability and allows developers to amend functionality to meet their needs.
Additional Work:
- Updated GitHub Actions CI to work with PHP 7.4 and PHP 8.0.
- Updated comment and README documentation.
- Upgraded PHPUnit Config for PHP 7.4 and above.
- Separated tests into two test suites, Unit and Integration.
- Created class specific Exception classes.
- Abstracted decode functionality away from Encode class into separate Decode class.
- Moved Encode class to Encoders namespace and made it HS256 specific.
- Added PHP 7.4 property type information to classes.
- Bumped PHPStan strictness to level 8.
- Deleted Errors Trait as no longer needed.
- Created Base64 trait to encapsulate functionality.
To Do:
- Add BuildValidate Benchmark Test.
- Add Covers Annotations to tests.
- Abstract documentation away from README, look into documentation tools.
- Fix PHP 8.0 CI pipeline to work correctly with supported packages.