The package follows semantic versioning: MAJOR.. This page explains what each number means, which Laravel and PHP versions it is tested with, and until when it receives fixes.
What a version is
A version is a git tag (for example v0.1.0) that Packagist publishes. A single version of the package covers several Laravel versions (today 10 to 13): there is no line of versions per Laravel.
Where it is today
Today the package is in 0.x: the API is complete and tested, but it is being validated in real use. In 0.x the API may change between minor versions. With ^0.1, Composer installs only 0.1.x; a 0.2.0 does not come in on its own.
The planned sequence
| Version | What it means | Laravel |
|---|---|---|
0.1.0 and following | Under validation; the API may change between minor versions | 10–13 |
1.0.0 | Stable API: the macros, the keys of config/json-api.php, the middleware aliases, the error codes, the lang/ keys and the class and trait names | 10–13 |
1.1.0, 1.2.0… | Add a new Laravel or PHP and new features, without breaking anything | 10–14, 10–15… |
1.0.1… | Fixes, including internal incompatibilities with a new Laravel or PHP | same |
2.0.0 | Drops Laravel 10 and 11 (which no longer receive support) and may change the public API; the 1.x line is left for a while with only critical or security fixes | 12 onwards |
The rules
- A new Laravel or PHP does not force a major version change: the major number goes up only if the API breaks or support is dropped.
- Dropping support for a Laravel or PHP version is a major change (while the package is in
0.xa minor one is enough). - Laravel 10 and 11 are kept for the whole
1.xline and are dropped together in2.0.0. - The effective PHP range is the intersection of
php: ^8.1with what each Laravel requires; Composer resolves it. - Before publishing a version, the full test matrix, the static analysis and the code style are run, and the versions table and the CHANGELOG are updated.
What it is tested with
Continuous integration runs the tests with each of these combinations, with the dependencies at their latest version and at their minimum version. The combinations that do not appear are not tested:
| Laravel | PHP |
|---|---|
| 10 | 8.1, 8.2, 8.3 |
| 11 | 8.2, 8.3, 8.4, 8.5 |
| 12 | 8.2, 8.3, 8.4, 8.5 |
| 13 | 8.3, 8.4, 8.5 |
Security fixes
Only the latest published version receives security fixes (today, the most recent 0.x). How to report a vulnerability is in the security policy.