Migrating to SvelteKit @sveltejs/kit@3.0.0-next.6
Version @sveltejs/kit@3.0.0-next.6 introduces 7 breaking changes. This guide details how to update your code.
Released: 7/6/2026
⚠️ Check Your Code
If you use any of these symbols, you need to read this guide:
failhandleErrorinvalidatecookies.parseform.fields.setfields.branch.issuesfield.touchedBreaking Changes
●Issue #1
Responses for 204 status codes will now return no content, instead of potentially returning an empty body.
●Issue #2
Form action responses now use the HTTP status code returned from the `fail()` function.
●Issue #3
Nested server-only directories are no longer supported.
●Issue #4
The configuration option `kit.prerender.origin` and the `adapter-node` environment variable `ORIGIN` have been removed. Use the new `kit.paths.origin` config option instead.
●Issue #5
Calling `invalidate('All')` during navigation will no longer abort the current navigation.
●Issue #6
The `handleError` function can now influence the HTTP status code of the response.
●Issue #7
External redirects are forbidden by default. Configure explicitly if needed.
Migration Steps
- 1If you relied on 204 responses having a body, update your consumers to expect no content.
- 2Review form actions that use `fail()` to ensure the returned status code is what you intend for the HTTP response.
- 3Restructure any nested server-only directories (e.g., `src/routes/foo/server/bar.js` should be refactored).
- 4Replace usage of `kit.prerender.origin` or the `ORIGIN` environment variable with the new `kit.paths.origin` configuration option.
- 5If you relied on `invalidate('All')` aborting navigation, you may need to adjust navigation logic.
- 6If you implemented custom error handling via `handleError`, review how status codes are set.
- 7If you require external redirects, you must now explicitly enable them.
- 8The experimental remote form option `validate({ includeUntouched })` must now use the value `all` instead of its previous experimental value.
Release Summary
This release introduces significant breaking changes related to form actions, error handling, and configuration origins, alongside new features like form field utilities and bug fixes for request handling.
Need More Details?
View the full release notes and all changes for SvelteKit @sveltejs/kit@3.0.0-next.6.
View Full Changelog