What’s New
Inertia.js v2.0 is a huge step forward for Inertia! The core library has been completely rewritten to architecturally support asynchronous requests, enabling a whole set of new features, including:Polling
Keep data fresh by automatically polling the server at a specified interval.
Prefetching
Speed up navigation by prefetching data for links when they become visible.
Deferred props
Load non-essential data after the initial page load to improve performance.
Infinite scrolling
Seamlessly load more data as the user scrolls down the page.
Lazy loading data on scroll
Load data only when it becomes visible in the viewport.
History encryption
Clear page data from browser history state when logging out of an application.
Upgrade Dependencies
To upgrade to the Inertia.js v2.0, first use npm to install the client-side adapter of your choice:inertiajs/inertia-laravel package to use the 2.x dev branch:
Breaking Changes
While a significant release, Inertia.js v2.0 doesn’t introduce many breaking changes. Here’s a list of all the breaking changes:Dropped Laravel 8 and 9 Support
The Laravel adapter now requires Laravel 10 and PHP 8.1 at a minimum.Dropped Vue 2 Support
The Vue 2 adapter has been removed. Vue 2 reached End of Life on December 3, 2023, so this felt like it was time.Router replace Method
The previously deprecated router.replace method has been re-instated, but its functionality has changed. It is now used to make Client Side page visits. To make server-side visits that replace the current history entry in the browser, use the replace option:
Svelte Adapter
- Dropped support for Svelte 3 as it reached End of Life on June 20, 2023.
- The
rememberhelper has been rename touseRememberto be consistent with other helpers. - Updated
setupcallback inapp.js. You need to passpropswhen initializing theAppcomponent. See setup in app.js setupcallback is now required inssr.js. See setup in ssr.js