← Back to all sparks
S

Svelte

DEVOPS
Velocity6.3

Cybernetically enhanced web apps framework

SvelteKit 3 reaches release candidate: breaking changes are frozen and the migration path is open

web-frameworksveltekitmajor-releaseremote-functionsbuild-toolingmigration
Current state
SvelteKit 3 has moved from preview to release candidate, with the team signalling no further breaking changes before stable. Configuration now lives in vite.config.ts instead of svelte.config.js, and an `sv@next migrate sveltekit-3` codemod handles most of the upgrade automatically while flagging the rest as a TODO list. The 2.x line kept shipping through the same period - remote form `submitted`, a relocated `defineEnvVars`, and zero-config error page props.
Where it's heading
The major is arriving as a consolidation rather than a rewrite: most of what lands in 3.0 was previewed in the 2.x line first, so the upgrade cost stays low by design. The centre of gravity has been remote functions and forms for six straight months, and Kit 3 mostly finalises that surface while pruning the configuration story. With breaking changes now frozen, the work shifts from designing the major to getting the ecosystem - adapters, language tools, community plugins - onto it.
Prediction
The stable SvelteKit 3 release is the next milestone, and the team has tied it to RC feedback rather than a date. Expect the monthly digests to fill with adapter and tooling updates catching up to the vite.config.ts requirement before that lands.

Recent moves

  1. 6d ago

    The SvelteKit 3 Release Candidate is here

    The RC freezes SvelteKit 3's breaking changes and publishes the migration path, including an `sv@next migrate sveltekit-3` codemod and docs on next.svelte.dev. It consolidates work already reported here - the vite.config.ts move surfaced in July, the @next preview line in August - into a stable target rather than adding capability.

    View source ↗
  2. 18d ago

    SvelteKit 3 opens its preview line with 13 @next releases

    ⚡ SPARK

    The August digest opened the SvelteKit 3 preview line with thirteen @next releases in July, covering new $app/manifest and $app/service-worker modules, tracing leaving the experimental namespace, and shallow routing folded into goto. It set up the release candidate that followed twelve days later.

    View source ↗
  3. 1mo ago

    SvelteKit config moves into vite.config.js

    July previewed the configuration change that SvelteKit 3 now requires: passing Kit config straight to the Vite plugin so svelte.config.js becomes optional. Experimental explicit environment variables landed alongside it as the eventual replacement for $env/* modules.

    View source ↗
  4. 2mo ago

    Remote functions gain .live() queries and batched requests

    Remote functions gained query.live(...) for long-lived subscriptions and awaitable queries outside render, with breaking changes to requested(...) and the removal of .run(). This is the remote-function surface being reshaped in the 2.x line ahead of the major.

    View source ↗
  5. 3mo ago

    TypeScript 6.0 support and richer remote function transport

    TypeScript 6.0 support, form field default values, and a hydratable-based transport for richer remote query result types. Another month of remote-function churn, including breaking changes to caching and query permissions.

    View source ↗
  6. 4mo ago

    Svelte MCP gets OpenCode packaging; best practices guide lands

    The Svelte MCP picked up OpenCode packaging, svelte.config.js gained functions as a single source of truth for compiler options, and error boundaries began catching server-side errors. Groundwork for the config consolidation that Kit 3 completes.

    View source ↗