What's new
This release results in smaller and faster hydration code as well as a much smaller Svelte package size. We'll be sharing some exciting benchmarks with the final v4 release.
This release also makes the Svelte authoring experience more intuitive and consistent. E.g. |local
is now the default for transitions to avoid animations blocking page transitions, preprocessors are now easier to write, and multiple fixes make CSP easier to setup and use. We also overhauled the way you use Svelte together with custom elements.
Finally, Svelte 4 drops support for some legacy versions of various technologies to set the ground for some exciting changes in Svelte 5, which we'll begin working on next.
Migrating
Most libraries that are compatible with Svelte 3 should be compatible with Svelte 4. In this case, library authors will need to add || ^4.0.0
if svelte
is specified in the peerDependencies
to avoid warnings when the final version is released.
Other migration steps can be handled with npx svelte-migrate svelte-4
.
Changelog
See the full list of changes in the changelog.