---
name: kit
slug: kit
type: github
source_url: https://github.com/sveltejs/kit
organization: Svelte
organization_slug: svelte
total_releases: 100
latest_version: @sveltejs/kit@2.59.0
latest_date: 2026-05-01
last_updated: 2026-05-01
tracking_since: 2025-09-23
canonical: https://releases.sh/svelte/kit
organization_url: https://releases.sh/svelte
---

<Release version="@sveltejs/kit@2.59.0" date="May 1, 2026" published="2026-05-01T16:15:19.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.59.0">
### Minor Changes

-   feat: support `query.batch` in `requested(...)` ([#15751](https://github.com/sveltejs/kit/pull/15751))


-   breaking: on the server, make the promise returned from `refresh` represent adding the refresh to the map, not the time it takes to run the remote function ([#15705](https://github.com/sveltejs/kit/pull/15705))


-   feat: experimental `query.live` function ([#15705](https://github.com/sveltejs/kit/pull/15705))

### Patch Changes

-   fix: unwrap `Promise` in `RemoteCommand` output type ([#15771](https://github.com/sveltejs/kit/pull/15771))


-   fix: empty call to `.updates()` on a command/form invocation means "don't update anything" ([#15705](https://github.com/sveltejs/kit/pull/15705))


-   fix: `form.fields.foo.as('checkbox', default_value)` now works ([#15752](https://github.com/sveltejs/kit/pull/15752))


-   fix: remote forms with default values defined by `field.as('text', defaultValue)` now correctly reset to the provided default values once submitted ([#15753](https://github.com/sveltejs/kit/pull/15753))


-   fix: make sure queries always get started correctly ([#15705](https://github.com/sveltejs/kit/pull/15705))


-   fix: allow plain functions as overrides in `updates` ([#15705](https://github.com/sveltejs/kit/pull/15705))

</Release>

<Release version="@sveltejs/kit@2.58.0" date="April 23, 2026" published="2026-04-23T23:43:15.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.58.0">
### Minor Changes

-   breaking: require `limit` in `requested` (as originally intended) ([#15739](https://github.com/sveltejs/kit/pull/15739))


-   feat: `RemoteQueryFunction` gains an optional third generic parameter `Validated` (defaulting to `Input`) that represents the argument type after schema validation/transformation ([#15739](https://github.com/sveltejs/kit/pull/15739))


-   breaking: `requested` now yields `{ arg, query }` entries instead of the validated argument ([#15739](https://github.com/sveltejs/kit/pull/15739))

### Patch Changes

-   fix: allow `query().current`, `.error`, `.loading`, and `.ready` to work in non-reactive contexts ([#15699](https://github.com/sveltejs/kit/pull/15699))


-   fix: prevent `deep_set` crash on nullish nested values ([#15600](https://github.com/sveltejs/kit/pull/15600))


-   fix: restore correct `RemoteFormFields` typing for nullable array fields (e.g. when a schema uses `.default([])`), so `.as('checkbox')` and friends work again ([#15723](https://github.com/sveltejs/kit/pull/15723))


-   fix: don't warn about removed SSI comments in `transformPageChunk` ([#15695](https://github.com/sveltejs/kit/pull/15695))

    Server-side include (SSI) directives like `<!--#include virtual="..." -->` are HTML comments that are replaced by servers such as nginx. Previously, removing them in `transformPageChunk` would trigger a false positive warning about breaking Svelte's hydration. Since SSI comments always start with `<!--#` and Svelte's hydration comments never do, they can be safely excluded from the check.

-   Change enhance function return type from void to MaybePromise<void>. ([#15710](https://github.com/sveltejs/kit/pull/15710))


-   fix: throw an error when `resolve` is called with an external URL ([#15733](https://github.com/sveltejs/kit/pull/15733))


-   fix: avoid FOUC for CSR-only pages by loading styles and fonts before CSR starts ([#15718](https://github.com/sveltejs/kit/pull/15718))


-   fix: reset form result on redirect ([#15724](https://github.com/sveltejs/kit/pull/15724))

</Release>

<Release version="@sveltejs/kit@2.57.1" date="April 9, 2026" published="2026-04-09T21:45:47.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.57.1">
### Patch Changes

-   fix: better validation for `redirect` inputs ([`10d7b44`](https://github.com/sveltejs/kit/commit/10d7b44425c3d9da642eecce373d0c6ef83b4fcd))


-   fix: enforce `BODY_SIZE_LIMIT` on chunked requests ([`3202ed6`](https://github.com/sveltejs/kit/commit/3202ed6c98f9e8d86bf0c4c7ad0f2e273e5e3b95))


-   fix: use default values as fallbacks ([#15680](https://github.com/sveltejs/kit/pull/15680))


-   fix: relax form typings for union types ([#15687](https://github.com/sveltejs/kit/pull/15687))

</Release>

<Release version="@sveltejs/kit@2.57.0" date="April 8, 2026" published="2026-04-08T01:00:56.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.57.0">
### Minor Changes

-   feat: return boolean from `submit` to indicate submission validity for enhanced `form` remote functions ([#15530](https://github.com/sveltejs/kit/pull/15530))

### Patch Changes

-   fix: use array type for select fields that accept multiple values ([#15591](https://github.com/sveltejs/kit/pull/15591))


-   fix: silently 404 Chrome DevTools workspaces request in dev and preview ([#15656](https://github.com/sveltejs/kit/pull/15656))


-   fix: `config.kit.csp.directives['trusted-types']` requires `'svelte-trusted-html'` (and `'sveltekit-trusted-url'` when a service worker is automatically registered) if it is configured ([#15323](https://github.com/sveltejs/kit/pull/15323))


-   fix: avoid inlineDynamicImports ignored with codeSplitting warning when using Vite 8 ([#15647](https://github.com/sveltejs/kit/pull/15647))


-   fix: reimplement treeshaking non-dynamic prerendered remote functions ([#15447](https://github.com/sveltejs/kit/pull/15447))

</Release>

<Release version="@sveltejs/kit@2.56.1" date="April 3, 2026" published="2026-04-03T21:19:41.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.56.1">
### Patch Changes

-   chore: update JSDoc ([#15640](https://github.com/sveltejs/kit/pull/15640))

</Release>

<Release version="@sveltejs/kit@2.56.0" date="April 3, 2026" published="2026-04-03T20:20:18.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.56.0">
### Minor Changes

-   breaking: rework client-driven refreshes ([#15562](https://github.com/sveltejs/kit/pull/15562))


-   breaking: stabilize remote function caching by sorting object keys ([#15570](https://github.com/sveltejs/kit/pull/15570))


-   breaking: add `run()` method to queries, disallow awaiting queries outside render ([#15533](https://github.com/sveltejs/kit/pull/15533))


-   feat: support TypeScript 6.0 ([#15595](https://github.com/sveltejs/kit/pull/15595))


-   breaking: isolate command-triggered query refresh failures per-query ([#15562](https://github.com/sveltejs/kit/pull/15562))


-   feat: use `hydratable` for remote function transport ([#15533](https://github.com/sveltejs/kit/pull/15533))


-   feat: allow `form` fields to specify a default value (`field.as(type, value)`) ([#15577](https://github.com/sveltejs/kit/pull/15577))

### Patch Changes

-   fix: don't request new data when `.refresh` is called on a query with no cache entry ([#15533](https://github.com/sveltejs/kit/pull/15533))


-   fix: allow using multiple remote functions within one async derived ([#15561](https://github.com/sveltejs/kit/pull/15561))


-   fix: avoid false-positive overridden Vite `base` setting warning when setting a `paths.base` in `svelte.config.js` ([#15623](https://github.com/sveltejs/kit/pull/15623))


-   fix: manage queries in their own `$effect.root` ([#15533](https://github.com/sveltejs/kit/pull/15533))


-   fix: avoid `inlineDynamicImports` deprecation warning when building the service worker with Vite 8 ([#15550](https://github.com/sveltejs/kit/pull/15550))


-   fix: correctly escape backticks when precomputing CSS ([#15593](https://github.com/sveltejs/kit/pull/15593))


-   fix: discard obsolete forks before finishing navigation ([#15634](https://github.com/sveltejs/kit/pull/15634))


-   chore: tighten up override implementation ([#15562](https://github.com/sveltejs/kit/pull/15562))


-   fix: ensure the default Svelte 5 `error.svelte` file uses runes mode ([#15609](https://github.com/sveltejs/kit/pull/15609))


-   fix: deduplicate same-cache-key `batch` calls during SSR ([#15533](https://github.com/sveltejs/kit/pull/15533))


-   fix: decrement pending_count when form callback doesn't call submit() ([#15520](https://github.com/sveltejs/kit/pull/15520))

</Release>

<Release version="@sveltejs/enhanced-img@0.10.4" date="March 12, 2026" published="2026-03-12T22:01:57.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/enhanced-img%400.10.4">
### Patch Changes

-   chore: add support for vite-plugin-svelte 7 ([#15539](https://github.com/sveltejs/kit/pull/15539))

</Release>

<Release version="@sveltejs/kit@2.55.0" date="March 12, 2026" published="2026-03-12T22:01:54.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.55.0">
### Minor Changes

-   feat: page and layout params with matchers are now type narrowed in `$app/types`, leading to better type safety when working with params in `$app/types`, `$app/state`, and hooks. ([#15502](https://github.com/sveltejs/kit/pull/15502))

</Release>

<Release version="@sveltejs/kit@2.54.0" date="March 11, 2026" published="2026-03-11T16:50:42.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.54.0">
### Minor Changes

-   feat: allow error boundaries to catch errors on the server ([#15308](https://github.com/sveltejs/kit/pull/15308))

### Patch Changes

-   chore: upgrade `devalue` ([#15535](https://github.com/sveltejs/kit/pull/15535))


-   fix: don't wait for remote functions that are not awaited in the template ([#15280](https://github.com/sveltejs/kit/pull/15280))


-   feat: allow `resolve()` to accept pathnames with a search string and/or hash ([#15458](https://github.com/sveltejs/kit/pull/15458))


-   chore: remove deprecation warnings for `config.kit.files.*` options when validating the Svelte config file ([#15482](https://github.com/sveltejs/kit/pull/15482))


-   fix: handles form target attribute in remote form redirects ([#15457](https://github.com/sveltejs/kit/pull/15457))

</Release>

<Release version="@sveltejs/kit@2.53.4" date="February 28, 2026" published="2026-02-28T00:48:29.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.53.4">
### Patch Changes

-   fix: avoid Vite warning about unknown `codeSplitting` option ([#15451](https://github.com/sveltejs/kit/pull/15451))

</Release>

<Release version="@sveltejs/kit@2.53.3" date="February 26, 2026" published="2026-02-26T22:05:56.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.53.3">
### Patch Changes

-   fix: prevent overlapping file metadata in remote functions `form` ([`faba869`](https://github.com/sveltejs/kit/commit/faba869db3644077169bf5d7c6e41fd5f3d6c65e))

</Release>

<Release version="@sveltejs/adapter-node@5.5.4" date="February 26, 2026" published="2026-02-26T20:11:07.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/adapter-node%405.5.4">
### Patch Changes

-   chore(deps): bump rollup to 4.59.0 ([#15433](https://github.com/sveltejs/kit/pull/15433))

</Release>

<Release version="@sveltejs/kit@2.53.2" date="February 25, 2026" published="2026-02-25T16:45:22.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.53.2">
### Patch Changes

-   fix: server-render nested form value sets ([#15378](https://github.com/sveltejs/kit/pull/15378))


-   fix: use deep partial types for form remote functions `.value()` and `.set(...)` ([#14837](https://github.com/sveltejs/kit/pull/14837))


-   fix: provide correct url info to remote functions ([#15418](https://github.com/sveltejs/kit/pull/15418))


-   fix: allow optional types for remote query/command/prerender functions ([#15293](https://github.com/sveltejs/kit/pull/15293))


-   fix: allow commands in more places ([#15288](https://github.com/sveltejs/kit/pull/15288))

</Release>

<Release version="@sveltejs/adapter-netlify@6.0.4" date="February 24, 2026" published="2026-02-24T23:43:13.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/adapter-netlify%406.0.4">
### Patch Changes

-   fix: generate a catch-all function that handles remote function requests and unknown routes when the app is configured to use split functions ([#15375](https://github.com/sveltejs/kit/pull/15375))

</Release>

<Release version="@sveltejs/adapter-vercel@6.3.3" date="February 24, 2026" published="2026-02-24T23:43:09.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/adapter-vercel%406.3.3">
### Patch Changes

-   fix: ensure build does not copy Vercel build environment system files ([#15400](https://github.com/sveltejs/kit/pull/15400))

</Release>

<Release version="@sveltejs/kit@2.53.1" date="February 24, 2026" published="2026-02-24T23:43:07.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.53.1">
### Patch Changes

-   fix: address warning about `inlineDynamicImports` when using Vite 8 ([#15403](https://github.com/sveltejs/kit/pull/15403))

</Release>

<Release version="@sveltejs/adapter-netlify@6.0.3" date="February 20, 2026" published="2026-02-20T20:59:37.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/adapter-netlify%406.0.3">
### Patch Changes

-   fix: correctly route requests to server load functions when the adapter is configured to used split functions ([#15367](https://github.com/sveltejs/kit/pull/15367))

</Release>

<Release version="@sveltejs/kit@2.53.0" date="February 20, 2026" published="2026-02-20T17:25:04.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/kit%402.53.0">
### Minor Changes

-   feat: support Vite 8 ([#15024](https://github.com/sveltejs/kit/pull/15024))

### Patch Changes

-   fix: remove event listeners on form attachment cleanup ([#15286](https://github.com/sveltejs/kit/pull/15286))


-   fix: apply queries refreshed in a form remote function when a redirect is thrown ([#15362](https://github.com/sveltejs/kit/pull/15362))

</Release>

<Release version="@sveltejs/enhanced-img@0.10.3" date="February 20, 2026" published="2026-02-20T17:25:01.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/enhanced-img%400.10.3">
### Patch Changes

-   fix: use jpg as a fallback format when source doesn't have an alpha channel ([#15243](https://github.com/sveltejs/kit/pull/15243))

</Release>

<Release version="@sveltejs/adapter-vercel@6.3.2" date="February 18, 2026" published="2026-02-18T19:50:53.000Z" url="https://github.com/sveltejs/kit/releases/tag/%40sveltejs/adapter-vercel%406.3.2">
### Patch Changes

-   fix: 404 for immutable assets that don't match static files ([`c67da8a`](https://github.com/sveltejs/kit/commit/c67da8ab6380349b30c353247688369eaef58c05))

-   Updated dependencies \[[`3e607b3`](https://github.com/sveltejs/kit/commit/3e607b314aec9e5f278d32847945b8b6323e1cb8), [`62991c8`](https://github.com/sveltejs/kit/commit/62991c81db4f50ccfb08a9ac5e05ccba4ddab59e), [`f47c01b`](https://github.com/sveltejs/kit/commit/f47c01bd8100328c24fdb8522fe35913b0735f35)]:
    -   @sveltejs/kit@2.52.2

</Release>

<Pagination page="1" total-pages="5" total-items="100" next="https://releases.sh/svelte/kit.md?page=2" />
