Change8

@sveltejs/kit@3.0.0-next.5

Breaking Changes
📦 sveltekitView on GitHub →
4 breaking2 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

  1. Remove usages of `base`, `assets`, and `resolveRoute` from `$app/paths`.
  2. Update how Svelte config options are passed; they must now go through the Vite plugin.
  3. 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.

Affected Symbols