Skip to content

Compatibility and upgrades

InertiaX packages version independently. Upgrade the Laravel and frontend packages together using the versions in the release instructions, and commit both 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.1.2

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. Use the Composer and npm versions from the same release instructions.
  2. Read the changelog shipped with each affected package. Also review the protocol reference when the release changes the wire contract.
  3. Update inertiax/inertiax-laravel, @inertiax/react, and @inertiax/react-inertia in one application change, preserving matched Inertia server/client generations. Add @inertiax/core or @inertiax/protocol explicitly only when application source imports them directly.
  4. Install both ecosystems, run the application’s server and frontend checks, and repeat the first-table interaction before committing both lockfiles.

Release notes are shipped in package changelogs and sent through the access email channel.