Skip to content
MundoProgra JSON:API
Menu

Project

Versioning and support

The package follows semantic versioning: MAJOR.MINOR.PATCH. 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

VersionWhat it meansLaravel
0.1.0 and followingUnder validation; the API may change between minor versions10–13
1.0.0Stable API: the macros, the keys of config/json-api.php, the middleware aliases, the error codes, the lang/ keys and the class and trait names10–13
1.1.0, 1.2.0…Add a new Laravel or PHP and new features, without breaking anything10–14, 10–15…
1.0.1…Fixes, including internal incompatibilities with a new Laravel or PHPsame
2.0.0Drops 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 fixes12 onwards

The rules

  1. 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.
  2. Dropping support for a Laravel or PHP version is a major change (while the package is in 0.x a minor one is enough).
  3. Laravel 10 and 11 are kept for the whole 1.x line and are dropped together in 2.0.0.
  4. The effective PHP range is the intersection of php: ^8.1 with what each Laravel requires; Composer resolves it.
  5. 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:

LaravelPHP
108.1, 8.2, 8.3
118.2, 8.3, 8.4, 8.5
128.2, 8.3, 8.4, 8.5
138.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.