# SvelteKit changelog > The web framework for building Svelte applications. - Vendor: Svelte - Category: Frameworks & Libraries - Official site: https://svelte.dev/docs/kit - Tracked by: What's New (https://whatsnew.fyi/product/sveltekit) - Harvested from: GitHub (sveltejs/kit) - Entries below: 25 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. ## Releases ### 3.0.0-next.14 - Date: 2026-08-04 - Version: 3.0.0-next.14 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%403.0.0-next.14 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/3.0.0-next.14 - Labels: Pre-release - **changed** — Refresh all load functions and queries when clicking a link to the current URL - **changed** — Only include routes with a +page or +server in RouteId - **changed** — Require Node 22.17 - **changed** — preloadCode now takes a route ID instead of a pathname, and route IDs are not prefixed with paths.base - **removed** — Remove deprecated .run() method from live queries - **added** — Return the list of compressed files from builder.compress - **added** — Add page and endpoint booleans to $app/manifest's routes and export a ManifestRoute type - **added** — Add PageRouteId and EndpointRouteId types to $app/types - **fixed** — Generate valid Path types for routes with optional or rest params, several params in one segment, or escape sequences - **fixed** — Decode all numeric character references above ffff when crawling prerendered pages - **fixed** — Don't treat Object.prototype members as param matchers during validation - **fixed** — Exclude routes without a page or endpoint from routes in $app/manifest and remove directories with no route files from LayoutParams - **fixed** — Record the mime types of prerendered paths in the server manifest - **fixed** — Expand [x+nn] and [u+nnnn] escape sequences when resolving a route id to a pathname - **fixed** — Allow routes to contain [ and ] via the [x+5b] and [x+5d] escapes - **fixed** — Import resolved peer dependencies as file URLs so project-relative resolution works on Windows - **fixed** — Write generated tsconfig to node_modules/$app/tsconfig.json so that tools with simplified tsconfig resolution can find it - **fixed** — Prerender and crawl pages whose content-type header carries a charset parameter - **fixed** — Stream promised read results lazily instead of eagerly buffering them ###### Major Changes - breaking: refresh all load functions/queries when clicking a link to the current URL ([#16572](https://github.com/sveltejs/kit/pull/16572)) - breaking: only include routes with a `+page` or `+server` in `RouteId` ([#16580](https://github.com/sveltejs/kit/pull/16580)) - breaking: require Node 22.17 ([#16597](https://github.com/sveltejs/kit/pull/16597)) - breaking: `preloadCode` now takes a route ID (e.g. `/blog/[slug]`) instead of a pathname. Route IDs are not prefixed with `paths.base` ([#16576](https://github.com/sveltejs/kit/pull/16576)) - breaking: remove deprecated `.run()` method from live queries ([#16573](https://github.com/sveltejs/kit/pull/16573)) ###### Minor Changes - feat: return the list of compressed files from `builder.compress` ([#16566](https://github.com/sveltejs/kit/pull/16566)) - feat: add `page` and `endpoint` booleans to `$app/manifest`'s `routes`, and export a `ManifestRoute` type ([#16594](https://github.com/sveltejs/kit/pull/16594)) - feat: add `PageRouteId` and `EndpointRouteId` to `$app/types` ([#16594](https://github.com/sveltejs/kit/pull/16594)) ###### Patch Changes - fix: generate valid `Path` types for routes with optional or rest params, several params in one segment, or escape sequences ([#16577](https://github.com/sveltejs/kit/pull/16577)) - fix: decode all numeric character references, including above `ffff`, when crawling prerendered pages ([#16611](https://github.com/sveltejs/kit/pull/16611)) - chore: deduplicate request hashing for serialized fetch responses ([#16499](https://github.com/sveltejs/kit/pull/16499)) - fix: don't treat `Object.prototype` members as param matchers during validation ([#16612](https://github.com/sveltejs/kit/pull/16612)) - fix: exclude routes without a page or endpoint from `routes` in `$app/manifest`, and remove directories with no route files from `LayoutParams` ([#16588](https://github.com/sveltejs/kit/pull/16588)) - chore: reuse base64 and text decoding helpers ([#16608](https://github.com/sveltejs/kit/pull/16608)) - fix: record the mime types of prerendered paths in the server manifest ([#16564](https://github.com/sveltejs/kit/pull/16564)) - chore: only generate each route's resolution module once when prerendering ([#16576](https://github.com/sveltejs/kit/pull/16576)) - fix: expand `[x+nn]` and `[u+nnnn]` escape sequences when resolving a route id to a pathname ([#16570](https://github.com/sveltejs/kit/pull/16570)) - fix: allow routes to contain `[` and `]` via the `[x+5b]` and `[x+5d]` escapes ([#16569](https://github.com/sveltejs/kit/pull/16569)) - chore: remove the dead `SSRState.fallback` field and name the server state fork semantics ([#16598](https://github.com/sveltejs/kit/pull/16598)) - fix: import resolved peer dependencies as file URLs so project-relative resolution works on Windows ([#16618](https://github.com/sveltejs/kit/pull/16618)) - fix: write generated tsconfig to `node_modules/$app/tsconfig.json` so that tools with simplified tsconfig resolution can find it ([#16589](https://github.com/sveltejs/kit/pull/16589)) - fix: prerender and crawl pages whose `content-type` header carries a `charset` parameter ([#16567](https://github.com/sveltejs/kit/pull/16567)) - fix: stream promised `read` results lazily instead of eagerly buffering them ([#16622](https://github.com/sveltejs/kit/pull/16622)) - fix: correctly decode `[u+nnnn]` escape sequences above `ffff` ([#16611](https://github.com/sveltejs/kit/pull/16611)) ### 2.70.2 - Date: 2026-07-29 - Version: 2.70.2 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.70.2 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/2.70.2 - **fixed** — prevent quadratic backtracking in Accept header content negotiation ###### Patch Changes - fix: prevent quadratic backtracking in `Accept` header content negotiation ([#1](https://github.com/homebase-garage/igeclouds.github.io/pull/1)) ### 3.0.0-next.13 - Date: 2026-07-29 - Version: 3.0.0-next.13 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%403.0.0-next.13 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/3.0.0-next.13 - Labels: Pre-release - **removed** — Replace the noScroll and keepFocus options of goto with a single reset option, and the data-sveltekit-noscroll and data-sveltekit-keepfocus attributes with data-sveltekit-reset - **deprecated** — Deprecate error(status, {...}) in favour of error(status, message, {...}) - **added** — Add shallow routing to goto and deprecate pushState and replaceState - **added** — Preserve page state set through goto(..., { state, persistState: true }) across reloads - **fixed** — Avoid Vite dev server reload on initial page request - **fixed** — Don't set a null accept-language header on internal fetch sub-requests when the incoming request has none - **fixed** — Correctly detect prerendered paths in server fetch when paths.base is set - **fixed** — Don't duplicate remote modules in the generated manifest - **fixed** — Exclude inlined files from the page's $app/manifest immutable list - **fixed** — Don't attempt to serialize fetch responses when the request body is not a string or TypedArray - **fixed** — Read the error status of App.Error in the prerender and query.live remote functions - **fixed** — Propagate errors from prerendered remote responses instead of re-running the function - **fixed** — Respect the status returned from handleError on the fallback error page served to error-page sub-requests - **fixed** — Skip unnecessary version.json checks if updated.current is already true - **fixed** — Allow generation of $app/tsconfig without TypeScript installed - **fixed** — Only include _app/immutable files in $app/manifest's immutable in the service worker - **fixed** — Log errors caught by the Vite dev server handler - **fixed** — Resolve root per instance of the SvelteKit Vite plugin - **fixed** — Ignore path casing differences when warning about overridden Vite config on Windows ###### Major Changes - breaking: replace the `noScroll` and `keepFocus` options of `goto` with a single `reset` option, and the `data-sveltekit-noscroll` and `data-sveltekit-keepfocus` attributes with `data-sveltekit-reset` ([#16558](https://github.com/sveltejs/kit/pull/16558)) - breaking: deprecate `error(status, {...})` in favour of `error(status, message, {...})` ([#16540](https://github.com/sveltejs/kit/pull/16540)) ###### Minor Changes - feat: add shallow routing to `goto` and deprecate `pushState` and `replaceState` ([#16449](https://github.com/sveltejs/kit/pull/16449)) - feat: preserve page state set through `goto(..., { state, persistState: true })` across reloads ([#16449](https://github.com/sveltejs/kit/pull/16449)) ###### Patch Changes - chore: deduplicate repeated CSP directive handling ([#16498](https://github.com/sveltejs/kit/pull/16498)) - fix: avoid Vite dev server reload on initial page request ([#16553](https://github.com/sveltejs/kit/pull/16553)) - fix: don't set a `null` `accept-language` header on internal `fetch` sub-requests when the incoming request has none ([#16527](https://github.com/sveltejs/kit/pull/16527)) - fix: correctly detect prerendered paths in server `fetch` when `paths.base` is set ([#16525](https://github.com/sveltejs/kit/pull/16525)) - fix: don't duplicate remote modules in the generated manifest ([#16532](https://github.com/sveltejs/kit/pull/16532)) - fix: exclude inlined files from the page's `$app/manifest` immutable list ([#16531](https://github.com/sveltejs/kit/pull/16531)) - perf: avoid quadratic remote form issue merging ([#16493](https://github.com/sveltejs/kit/pull/16493)) - fix: don't attempt to serialize fetch responses when the request body is not a string or TypedArray ([#16501](https://github.com/sveltejs/kit/pull/16501)) - fix: read the error status of `App.Error` in the `prerender` and `query.live` remote functions ([#16529](https://github.com/sveltejs/kit/pull/16529)) - fix: propagate errors from prerendered remote responses instead of re-running the function ([#16535](https://github.com/sveltejs/kit/pull/16535)) - fix: respect the status returned from `handleError` on the fallback error page served to error-page sub-requests ([#16528](https://github.com/sveltejs/kit/pull/16528)) - fix: skip unnecessary `version.json` checks if `updated.current` is already `true` ([#16518](https://github.com/sveltejs/kit/pull/16518)) - fix: allow generation of $app/tsconfig without TypeScript installed ([#16534](https://github.com/sveltejs/kit/pull/16534)) - perf: use a `Set` to check element ids when validating fragment links during prerendering ([#16494](https://github.com/sveltejs/kit/pull/16494)) - fix: only include `_app/immutable` files in `$app/manifest`'s `immutable` in the service worker ([#16531](https://github.com/sveltejs/kit/pull/16531)) - fix: log errors caught by the Vite dev server handler ([#16550](https://github.com/sveltejs/kit/pull/16550)) - fix: resolve `root` per instance of the SvelteKit Vite plugin ([#16513](https://github.com/sveltejs/kit/pull/16513)) - fix: ignore path casing differences when warning about overridden Vite config on Windows ([#16545](https://github.com/sveltejs/kit/pull/16545)) - fix: preserve the current URL search parameters when submitting a remote form without JavaScript ([#16373](https://github.com/sveltejs/kit/pull/16373)) - fix: treeshake prerendered remote functions in the right chunks ([#16533](https://github.com/sveltejs/kit/pull/16533)) - fix: error during development if the adapter does not support instrumentation and it exists ([#16548](https://github.com/sveltejs/kit/pull/16548)) ### 3.0.0-next.12 - Date: 2026-07-24 - Version: 3.0.0-next.12 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%403.0.0-next.12 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/3.0.0-next.12 - Labels: Pre-release - **removed** — Rename Pathname type to Path and Asset to AssetPath - **removed** — Remove leading / from Path and AssetPath - **changed** — Write tsconfig to node_modules/$app/tsconfig - **removed** — Error on event.url, event.params and event.route access inside queries - **removed** — Delete $service-worker module - **changed** — Detect new deployments on data, remote, and form action responses, tab focus, and visibility change, and default version.pollInterval to 1 hour - **added** — Add $app/manifest module with immutable, assets, prerendered, and routes exports - **added** — Validate that all remote form fields were created with form.fields.foo.as(...) - **added** — Make $app/paths importable in service workers - **added** — Add $app/service-worker module - **added** — Improve tsconfig validation - **fixed** — Default cookies to secure to false during development - **fixed** — Allow undefined values to be passed to form field .as(...) where applicable - **fixed** — Include queries refreshed from within another query in the serialized response - **fixed** — Generate sourcemaps for remote modules - **fixed** — Avoid empty getElementById() call on hash routing navigation - **fixed** — Warn if hook files are spelled as "hook" instead of "hooks" - **deprecated** — Deprecate the alias option - **fixed** — Prevent infinite loops when server-side queries refresh each other in a cycle during the single-flight drain ###### Major Changes - breaking: rename `Pathname` type to `Path` and `Asset` to `AssetPath` ([#16430](https://github.com/sveltejs/kit/pull/16430)) breaking: remove leading `/` from `Path` and `AssetPath` - breaking: write tsconfig to `node_modules/$app/tsconfig` ([#16458](https://github.com/sveltejs/kit/pull/16458)) - breaking: error on `event.url`, `event.params` and `event.route` access inside queries ([#16452](https://github.com/sveltejs/kit/pull/16452)) - breaking: delete `$service-worker` module ([#16450](https://github.com/sveltejs/kit/pull/16450)) - breaking: detect new deployments on data, remote, and form action responses, tab focus, and visibility change, and default `version.pollInterval` to 1 hour ([#16496](https://github.com/sveltejs/kit/pull/16496)) ###### Minor Changes - feat: add `$app/manifest` module with `immutable`, `assets`, `prerendered`, and `routes` exports ([#16372](https://github.com/sveltejs/kit/pull/16372)) - feat: validate that all remote form fields were created with form.fields.foo.as(...) ([#16331](https://github.com/sveltejs/kit/pull/16331)) - feat: make `$app/paths` importable in service workers ([#16441](https://github.com/sveltejs/kit/pull/16441)) - feat: `$app/service-worker` module ([#16458](https://github.com/sveltejs/kit/pull/16458)) - feat: better tsconfig validation ([#16458](https://github.com/sveltejs/kit/pull/16458)) - fix: default cookies to `secure` to `false` during development ([#16462](https://github.com/sveltejs/kit/pull/16462)) ###### Patch Changes - fix: allow `undefined` values to be passed to form field `.as(...)` where applicable ([#15681](https://github.com/sveltejs/kit/pull/15681)) - fix: include queries refreshed from within another query in the serialized response ([#16461](https://github.com/sveltejs/kit/pull/16461)) - fix: generate sourcemaps for remote modules ([#16440](https://github.com/sveltejs/kit/pull/16440)) - fix: avoid empty getElementById() call on hash routing navigation ([#16448](https://github.com/sveltejs/kit/pull/16448)) - fix: warn if hook files are spelled as "hook" instead of "hooks" ([#16483](https://github.com/sveltejs/kit/pull/16483)) - chore: deprecate the `alias` option ([#16470](https://github.com/sveltejs/kit/pull/16470)) - fix: prevent infinite loops when server-side queries refresh each other in a cycle during the single-flight drain ([#16461](https://github.com/sveltejs/kit/pull/16461)) - fix: populate `version` in service workers ([#16434](https://github.com/sveltejs/kit/pull/16434)) - fix: resolve remote modules as external during dev prebundling so packages can re-export remote functions ([#16426](https://github.com/sveltejs/kit/pull/16426)) - fix: refetch route-tracking server data when navigating away from an error page ([#16381](https://github.com/sveltejs/kit/pull/16381)) - fix: serialize `query(...).set(...)`/`query(...).refresh()` values into the rendered HTML when called from within a query during SSR ([#16461](https://github.com/sveltejs/kit/pull/16461)) - fix: fall back to the page's form actions when a sibling endpoint has no POST handler ([#16349](https://github.com/sveltejs/kit/pull/16349)) - fix: return a lightweight 404 instead of rendering the error page for subresource requests ([#16463](https://github.com/sveltejs/kit/pull/16463)) - fix: preserve stripped path prefixes by making trailing-slash redirects relative ([#16431](https://github.com/sveltejs/kit/pull/16431)) - chore: deduplicate type-stripping logic in `tweak_types` ([#16454](https://github.com/sveltejs/kit/pull/16454)) - fix: more informative error message when running a command inside a query or prerender function ([`eb5c973`](https://github.com/sveltejs/kit/commit/eb5c9737b6d74c53f572b3e047faa5947052ced2)) ### 3.0.0-next.11 - Date: 2026-07-20 - Version: 3.0.0-next.11 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%403.0.0-next.11 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/3.0.0-next.11 - Labels: Pre-release - **changed** — config exported from a universal route file now takes precedence over a server one - **changed** — special filename patterns are now consistent - **added** — support sourcemaps in production - **added** — support function validators for environment variables - **added** — better error logging - **fixed** — don't treat callable standard schemas as function param matchers - **fixed** — reject malformed streamed data encoding - **fixed** — hide stack traces for internal errors like 404s - **fixed** — don't report empty environment variables as missing ###### Major Changes - breaking: `config` exported from a universal route file takes precedence over a server one ([#16400](https://github.com/sveltejs/kit/pull/16400)) - breaking: consistent special filename patterns ([#16382](https://github.com/sveltejs/kit/pull/16382)) ###### Minor Changes - feat: support sourcemaps in production ([#16412](https://github.com/sveltejs/kit/pull/16412)) - feat: support function validators for environment variables ([#16402](https://github.com/sveltejs/kit/pull/16402)) - feat: better error logging ([#16374](https://github.com/sveltejs/kit/pull/16374)) ###### Patch Changes - fix: don't treat callable standard schemas as function param matchers ([#16403](https://github.com/sveltejs/kit/pull/16403)) - fix: reject malformed streamed data encoding ([#16423](https://github.com/sveltejs/kit/pull/16423)) - fix: hide stack traces for internal errors like 404s ([#16411](https://github.com/sveltejs/kit/pull/16411)) - perf: match only unpaired surrogates when escaping HTML ([#16407](https://github.com/sveltejs/kit/pull/16407)) - fix: don't report empty environment variables as missing ([#16401](https://github.com/sveltejs/kit/pull/16401)) - chore: clarify which hooks run during server route resolution ([#16397](https://github.com/sveltejs/kit/pull/16397)) ### 2.70.1 - Date: 2026-07-19 - Version: 2.70.1 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.70.1 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/2.70.1 - **changed** — Update links to hooks documentation ###### Patch Changes - docs: update links to hooks documentation ([#16417](https://github.com/sveltejs/kit/pull/16417)) ### 3.0.0-next.10 - Date: 2026-07-18 - Version: 3.0.0-next.10 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%403.0.0-next.10 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/3.0.0-next.10 - Labels: Pre-release - **removed** — Move defineEnvVars to @sveltejs/kit/env - **fixed** — Treat data: protocol URLs as external for redirect - **changed** — Skip import graph collection outside client environments - **fixed** — Warn if there are plugins using transformIndexHtml ###### Major Changes - breaking: move `defineEnvVars` to `@sveltejs/kit/env` ([#16375](https://github.com/sveltejs/kit/pull/16375)) ###### Patch Changes - fix: treat `data:` protocol URLs as external for redirect ([#16392](https://github.com/sveltejs/kit/pull/16392)) - perf: skip import graph collection outside client environments ([#16383](https://github.com/sveltejs/kit/pull/16383)) - fix: warn if there are plugins using `transformIndexHtml` ([#16394](https://github.com/sveltejs/kit/pull/16394)) ### 3.0.0-next.9 - Date: 2026-07-17 - Version: 3.0.0-next.9 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%403.0.0-next.9 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/3.0.0-next.9 - Labels: Pre-release - **changed** — The `handle` hook's `resolve` function is now typed to always return a Promise - **removed** — Replace the `$lib` alias with `#lib` and remove `files.lib` config - **security** — Disallow cross-origin form submissions without a Content-Type header - **changed** — Server-only directories (`/server/` in the path) are now treated as server-only everywhere inside the project except `src/routes` and the assets directory - **changed** — Delegate CORS handling to Vite for static directory requests during development - **deprecated** — Reinstate `$env/static/private`, `$env/dynamic/private`, `$env/static/public`, `$env/dynamic/public` and `$app/environment` as deprecated aliases for `$app/env/private`, `$app/env/public` and `$app/env` - **fixed** — Avoid client-side code being bundled by Cloudflare Wrangler - **fixed** — Handle rejected streamed server data after delayed loads - **fixed** — Enable CSRF protection in builds with a non-production NODE_ENV value ###### Major Changes - breaking: `handle`'s `resolve` is now typed to always return a `Promise` ([#16352](https://github.com/sveltejs/kit/pull/16352)) - breaking: replace the `$lib` alias with `#lib` and remove `files.lib` config. ([#16360](https://github.com/sveltejs/kit/pull/16360)) - breaking: disallow cross-origin form submissions without a `Content-Type` header ([#16347](https://github.com/sveltejs/kit/pull/16347)) - breaking: Server-only directories (`/server/` in the path) are now treated as server-only everywhere inside the project (except `src/routes` and the assets directory) ([#16360](https://github.com/sveltejs/kit/pull/16360)) - breaking: delegate CORS handling to Vite for static directory requests during development ([#16357](https://github.com/sveltejs/kit/pull/16357)) ###### Minor Changes - feat: reinstate `$env/static/private`, `$env/dynamic/private`, `$env/static/public`, `$env/dynamic/public` and `$app/environment` as deprecated aliases for `$app/env/private` `$app/env/public` and `$app/env` ([#16334](https://github.com/sveltejs/kit/pull/16334)) ###### Patch Changes - perf: cache the default cookie header parse and avoid allocations in `cookies.get` ([#16341](https://github.com/sveltejs/kit/pull/16341)) - fix: avoid client-side code being bundled by Cloudflare Wrangler ([#16364](https://github.com/sveltejs/kit/pull/16364)) - fix: handle rejected streamed server data after delayed loads ([#16268](https://github.com/sveltejs/kit/pull/16268)) - fix: enable CSRF protection in builds with a non-production `NODE_ENV` value ([#16313](https://github.com/sveltejs/kit/pull/16313)) ### 2.70.0 - Date: 2026-07-17 - Version: 2.70.0 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.70.0 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/2.70.0 - **added** — Move defineEnvVars to @sveltejs/kit/env - **fixed** — Enable CSRF protection in builds with a non-production NODE_ENV value ###### Minor Changes - feat: move `defineEnvVars` to `@sveltejs/kit/env` ([#16378](https://github.com/sveltejs/kit/pull/16378)) ###### Patch Changes - fix: enable CSRF protection in builds with a non-production `NODE_ENV` value ([#16313](https://github.com/sveltejs/kit/pull/16313)) ### 3.0.0-next.8 - Date: 2026-07-14 - Version: 3.0.0-next.8 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%403.0.0-next.8 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/3.0.0-next.8 - Labels: Pre-release - **removed** — Remove experimental.handleRenderingErrors flag - **changed** — Make getRequest and setResponse synchronous - **changed** — Make page.url immutable on a type level - **deprecated** — Deprecate invalidateAll in favor of refreshAll - **added** — Allow hyphens in param and matcher names - **added** — Add ErrorProps to generated types - **fixed** — Detect destructured load and actions exports during type generation - **fixed** — Ensure CSS URL references are absolute when paths.relative is false - **fixed** — Exclude deleted cookies from cookies.getAll() so it stays consistent with cookies.get() - **fixed** — Reset failed on client navigation so a stale +error.svelte is torn down - **fixed** — Preserve shared client chunk hashes when the app version changes - **fixed** — Align MAX_COOKIE_SIZE with RFC 6265bis - **fixed** — Use mouseover+mousemove for preloading to reduce events ###### Major Changes - breaking: remove `experimental.handleRenderingErrors` flag ([#16265](https://github.com/sveltejs/kit/pull/16265)) - breaking: make `getRequest` and `setResponse` synchronous ([#16280](https://github.com/sveltejs/kit/pull/16280)) - breaking: make `page.url` immutable on a type level ([#16256](https://github.com/sveltejs/kit/pull/16256)) - breaking: add `refreshAll` and deprecate `invalidateAll` ([#16289](https://github.com/sveltejs/kit/pull/16289)) ###### Minor Changes - feat: allow hyphens in param and matcher names ([#16284](https://github.com/sveltejs/kit/pull/16284)) - feat: add `ErrorProps` to generated types ([#16272](https://github.com/sveltejs/kit/pull/16272)) ###### Patch Changes - fix: detect destructured `load` and `actions` exports during type generation ([#16329](https://github.com/sveltejs/kit/pull/16329)) - fix: ensure CSS URL references are absolute when `paths.relative` is `false` ([#16315](https://github.com/sveltejs/kit/pull/16315)) - fix: exclude deleted cookies from `cookies.getAll()` so it stays consistent with `cookies.get()` ([#16297](https://github.com/sveltejs/kit/pull/16297)) - fix: reset failed `` on client navigation so a stale `+error.svelte` is torn down ([#16296](https://github.com/sveltejs/kit/pull/16296)) - fix: preserve shared client chunk hashes when the app version changes ([#16324](https://github.com/sveltejs/kit/pull/16324)) - fix: align MAX_COOKIE_SIZE with RFC 6265bis ([#16322](https://github.com/sveltejs/kit/pull/16322)) - fix: use mouseover+mousemove for preloading to reduce events ([#16325](https://github.com/sveltejs/kit/pull/16325)) ### 2.69.3 - Date: 2026-07-13 - Version: 2.69.3 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.69.3 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/2.69.3 - **fixed** — Detect destructured load and actions exports during type generation - **fixed** — Ensure CSS URL references are absolute when paths.relative is false - **fixed** — Align MAX_COOKIE_SIZE with RFC 6265bis ###### Patch Changes - fix: detect destructured `load` and `actions` exports during type generation ([#16329](https://github.com/sveltejs/kit/pull/16329)) - fix: ensure CSS URL references are absolute when `paths.relative` is `false` ([#16315](https://github.com/sveltejs/kit/pull/16315)) - fix: align MAX_COOKIE_SIZE with RFC 6265bis ([#16322](https://github.com/sveltejs/kit/pull/16322)) ### 3.0.0-next.7 - Date: 2026-07-08 - Version: 3.0.0-next.7 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%403.0.0-next.7 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/3.0.0-next.7 - Labels: Pre-release - **changed** — Change `form.error` type from `any` to `App.Error | undefined` - **added** — Allow adapters to provide additional Vite plugins - **removed** — Move tracing out of the experimental namespace and remove the instrumentation flag - **removed** — Remove `$app/stores` - **changed** — Disallow `*.remote.ts/js` files unless `experimental.remoteFunctions` is enabled - **removed** — Remove param files in folder in favor of `params.js/ts` file - **fixed** — Defer `query.refresh()` in server commands until after the command body completes - **fixed** — Resolve service worker and `tsconfig.json` based on Vite `root` setting - **fixed** — Populate `$app/env/*` dynamic variables in contexts that don't run the dev server, such as `vite-node` - **fixed** — No longer throw "An impossible situation occurred" when a server-only module is imported by both server and client code - **fixed** — Set `define` values on `globalThis` when running Vitest - **fixed** — Serve `.ico` files with `image/x-icon` Content-Type - **fixed** — Make `paths.origin` type looser - **fixed** — Avoid client build warning about externalising `node:async_hooks` - **fixed** — Allow reserved words (e.g. `delete`, `class`) as remote function export names ###### Major Changes - breaking: change `form.error` type from `any` to `App.Error | undefined` ([#16245](https://github.com/sveltejs/kit/pull/16245)) - feat: allow adapters to provide additional Vite plugins ([#16206](https://github.com/sveltejs/kit/pull/16206)) - breaking: move tracing out of the experimental namespace and remove the instrumentation flag ([#16260](https://github.com/sveltejs/kit/pull/16260)) - breaking: remove `$app/stores` ([#15499](https://github.com/sveltejs/kit/pull/15499)) - breaking: disallow `*.remote.ts/js` files unless `experimental.remoteFunctions` is enabled ([#16247](https://github.com/sveltejs/kit/pull/16247)) - breaking: remove param files in folder in favor of `params.js/ts` file ([#16189](https://github.com/sveltejs/kit/pull/16189)) ###### Patch Changes - fix: defer `query.refresh()` in server commands until after the command body completes ([#16225](https://github.com/sveltejs/kit/pull/16225)) - fix: resolve service worker and `tsconfig.json` based on Vite `root` setting ([#16229](https://github.com/sveltejs/kit/pull/16229)) - fix: populate `$app/env/*` dynamic variables in contexts that don't run the dev server, such as `vite-node` ([#16223](https://github.com/sveltejs/kit/pull/16223)) - fix: no longer throw "An impossible situation occurred" when a server-only module is imported by both server and client code ([#16257](https://github.com/sveltejs/kit/pull/16257)) - fix: set `define` values on `globalThis` when running Vitest ([#16246](https://github.com/sveltejs/kit/pull/16246)) - fix: serve `.ico` files with `image/x-icon` Content-Type ([#16234](https://github.com/sveltejs/kit/pull/16234)) - fix: make `paths.origin` type looser ([#16215](https://github.com/sveltejs/kit/pull/16215)) - fix: avoid client build warning about externalising `node:async_hooks` ([#16244](https://github.com/sveltejs/kit/pull/16244)) - fix: allow reserved words (e.g. `delete`, `class`) as remote function export names ([#16264](https://github.com/sveltejs/kit/pull/16264)) ### 2.69.2 - Date: 2026-07-08 - Version: 2.69.2 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.69.2 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/2.69.2 - **fixed** — Set `define` values on `globalThis` when running Vitest ###### Patch Changes - fix: set `define` values on `globalThis` when running Vitest ([#16246](https://github.com/sveltejs/kit/pull/16246)) ### 2.69.1 - Date: 2026-07-06 - Version: 2.69.1 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.69.1 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/2.69.1 - **fixed** — prevent prototype pollution when deleting file inputs - **fixed** — prevent unhandled promise rejection ###### Patch Changes - fix: prevent prototype pollution when deleting file inputs ([#16218](https://github.com/sveltejs/kit/pull/16218)) - fix: prevent unhandled promise rejection ([#16219](https://github.com/sveltejs/kit/pull/16219)) ### 2.69.0 - Date: 2026-07-06 - Version: 2.69.0 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.69.0 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/2.69.0 - **added** — Expose `submitted` property of remote forms - **fixed** — Clear issues and touched states on form reset - **fixed** — Return `undefined` from `fields.branch.issues()` when only `fields.branch.leaf` has issues ###### Minor Changes - feat: expose `submitted` property of remote forms ([#14811](https://github.com/sveltejs/kit/pull/14811)) ###### Patch Changes - fix: clear issues and touched states on form reset ([#16163](https://github.com/sveltejs/kit/pull/16163)) - fix: return `undefined` from `fields.branch.issues()` when only `fields.branch.leaf` has issues ([#16187](https://github.com/sveltejs/kit/pull/16187)) ### 2.68.0 - Date: 2026-07-06 - Version: 2.68.0 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.68.0 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/2.68.0 - **added** — Expose RemoteFormEnhanceInstance and RemoteFormEnhanceCallback types - **added** — Set value of submit fields when form is submitted - **fixed** — Skip native_navigation when __data.json returns 404 on a static fallback page - **fixed** — Ignore third-party monkeypatches in pushState/replaceState warning detection - **fixed** — Snapshot form fields on read - **fixed** — Strip field prefix before erroring on duplicates - **fixed** — Call reset function via prototype ###### Minor Changes - feat: expose `RemoteFormEnhanceInstance` and `RemoteFormEnhanceCallback` types ([#15816](https://github.com/sveltejs/kit/pull/15816)) - feat: set value of `submit` fields when form is submitted ([#15979](https://github.com/sveltejs/kit/pull/15979)) ###### Patch Changes - fix: skip `native_navigation` when `__data.json` returns 404 on a static fallback page ([#16135](https://github.com/sveltejs/kit/pull/16135)) - fix: ignore third-party monkeypatches in `pushState`/`replaceState` warning detection ([#15267](https://github.com/sveltejs/kit/pull/15267)) - fix: snapshot form fields on read ([#16150](https://github.com/sveltejs/kit/pull/16150)) - fix: strip field prefix before erroring on duplicates ([#16151](https://github.com/sveltejs/kit/pull/16151)) - fix: call reset function via prototype ([#16138](https://github.com/sveltejs/kit/pull/16138)) - chore: fix navigation `type` hover info ([#16147](https://github.com/sveltejs/kit/pull/16147)) ### 3.0.0-next.6 - Date: 2026-07-06 - Version: 3.0.0-next.6 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%403.0.0-next.6 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/3.0.0-next.6 - Labels: Pre-release - **changed** — Return no content for 204 responses - **changed** — Form action responses now use the HTTP status code returned from fail - **changed** — Nested server-only directories - **changed** — Add kit.paths.origin config option, remove kit.prerender.origin and the adapter-node ORIGIN environment variable - **changed** — Don't abort navigation when calling invalidate(All) during navigation - **changed** — Allow handleError to influence status code - **changed** — Forbid external redirects by default - **added** — Use type: 'module' for service worker registrations - **added** — Add dirty() property to form fields - **added** — Add cookies.parse method - **fixed** — Drain unconsumed request bodies so keep-alive connections don't hang - **fixed** — Properly handle Date objects in form.fields.set - **fixed** — Skip clean fields when programmatically validating forms - **changed** — Experimental remote form validate({ includeUntouched }) option is now all - **fixed** — Return undefined from fields.branch.issues() when only fields.branch.leaf has issues - **added** — Add field.touched() helper to remote form fields ###### Major Changes - breaking: return no content for 204 responses ([#16200](https://github.com/sveltejs/kit/pull/16200)) - breaking: form action responses now use the HTTP status code returned from `fail` ([#16200](https://github.com/sveltejs/kit/pull/16200)) - breaking: nested server-only directories ([#15685](https://github.com/sveltejs/kit/pull/15685)) - breaking: add `kit.paths.origin` config option, remove `kit.prerender.origin` and the `adapter-node` `ORIGIN` environment variable ([#16161](https://github.com/sveltejs/kit/pull/16161)) - breaking: don't abort navigation when calling `invalidate(All)` during navigation ([#16188](https://github.com/sveltejs/kit/pull/16188)) - breaking: allow `handleError` to influence status code ([#16162](https://github.com/sveltejs/kit/pull/16162)) - breaking: forbid external redirects by default ([#16198](https://github.com/sveltejs/kit/pull/16198)) ###### Minor Changes - feat: use `type: 'module'` for service worker registrations ([#16169](https://github.com/sveltejs/kit/pull/16169)) - feat: add `dirty()` property to form fields ([#16208](https://github.com/sveltejs/kit/pull/16208)) - feat: add `cookies.parse` method ([#16203](https://github.com/sveltejs/kit/pull/16203)) ###### Patch Changes - fix: drain unconsumed request bodies so keep-alive connections don't hang ([#16170](https://github.com/sveltejs/kit/pull/16170)) - fix: properly handle Date objects in form.fields.set ([#16168](https://github.com/sveltejs/kit/pull/16168)) - fix: skip clean fields when programmatically validating forms ([#16208](https://github.com/sveltejs/kit/pull/16208)) - breaking: experimental remote form `validate({ includeUntouched })` option is now `all` ([#16208](https://github.com/sveltejs/kit/pull/16208)) - fix: return `undefined` from `fields.branch.issues()` when only `fields.branch.leaf` has issues ([#16187](https://github.com/sveltejs/kit/pull/16187)) - feat: add field.touched() helper to remote form fields ([#14692](https://github.com/sveltejs/kit/pull/14692)) ### 3.0.0-next.5 - Date: 2026-07-06 - Version: 3.0.0-next.5 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%403.0.0-next.5 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/3.0.0-next.5 - Labels: Pre-release - **removed** — Remove `base`, `assets`, and `resolveRoute` from `$app/paths` - **changed** — Require Svelte config options to be passed through the Vite plugin - **changed** — `goto` now rejects when called with a URL that does not resolve to a route within the app, matching the existing behaviour for external URLs - **added** — Add 'error' result type to `preloadData` - **changed** — Require `vite@^8.0.12`, the first Vite 8 release bundling stable `rolldown` 1.0.0 - **added** — Expose `submitted` property of remote forms - **fixed** — Clear issues and touched states on form reset - **fixed** — Return 404 for form actions and remote functions whose name is an `Object.prototype` member - **added** — Send periodic `keep-alive` SSE comments from `query.live` to prevent idle-timeout errors - **fixed** — Render pages over sibling endpoints without GET or HEAD handlers - **fixed** — Sort directory entries when building the route manifest so node indices are deterministic across runtimes - **fixed** — Include hoisted packages in Vite's `server.fs.allow` list ###### Major Changes - breaking: remove `base`, `assets`, and `resolveRoute` from `$app/paths` ([#15507](https://github.com/sveltejs/kit/pull/15507)) - breaking: require Svelte config options to be passed through the Vite plugin ([#16007](https://github.com/sveltejs/kit/pull/16007)) - breaking: `goto` now rejects when called with a URL that does not resolve to a route within the app, matching the existing behaviour for external URLs ([#16164](https://github.com/sveltejs/kit/pull/16164)) - breaking: add 'error' result type to `preloadData` ([#12579](https://github.com/sveltejs/kit/pull/12579)) - breaking: require `vite@^8.0.12`, the first Vite 8 release bundling stable `rolldown` 1.0.0 ([#16134](https://github.com/sveltejs/kit/pull/16134)) ###### Minor Changes - feat: expose `submitted` property of remote forms ([#14811](https://github.com/sveltejs/kit/pull/14811)) ###### Patch Changes - fix: clear issues and touched states on form reset ([#16163](https://github.com/sveltejs/kit/pull/16163)) - fix: return 404 for form actions and remote functions whose name is an `Object.prototype` member ([#16072](https://github.com/sveltejs/kit/pull/16072)) - feat: send periodic `keep-alive` SSE comments from `query.live` to prevent idle-timeout errors ([#16063](https://github.com/sveltejs/kit/pull/16063)) - fix: render pages over sibling endpoints without GET or HEAD handlers ([#16125](https://github.com/sveltejs/kit/pull/16125)) - fix: sort directory entries when building the route manifest so node indices are deterministic across runtimes (e.g. Bun and Node) ([#16074](https://github.com/sveltejs/kit/pull/16074)) - fix: include hoisted packages in Vite's `server.fs.allow` list ([#15998](https://github.com/sveltejs/kit/pull/15998)) ### 2.67.0 - Date: 2026-06-22 - Version: 2.67.0 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.67.0 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/2.67.0 - **added** — Add `prerender.handleInvalidUrl` option for invalid URLs discovered while crawling - **fixed** — Support `exactOptionalPropertyTypes` for optional form schema fields - **fixed** — Avoid unnecessarily overriding a user's Vite 8 `codeSplitting` setting ###### Minor Changes - feat: add `prerender.handleInvalidUrl` option for invalid URLs discovered while crawling ([#16088](https://github.com/sveltejs/kit/pull/16088)) ###### Patch Changes - fix: support `exactOptionalPropertyTypes` for optional form schema fields ([#15866](https://github.com/sveltejs/kit/pull/15866)) - fix: avoid unnecessarily overriding a user's Vite 8 `codeSplitting` setting ([#16118](https://github.com/sveltejs/kit/pull/16118)) ### 2.66.0 - Date: 2026-06-18 - Version: 2.66.0 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.66.0 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/2.66.0 - **added** — Precompress prerendered `.md` and `.mdx` files - **added** — Warn the user when they forget to make boolean inputs optional in their form schemas - **fixed** — Blur active element before component update during navigation so that blur/focusout handlers fire while old component data is still valid - **fixed** — Ensure `base` is available from `$service-worker` during development - **fixed** — Use correct relative asset paths when rendering an error page for a missing `__data.json` request - **fixed** — Preserve active `for await` consumers across `query.live` reconnects - **fixed** — Settle `query.live` reconnect promise on all exit paths, preventing `invalidateAll()` from deadlocking when a live query is offline or interrupted - **fixed** — Preserve last value when a `query.live` stream completes without yielding on reconnect - **fixed** — Remove `types: ['node']` from generated tsconfig to avoid errors when `@types/node` is not installed - **fixed** — Prefer pages over endpoints when prerendering - **fixed** — Restore snapshots after afterNavigate callbacks - **fixed** — Support `ws:`/`wss:` and `trusted-types-eval` for CSP sources - **fixed** — Omit empty `file` inputs from remote form data - **fixed** — Fail early if a route with `+page` and `+server` is marked as prerenderable - **fixed** — Wait a tick before resetting forms - **fixed** — `preflight` schemas apply correctly when chained before `for` - **fixed** — Fix blank page in SPA mode when root layout `load()` throws - **fixed** — Pass all unknown options from the `sveltekit` Vite plugin through to `vite-plugin-svelte` ###### Minor Changes - feat: precompress prerendered `.md` and `.mdx` files ([#15893](https://github.com/sveltejs/kit/pull/15893)) - feat: warn the user when they forget to make boolean inputs optional in their form schemas ([#15804](https://github.com/sveltejs/kit/pull/15804)) ###### Patch Changes - fix: blur active element before component update during navigation so that blur/focusout handlers fire while old component data is still valid ([#15452](https://github.com/sveltejs/kit/pull/15452)) - fix: ensure `base` is available from `$service-worker` during development ([#15882](https://github.com/sveltejs/kit/pull/15882)) - fix: use correct relative asset paths when rendering an error page for a missing `__data.json` request ([#15884](https://github.com/sveltejs/kit/pull/15884)) - fix: preserve active `for await` consumers across `query.live` reconnects ([#16022](https://github.com/sveltejs/kit/pull/16022)) - fix: settle `query.live` reconnect promise on all exit paths, preventing `invalidateAll()` from deadlocking when a live query is offline or interrupted ([#16022](https://github.com/sveltejs/kit/pull/16022)) - fix: preserve last value when a `query.live` stream completes without yielding on reconnect ([#16022](https://github.com/sveltejs/kit/pull/16022)) - fix: remove `types: ['node']` from generated tsconfig to avoid errors when `@types/node` is not installed ([#15709](https://github.com/sveltejs/kit/pull/15709)) - fix: prefer pages over endpoints when prerendering ([#16076](https://github.com/sveltejs/kit/pull/16076)) - fix: restore snapshots after afterNavigate callbacks ([#16066](https://github.com/sveltejs/kit/pull/16066)) - fix: support `ws:`/`wss:` and `trusted-types-eval` for CSP sources ([#15938](https://github.com/sveltejs/kit/pull/15938)) - fix: omit empty `file` inputs from remote form data ([#15898](https://github.com/sveltejs/kit/pull/15898)) - fix: fail early if a route with `+page` and `+server` is marked as prerenderable ([#16075](https://github.com/sveltejs/kit/pull/16075)) - fix: wait a tick before resetting forms ([#15805](https://github.com/sveltejs/kit/pull/15805)) - fix: `preflight` schemas apply correctly when chained before `for` ([#15863](https://github.com/sveltejs/kit/pull/15863)) - fix: blank page in SPA mode when root layout `load()` throws ([#15798](https://github.com/sveltejs/kit/pull/15798)) - fix: pass all unknown options from the `sveltekit` Vite plugin through to `vite-plugin-svelte` ([#16010](https://github.com/sveltejs/kit/pull/16010)) ### 2.65.2 - Date: 2026-06-16 - Version: 2.65.2 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.65.2 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/2.65.2 - **fixed** — Throw an error when prerendering a root +server.js that returns a non-HTML response - **fixed** — Decode base64-serialized fetch bodies before caching them for client-side replay - **fixed** — Correctly access explicit dynamic public environment variables from prerendered pages and service workers - **fixed** — Allow preloadCode to be called during initial page load - **fixed** — Send cache-control: private, no-store on remote function responses so personalized query results can never be cached by shared caches - **fixed** — Preserve the HTTP status and error body when a remote function request fails in transport instead of reporting a generic 500 - **fixed** — Avoid loading universal nodes during build analysis when the app uses a hash router - **fixed** — Correctly serve client entry during development when using the pnpm global virtual store - **fixed** — Normalize path separators when comparing config - **fixed** — Ensure building resolves correctly to allow avoiding build-time explicit environment variable validation - **fixed** — Prevent unhandled promise rejections when remote function failures are consumed via current/error instead of await ###### Patch Changes - fix: throw an error when prerendering a root +server.js that returns a non-HTML response ([#15994](https://github.com/sveltejs/kit/pull/15994)) - fix: decode base64-serialized fetch bodies before caching them for client-side replay ([#16034](https://github.com/sveltejs/kit/pull/16034)) - fix: correctly access explicit dynamic public environment variables from prerendered pages and service workers ([#16024](https://github.com/sveltejs/kit/pull/16024)) - fix: allow `preloadCode` to be called during initial page load ([#16028](https://github.com/sveltejs/kit/pull/16028)) - fix: send `cache-control: private, no-store` on remote function responses so personalized query results can never be cached by shared caches ([#16020](https://github.com/sveltejs/kit/pull/16020)) - fix: preserve the HTTP status and error body when a remote function request fails in transport (e.g. a 401/403 from a `handle` hook), instead of reporting a generic 500 ([#16021](https://github.com/sveltejs/kit/pull/16021)) - fix: avoid loading universal nodes during build analysis when the app uses a hash router ([#16042](https://github.com/sveltejs/kit/pull/16042)) - fix: correctly serve client entry during development when using the pnpm global virtual store ([#16045](https://github.com/sveltejs/kit/pull/16045)) - fix: normalize path separators when comparing config ([#16037](https://github.com/sveltejs/kit/pull/16037)) - fix: ensure `building` resolves correctly to allow avoiding build-time explicit environment variable validation ([#16058](https://github.com/sveltejs/kit/pull/16058)) - fix: prevent unhandled promise rejections when remote function failures are consumed via `current`/`error` instead of `await` ([#16018](https://github.com/sveltejs/kit/pull/16018)) ### 2.65.1 - Date: 2026-06-14 - Version: 2.65.1 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.65.1 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/2.65.1 - **fixed** — Avoid importing the Vite development client code into builds with a non-standard NODE_ENV - **fixed** — Don't emit the unused bundle and stylesheet files when using bundleStrategy: 'inline' - **fixed** — Reset queries before navigating when invalidateAll is set - **fixed** — Regression in loading assets for absolute path apps ###### Patch Changes - fix: avoid importing the Vite development client code into builds with a non-standard `NODE_ENV` ([#16023](https://github.com/sveltejs/kit/pull/16023)) - fix: don't emit the unused bundle and stylesheet files when using `bundleStrategy: 'inline'` ([#16025](https://github.com/sveltejs/kit/pull/16025)) - fix: reset queries before navigating when `invalidateAll` is set ([#16014](https://github.com/sveltejs/kit/pull/16014)) - fix: regression in loading assets for absolute path apps ([#16026](https://github.com/sveltejs/kit/pull/16026)) ### 3.0.0-next.4 - Date: 2026-06-11 - Version: 3.0.0-next.4 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%403.0.0-next.4 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/3.0.0-next.4 - Labels: Pre-release - **fixed** — reset queries before navigating when invalidateAll is set ###### Patch Changes - fix: reset queries before navigating when `invalidateAll` is set ([#16014](https://github.com/sveltejs/kit/pull/16014)) ### 3.0.0-next.3 - Date: 2026-06-11 - Version: 3.0.0-next.3 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%403.0.0-next.3 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/3.0.0-next.3 - Labels: Pre-release - **added** — Allow queries to refresh other queries - **fixed** — Dedupe remote data - **fixed** — Skip client build if all routes have CSR disabled ###### Minor Changes - feat: allow queries to refresh other queries ([#16012](https://github.com/sveltejs/kit/pull/16012)) ###### Patch Changes - fix: dedupe remote data ([#15991](https://github.com/sveltejs/kit/pull/15991)) - fix: skip client build if all routes have CSR disabled ([#15936](https://github.com/sveltejs/kit/pull/15936)) ### 2.65.0 - Date: 2026-06-11 - Version: 2.65.0 - Original notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.65.0 - Permalink: https://whatsnew.fyi/product/sveltekit/releases/2.65.0 - **added** — Allow queries to refresh other queries - **fixed** — Dedupe remote data - **fixed** — Skip client build if all routes have CSR disabled ###### Minor Changes - feat: allow queries to refresh other queries ([#16012](https://github.com/sveltejs/kit/pull/16012)) ###### Patch Changes - fix: dedupe remote data ([#15991](https://github.com/sveltejs/kit/pull/15991)) - fix: skip client build if all routes have CSR disabled ([#15936](https://github.com/sveltejs/kit/pull/15936))