Skip to content

Compatibility and upgrades

InertiaX packages version independently. Update the packages needed for your change, keep their declared dependency ranges compatible, and commit the resulting lockfiles.

Supported host versions:

Layer Supported versions
PHP 8.3, 8.4, 8.5
Laravel 12, 13
React and React DOM 19.1.1 or newer within React 19
Inertia server adapter inertiajs/inertia-laravel 2.0.5+ or 3.x
Inertia React adapter @inertiajs/react 2.3.18+ or 3.x
Protocol draft 0.3.0

Laravel 13 with the Inertia 2 server adapter starts at 2.0.21 in the test matrix. Later minor and patch releases remain inside the declared compatible ranges, but the exact combinations below are the regression-tested anchors.

The regression matrix checks lowest and stable dependencies for these combinations:

Laravel PHP Inertia server constraint Inertia generation
12 8.3 ^2.0.5 2
12 8.4 ^3.0 3
12 8.5 ^2.0.5 2
13 8.3 ^2.0.21 2
13 8.4 ^3.0 3
13 8.5 ^3.0 3

The frontend adapter is separately tested against @inertiajs/react 2.3.18 and 3.6.1. End-to-end package and application checks exercise both matched generations.

Match server and client Inertia generations

Section titled “Match server and client Inertia generations”

Use one of these pairs:

Laravel adapter React adapter Status
2.x 2.x Supported
3.x 3.x Supported
2.x 3.x Not supported
3.x 2.x Not supported

The adapter packages may have different minor or patch numbers, but their major generations must match.

  1. Read the changelog for each package you intend to update.
  2. Allow the package manager to resolve compatible dependencies. Declare @inertiax/table-core or @inertiax/table-protocol directly only when application source imports them.
  3. If a release changes the Table wire contract, update its Laravel producer and frontend decoder to versions that support that contract in the same application change. npm and Composer version numbers do not need to match; see Protocol reference.
  4. Run the application’s server and frontend checks, repeat the first-table interaction, and commit the changed lockfiles.

A renderer-only fix or compatible foundation update does not inherently require a Laravel or Inertia-adapter release. Keep Inertia server/client generations matched when updating the host.

The shared React provider and its hooks must resolve to one app-selected @inertiax/react installation. Composer resolves one inertiax/laravel version for the application. If dependency ranges conflict, choose a tested compatible combination; forcing installation does not establish compatibility. Published ranges and contract support are the limits, not a promise that arbitrary old and new package majors can coexist.

View Markdown