Migrating to SvelteKit @sveltejs/kit@3.0.0-next.8
Version @sveltejs/kit@3.0.0-next.8 introduces 4 breaking changes. This guide details how to update your code.
Released: 7/14/2026
⚠️ Check Your Code
If you use any of these symbols, you need to read this guide:
experimental.handleRenderingErrorsgetRequestsetResponsepage.urlinvalidateAllrefreshAllloadactionspaths.relativecookies.getAllcookies.get<svelte:boundary>MAX_COOKIE_SIZEBreaking Changes
●Issue #1
The `experimental.handleRenderingErrors` flag has been removed. There is no direct replacement, but error handling should now be managed through standard SvelteKit error handling mechanisms.
●Issue #2
The `getRequest` and `setResponse` functions are now synchronous. If you were using them asynchronously, you will need to update your code to reflect this change.
●Issue #3
The `page.url` property is now immutable at the type level. This means you cannot directly modify `page.url`. If you need to construct a new URL, create a new URL object.
●Issue #4
The `invalidateAll` function has been deprecated and replaced by `refreshAll`. Use `refreshAll` for new implementations.
Migration Steps
- 1Replace calls to `invalidateAll` with `refreshAll`.
Release Summary
This release introduces several breaking changes including synchronous request/response functions and immutable page URLs, alongside new features like hyphen support in route parameters and a new `refreshAll` function.
Need More Details?
View the full release notes and all changes for SvelteKit @sveltejs/kit@3.0.0-next.8.
View Full Changelog