@sveltejs/kit@3.0.0-next.5
Breaking Changes📦 sveltekitView on GitHub →
⚠ 4 breaking✨ 2 features🐛 5 fixes🔧 5 symbols
Summary
This release introduces significant breaking changes, including updates to `$app/paths` and configuration passing, alongside new features like form submission status exposure and improved SSE keep-alive handling.
⚠️ Breaking Changes
- The properties `base`, `assets`, and `resolveRoute` have been removed from `$app/paths`.
- `goto` now rejects if called with a URL that does not resolve to an internal app route, matching external URL behavior.
- Svelte configuration options must now be passed through the Vite plugin.
- The `preloadData` function now supports an 'error' result type.
Migration Steps
- Remove usages of `base`, `assets`, and `resolveRoute` from `$app/paths`.
- Update how Svelte config options are passed; they must now go through the Vite plugin.
- Handle the new 'error' result type in `preloadData` return values.
✨ New Features
- The `submitted` property is now exposed on remote forms.
- Periodic `keep-alive` Server-Sent Events (SSE) comments are sent from `query.live` to prevent idle-timeout errors.
🐛 Bug Fixes
- Issues and touched states are now cleared upon form reset.
- A 404 status is returned for form actions and remote functions whose names are members of `Object.prototype`.
- Pages are now rendered correctly over sibling endpoints that lack GET or HEAD handlers.
- Directory entries are sorted during route manifest building to ensure deterministic node indices across runtimes (like Bun and Node).
- Hoisted packages are now correctly included in Vite's `server.fs.allow` list.