New SvelteMap methods in Svelte 5.57, more SvelteKit 3 iteration and sv 1.0 previews SvelteKit 3 migrations
This month, Svelte 5.57 shipped with new SvelteMap
methods and a few quality-of-life additions while SvelteKit 3 got closer to the finish line with its Release Candidate.
The sv
CLI also got a new ai-tools
add-on that replaces the old mcp
one, and sv@next
now ships a task-based sveltekit-3
migration for existing apps.
Let’s dive a bit deeper!
What’s new in Svelte #
SvelteMap
now hasgetOrInsert
andgetOrInsertComputed
methods for the common “read or initialize” pattern (5.57.0,Docs,#18728)createContext
now returns a thirdhas
function so you can check whether a context has been set without triggering the`get`
error (**5.57.0**,[Docs](https://svelte.dev/docs/svelte/context),[#18472](https://github.com/sveltejs/svelte/pull/18472))`<select>`
now supports thedefaultValue
attribute, so the select reverts to that value on form reset (5.57.0,#18591)svelte/server
now exports theRenderOutput
,SyncRenderOutput
,Csp
andSha256Source
types for typing server render output and CSP sources (**5.57.0**,[#18648](https://github.com/sveltejs/svelte/pull/18648))
For the full list of patches and bug fixes, see the Svelte [CHANGELOG](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md).
What’s new in SvelteKit 3’s RC #
Prereleases have kept rolling on the @next
line this month, adding a few more features and refining the surface:
- Enhanced cross-page form actions now navigate to the action page on success and failure, matching native form behavior (
3.0.0-next.17, breaking,#16684) - Adapter Vite plugins can now be split into
pre
andpost
groups so adapters can run transforms at the right point in the pipeline (3.0.0-next.18, breaking,#16711) - Files with
+
prefixes are now ignored during routing if their names containtest
,spec
orstories
, so colocated tests don’t accidentally become routes (3.0.0-next.19,#16715) - Development-server response logging is now nicer to read and routes through Vite’s logger so it respects
logLevel
andcustomLogger
(3.0.0-next.20/25,#16744,#16858) defineParams
and the associated types have moved to@sveltejs/kit/params
(3.0.0-next.19, breaking,#16716)+server.js
files can now export aQUERY
HTTP method handler (3.0.0-next.24,#16782)- The
preload
filter for fonts now receives the project-relative sourcefilename
so you can filter by directory or component (3.0.0-next.24,#16443) - Adapters can call the new
applyReroute
helper for split serverless function deployments (**3.0.0-next.25**,[#16665](https://github.com/sveltejs/kit/pull/16665))
For the meantime, all of the SvelteKit 3 docs live on [next.svelte.dev](https://next.svelte.dev/docs/kit/migrating-to-sveltekit-3), and the full changelog is on the [version-3 branch](https://github.com/sveltejs/kit/blob/version-3/packages/kit/CHANGELOG.md). The stable 2.x line kept moving too with three patch releases (**2.70.1**, **2.70.2**, **2.70.3**) - see the [SvelteKit CHANGELOGs](https://github.com/sveltejs/kit/tree/main/packages) for the details.
What’s new in the Svelte CLI and Language Tools #
- The
mcp
add-on has been replaced with a broaderai-tools
add-on that can set up the Svelte plugin (Claude Code, opencode) or pick individual tools (MCP server, skills, sub-agents) per client (sv@0.17.0,Docs,#1050) @sveltejs/sv-utils
picks upisKit3
,resolveLibPrefix
andlibSubpathImports
helpers so add-ons can transparently handle SvelteKit 2 and 3 (sv-utils@0.3.3,#1199)sv migrate
has been reworked to prepare for the SvelteKit 3 migration - it now lists tasks, ships asveltekit-3
task that bumps dependencies and rewrites$lib
to#lib
, adds an$app/state
task, delegates the older migrations tosvelte-migrate@1
, and creates a list of changes a developer or agent should resolve if they cannot be migrated automatically (sv@1.0.0-next.0,Docs,#1138,#1241,#1249)- Newly created projects use
#lib
(Node subpath imports) instead of`$lib`
, matching SvelteKit 3 (**sv@1.0.0-next.0**,[#1185](https://github.com/sveltejs/cli/pull/1185)) - Community add-ons no longer require a scoped package name (
**sv@1.0.0-next.4**,[#1216](https://github.com/sveltejs/cli/pull/1216)) - The
experimental
add-on is now scoped to enabling experimental features, and theversions
option value was renamed tokit-3
(sv@1.0.0-next.0, breaking,#1241,#1185) - Vite plugin gets a
dynamicCompileOptions
argument for the current Vite environment, useful when you want to compile differently for the client, server or SSR environment (vite-plugin-svelte@7.3.0,#1386) svelte2tsx
andsvelte-check
learn about SvelteKit 3’s flattened config structure so the type generation and diagnostics keep working through the migration (svelte-check@4.7.6/svelte2tsx@0.7.61/svelte-language-server@0.18.4,#3104,#3106)
Want to dive deeper? Check out the Svelte CLI, language-tools and ai-tools releases.
Community Showcase #
Apps & Sites built with Svelte
EdenTextis a fully local open-source word processor for.odt
and.docx
documents that runs entirely in the browser or as a PWAKraa.iois a minimal-interface text editor and publishing platform where you can instantly make your writing publicNote by Noteis a browser extension for musicians that transposes, slows down and removes vocals from YouTube videos in real time (GitHub)Roomyis an AT Protocol-based Discord alternative for group chats in the AtmosphereTaxing Wagesis a salary tax calculator for 32 OECD countries built on the OECD’s taxing wages data
Learning Resources
This Week in Svelte
To Read
Tested SvelteKit on Cloudflare. Oooooh boy...is a write-up on porting a full app to SvelteKit + Cloudflare Workers + KV + D1 + Hyperdrive + Better Auth and coming away impressed
Libraries, Tools & Components
UI Components and Design Systems
Svelte DataTables Componentsis a free collection of 16 data-table components and 11 pre-built table blocks on top of TanStack Table v9, installable via the shadcn-svelte CLISvelte Fancy Componentsis a port of Fancy Components with 14 unique text and media effects like Scramble In, Letter Swap and Pixel TrailSVAR Svelte Calendar and Kanbanadd event calendar and Kanban board components to the SVAR Svelte library, both with drag and drop, filtering and iCal import/exportMUKADE UIis a terminal-style UI component libraryMaterial Svelteis a Material Design 3-inspired UI libraryBeautiful UI Svelteis a port of a set of React AI-app components
Animations and Icons
morphiconsis an icon library where any stroke icon morphs into any other with a single prop changeAmicro SVis a port of Amicro, a curated library of micro-interaction and transition componentsszis a framework-agnostic library with 70 canvas-based motion states, exposed as a custom element with typed entry points for React, Vue and Svelte
Frameworks and Dev Tools
ogygiabrings SSR islands to SvelteKit, from Svelte contributorPuru VJTanStack Table v9shipped stable with its first Svelte-native adapter that connects directly to runes, plus Svelte-specific docs and a shadcn-svelte exampleWait0is a dynamic cache with SWR warmup and sitemap discovery for SvelteKit that serves pages instantly and revalidates in the background
That’s it for this month! Let us know if we missed anything on Reddit or Discord. Until next time 👋🏼!