The Svelte team has released SvelteKit 3 as a release candidate. This update focuses on refining the framework's codebase and establishing a foundation for future development, rather than introducing new features. A stable release is anticipated following successful testing, with no further breaking changes planned.
A significant change in SvelteKit 3 is the relocation of configuration. The svelte.config.js file from SvelteKit 2 has been removed, and all configuration now resides in vite.config.ts. This change allows the Vite plugin to read configuration synchronously, eliminating an asynchronous resolution step that previously delayed the full Vite config resolution. This transition was initiated in version 2.62 and is now finalized.
The $lib alias has been retired in favor of #lib. This new alias leverages Node's native subpath imports, which are declared in package.json, rather than a SvelteKit-specific path that required coordination between Vite and TypeScript. Developers will now also need to include file extensions, changing paths like $lib/foo to #lib/foo.js. While some developers expressed initial reservations about this change, the move to native package.json alias definitions is seen as beneficial for consistency and broader utility.
Existing applications can migrate using the CLI command: npx sv@next migrate sveltekit-3 --tasks all --confirm. Other updates include tsconfig.json now extending $app/tsconfig, service workers pulling from $app/env, $app/paths, and a new $app/manifest module. Explicit environment variables have graduated from experimental status with optional Standard Schema validation. Error handling has also improved, as SvelteKit 3 requires Svelte 5, enabling +error.svelte components to render on both load and render failures, routing all errors through handleError, and providing sourcemaps for stack traces. Shallow routing now uses goto with a shallow: true option instead of pushState.
✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →
One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.
One email a day. Unsubscribe in one click, any time.
Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.
▶ Play today's briefNew every morning, and the back catalogue is archived by date.
SvelteKit 3, the official application framework for Svelte, is now available, introducing enhanced type safety and reduced boilerplate. The release includes a migration tool to assist users in updating existing codebases.
SvelteKit 3 has entered its release candidate phase, focusing on code pruning and foundational changes rather than new features. Key updates include moving configuration to vite.config.ts and replacing the $lib alias with #lib, which uses native Node subpath imports.