Inertia v1.0 is Here

News

January 16th, 2023

Inertia v1.0 is Here

The Inertia release of v1.0 is here with SSR support for Svelte, first-class Typescript support for React and Vue, a Progress indicator in core, and more:

Having everything written in TypeScript means no more manual maintenance of type files, and now Inertia libraries can take advantage of TypeScript features.

The 1.0 release changes will improve maintenance as you "now only have to install the Inertia adapter of your choice, and Inertia handles it from there."

Previously, you had to install multiple NPM packages, such as the core library, adapter package, progress library, SSR package, but now you can just install the library of your choice, making things much simpler from an application setup/dependency perspective.

Along with NPM package changes, are new names for all the Inertia packages:

  • @inertiajs/inertia -> @inertiajs/core
  • @inertiajs/inertia-react -> @inertia/react
  • @inertiajs/inertia-svelte -> @inertiajs/svelte
  • @inertiajs/inertia-vue -> @inertiajs/vue2
  • @inertiajs/inertia-vue3 -> @inertiajs/vue3

Check out the release notes for everything added for v1.0 (also below), and the upgrade guide to upgrade your existing Inertia applications to v1.0.

Inertia v1.0

Added

  • Added SSR support to Svelte library ( #1349 )
  • Added first-class TypeScript support to React adapter
  • Added first-class TypeScript support to Vue 2 adapter
  • Added first-class TypeScript support to Vue 3 adapter
  • Added new useForm() hook to Vue 2 adapter ( ff59196 )

Changed

  • Renamed @inertiajs/inertia library to @inertiajs/core
    ( #1282 )
  • Renamed @inertiajs/inertia-react library to @inertiajs/react
    ( #1282 )
  • Renamed @inertiajs/inertia-svelte library to @inertiajs/svelte
    ( #1282 )
  • Renamed @inertiajs/inertia-vue library to @inertiajs/vue2
    ( #1282 )
  • Renamed @inertiajs/inertia-vue3 library to @inertiajs/vue3
    ( #1282 )
  • Merged progress library to core and deprecated @inertiajs/progress
    library ( #1282 , 0b5f773 )
  • Merged server library to core and deprecated @inertiajs/server library ( #1282 )
  • Renamed Inertia named export to router ( #1282 , e556703 )
  • Removed deprecated named exports ( #1282 , e556703 )
  • Removed deprecated app argument from createInertiaApp() in Vue adapters ( #1282 , 65f8a5f )
  • Updated axios to 1.x ( #1377 )
  • Simplified usePage() hook in Vue 3 adapter ( #1373 )
  • Improved Svelte use:inertia and <Link /> component ( #1344 )
  • Removed global visitOptions() hook ( #1282 , 30908c2 )
  • Switched bundler from Microbundle to ESbuild ( f711b46 , 8093713 , 342312d , c9e12b3 )

Fixed

  • Fixed <title> tag not always being included when a title callback is defined in createInertiaApp()
    ( #1055 )
  • Fixed types to include undefined as a valid FormDataConvertable option ( #1165 )
  • Fixed issue where remembered state wasn't clear on a full page reload ( 769f643 )

Filed in:

Paul Redmond

Full stack web developer. Author of Lumen Programming Guide and Docker for PHP Developers.