@sveltejs/kit@2.56.0
Breaking Changes📦 sveltekitView on GitHub →
⚠ 3 breaking✨ 3 features🐛 10 fixes🔧 10 symbols
Summary
This release stabilizes remote function caching and overhauls query management by introducing the `run()` method, alongside adding support for TypeScript 6.0.
⚠️ Breaking Changes
- Client-driven refreshes have been reworked, requiring updates to how refreshes are initiated.
- Remote function caching is stabilized by sorting object keys, which may change caching behavior.
- Queries must now be awaited using the new `run()` method; awaiting queries outside of render is disallowed.
Migration Steps
- If you were awaiting queries directly, update this to use the new `run()` method on the query object.
- Review client-driven refresh logic due to rework in [#15562].
✨ New Features
- Added support for TypeScript 6.0.
- Remote function transport now uses `hydratable`. (Related to breaking change #15533)
- Allow `form` fields to specify a default value using `field.as(type, value)`.
🐛 Bug Fixes
- Prevent requesting new data when `.refresh` is called on a query that has no existing cache entry.
- Enabled using multiple remote functions within a single async derived.
- Fixed a false-positive warning regarding overridden Vite `base` setting when `paths.base` is set in `svelte.config.js`.
- Queries are now managed within their own `$effect.root`.
- Avoided the `inlineDynamicImports` deprecation warning when building the service worker with Vite 8.
- Correctly escaped backticks during CSS precomputation.
- Obsolete forks are now discarded before navigation finishes.
- Ensured the default Svelte 5 `error.svelte` file uses runes mode.
- Deduplicated same-cache-key `batch` calls during SSR.
- Decremented `pending_count` when a form callback does not call `submit()`.