Skip to main content

What’s new in Svelte: September 2026

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 has getOrInsert and getOrInsertComputed methods for the common “read or initialize” pattern (5.57.0, Docs, #18728)
  • createContext now returns a third has function so you can check whether a context has been set without triggering the get error (5.57.0, Docs, #18472)
  • <select> now supports the defaultValue attribute, so the select reverts to that value on form reset (5.57.0, #18591)
  • svelte/server now exports the RenderOutput, SyncRenderOutput, Csp and Sha256Source types for typing server render output and CSP sources (5.57.0, #18648)

For the full list of patches and bug fixes, see the Svelte CHANGELOG.

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 and post 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 contain test, spec or stories, 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 and customLogger (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 a QUERY HTTP method handler (3.0.0-next.24, #16782)
  • The preload filter for fonts now receives the project-relative source filename 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)

For the meantime, all of the SvelteKit 3 docs live on next.svelte.dev, and the full changelog is on the version-3 branch. 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 for the details.

What’s new in the Svelte CLI and Language Tools

  • The mcp add-on has been replaced with a broader ai-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 up isKit3, resolveLibPrefix and libSubpathImports 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 a sveltekit-3 task that bumps dependencies and rewrites $lib to #lib, adds an $app/state task, delegates the older migrations to svelte-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)
  • Community add-ons no longer require a scoped package name (sv@1.0.0-next.4, #1216)
  • The experimental add-on is now scoped to enabling experimental features, and the versions option value was renamed to kit-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 and svelte-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

  • EdenText is a fully local open-source word processor for .odt and .docx documents that runs entirely in the browser or as a PWA
  • Kraa.io is a minimal-interface text editor and publishing platform where you can instantly make your writing public
  • Note by Note is a browser extension for musicians that transposes, slows down and removes vocals from YouTube videos in real time (GitHub)
  • Roomy is an AT Protocol-based Discord alternative for group chats in the Atmosphere
  • Taxing Wages is a salary tax calculator for 32 OECD countries built on the OECD’s taxing wages data

Learning Resources

This Week in Svelte

  • Ep. 148 - Changelog
  • Ep. 149 - Changelog, ogygia – SSR islands and lakes in SvelteKit

To Read

Libraries, Tools & Components

UI Components and Design Systems

  • Svelte DataTables Components is 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 CLI
  • Svelte Fancy Components is a port of Fancy Components with 14 unique text and media effects like Scramble In, Letter Swap and Pixel Trail
  • SVAR Svelte Calendar and Kanban add event calendar and Kanban board components to the SVAR Svelte library, both with drag and drop, filtering and iCal import/export
  • MUKADE UI is a terminal-style UI component library
  • Material Svelte is a Material Design 3-inspired UI library
  • Beautiful UI Svelte is a port of a set of React AI-app components

Animations and Icons

  • morphicons is an icon library where any stroke icon morphs into any other with a single prop change
  • Amicro SV is a port of Amicro, a curated library of micro-interaction and transition components
  • loadersz is a framework-agnostic loader 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

  • ogygia brings SSR islands to SvelteKit, from Svelte contributor Puru VJ
  • TanStack Table v9 shipped stable with its first Svelte-native adapter that connects directly to runes, plus Svelte-specific docs and a shadcn-svelte example
  • Wait0 is 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 👋🏼!