What changed
The Svelte team released SvelteKit 3 on October 1, 2026 alongside sv CLI 1.0. The major removes svelte.config.js in favour of passing SvelteKit configuration through the Vite plugin in vite.config.js, replaces the $lib alias with #lib based on standard subpath imports, removes legacy modules and updates environment/error handling. Minimum dependencies include Node 22.17, TypeScript 6, Svelte 5.57.1 and Vite 8.0.12. The sv migrate sveltekit-3 command handles many mechanical changes and emits TODOs for remaining manual work.
Why it matters
A production framework major can affect every build, test and deployment path, not just application syntax. Consolidating configuration with Vite reduces parallel config systems, while standard imports and stricter typing change assumptions in older SvelteKit projects. The CLI migration tool reduces effort but cannot guarantee application semantics or adapter compatibility.
Configuration moves to the Vite plugin
SvelteKit configuration previously stored in svelte.config.js must move to vite.config.js. Tooling that reads or generates the old file needs updating.
Aliases and legacy APIs change
The $lib alias is replaced by #lib, and older app/store and service-worker paths are retired. Migration diagnostics and codemods cover much but not all cases.
Runtime requirements jump
SvelteKit 3 requires Node 22.17, TypeScript 6, Svelte 5.57.1 and Vite 8.0.12 or newer. CI, host images and adapters need version checks.
sv 1.0 supports the migration
The official CLI reached 1.0 and includes a migration command plus an official community add-on API, making scaffolding and upgrades more consistent.