What’s new in Svelte: August 2026
The SvelteKit 3 preview lands with new $app modules, zero-config error props and refreshAll
The biggest news this month is the first @next releases of SvelteKit 3. Thirteen preview versions shipped in July: previewing new $app/manifest and $app/service-worker modules, improved API availability and type checking in service workers, tracing out of the experimental namespace, shallow routing baked into goto and a lot more. It's a prerelease, but it's worth trying out to see what's coming to SvelteKit!
Alongside the preview releases, the stable line kept moving with submitted on remote forms and a new home for defineEnvVars. The language tools also picked up zero-config +error.svelte props so error pages get their page and error types with no extra setup.
And, in case you missed it, Svelte Summit Ljubljana 2026 is happening November 19-20, with a workshop day on November 18, the day before the summit. Save the date!
What's new in SvelteKit
- Remote forms now expose a
submittedproperty so you can react to the moment a form is submitted without waiting for the response (2.69.0, Docs, #14811) defineEnvVarshas moved from@sveltejs/kitto@sveltejs/kit/envso environment helpers live in a dedicated subpath (2.70.0, Docs, #16378)
SvelteKit 3 preview
The next major version has landed in @next. Here are the highlights from 3.0.0-next.5 through 3.0.0-next.13 that you'll actually want to try out:
- Shallow routing is now built into
gotovia a newstateoption (withpersistState: trueto keep state across reloads), replacingpushStateandreplaceState(3.0.0-next.13, #16449) goto'snoScrollandkeepFocusoptions (and their matchingdata-sveltekit-*attributes) collapse into a singleresetoption (3.0.0-next.13, #16558)error(status, {...})is deprecated in favor oferror(status, message, {...})so error messages are always required (3.0.0-next.13, #16540)refreshAllreplacesinvalidateAll, which is now deprecated (3.0.0-next.8, #16289)- A new
$app/manifestmodule exposesimmutable,assets,prerenderedandroutesso you can introspect the build output at runtime (3.0.0-next.12, #16372) - A new
$app/service-workermodule replaces the old$service-worker, and$app/pathsis now importable inside service workers (3.0.0-next.12, #16458, #16441) - SvelteKit now detects new deployments on data, remote and form action responses, on tab focus and on visibility change, with a default
version.pollIntervalof one hour (3.0.0-next.12, #16496) - Sourcemaps are now supported in production builds (3.0.0-next.11, #16412)
- Tracing has moved out of the experimental namespace and the
instrumentationflag has been removed (3.0.0-next.7, #16260) - Form fields pick up a
dirty()helper and remote forms get a newfield.touched()for better validation UX (3.0.0-next.6, #16208, #14692)
Full preview details (including expected breaking changes) are in the SvelteKit 3 CHANGELOG.
For all the features and bugfixes across the stable line and adapters, check out the SvelteKit CHANGELOGs.
What's new in the Svelte CLI and Language Tools
svnow picks the right package manager more reliably, with detection that respects the lockfile in nested workspaces (sv@0.16.6, #1190)- Add-on authors can now call
addOptionduring the setup phase to add options dynamically based on user choices (sv@0.16.6, #1042) - The prettier add-on now formats every file it generates, not just the ones it touches (sv@0.16.6, #1192)
- The
better-authadd-on has been bumped to Better Auth 1.6 and now uses the dedicatedauthpackage (sv@0.16.5, #1058) sv-utilsgainsdefineEnv().importEnvfor importing from the environment module without branching on mode, plus recognition of thenubpackage manager (sv-utils@0.3.1/0.3.2, #1150, #1187)+error.sveltenow gets itspageanderrorprops typed automatically, with no extra setup (svelte-check@4.7.3/svelte2tsx@0.7.58, #3076)svelte-language-serverdrops itslodashdependency for a smaller install and faster startup (svelte-language-server@0.18.3, #3038)- The Svelte Inspector adds a context menu with the current component stack, making it easier to jump between parent and child components (vite-plugin-svelte@7.2.0, #1370)
- The
@sveltejs/opencodeplugin now ships a TUI variant for terminal workflows (opencode@0.1.10, #231) @sveltejs/opencodealso gains anautoupdateoption so the plugin can keep itself current (opencode@0.1.12, #238)
Want to dive deeper? Check out the Svelte CLI and language-tools releases. For all the minor changes and bugfixes that came out in the Svelte compiler this month, you can read the full Svelte CHANGELOG.
Community Showcase
Apps & Sites built with Svelte
- Recipe Jar is a local-first recipe keeper built as a PWA with runes, IndexedDB and no backend (GitHub)
- Doota reimagines email as a chat interface, built entirely on Svelte and Cloudflare's edge stack (GitHub)
- Loot Raiders is a browser-based inventory extraction game built with SvelteKit, GSAP and Howler
- Motioner is a browser-based Figma-style design tool where every frame doubles as an animation timeline
- The Prototype is a collaborative 3D scene editor built on Threlte, with peer-to-peer sync over WebRTC and a full runes-based state system
- clocks.dev is a community-built gallery where every clock is a Svelte component and anyone can contribute a new design
- Flatxel is an r/place-style collaborative pixel canvas
- Gabble is a daily word game PWA that mixes Wordle and Boggle mechanics
- Vivalence is an AI-harnessed, self-hostable app platform built in Svelte
- Can you terraform Mars? is an interactive Nature featured article
Learning Resources
Featuring Svelte Contributors and Ambassadors
- atproto x npmx x svelte meetup happened in Berlin after Local-First Conf - a crossover satellite event with the AT Protocol, npmx, and Svelte communities!
- Agentic Engineering with Svelte by Paolo Ricciuti walks through how Mainmatter is building agent-driven workflows on top of Svelte and SvelteKit
This Week in Svelte
To Read
- Migrated a dashboard application from React to Svelte - an account from an engineer who cut their bundle size roughly in half after moving from TanStack Start + React Query to SvelteKit and remote functions
- I built a Rust toolchain for Svelte by Yamagishi Kazutoshi (one of the main Svelte
language-toolsmaintainers) walks throughrsvelte, a Rust reimplementation of the Svelte compiler, formatter, linter, type checker and LSP tested against 12,000+ real components - Three years ago I told you Svelte gave me everything by Bishwas Bhandari is a personal retrospective on six years of building with Svelte
- Building a Dynamic Invoice Form in Svelte 5 with Formisch uses Formisch, Valibot and
FieldArrayto build a typed dynamic invoice form - Svelte Building Blocks is a free, runnable, level-based course that starts with components and runes and works up through APIs, testing and production
Libraries, Tools & Components
Frameworks and Tooling
- LayerChart 2.0 shipped a rewrite with a CSS-framework-agnostic API, new components and chart types from Sean Lynch
- Mochi, the experimental SSR framework for Svelte 5 and Bun, has added an
<Image>component with resizing, email sending with Svelte components as templates, queues, rate limiting and a built-in captcha (0.8.x). It can also now route compilation through a rust compiler (rsvelte) instead ofsvelte/compiler(0.9.x) - rsvelte is a Rust implementation of the Svelte toolchain from Yamagishi Kazutoshi
- Frizzante v2 is a Go + Svelte full-stack framework whose latest release adds SSG snapshots
- Hoikka is a full-stack SvelteKit ecommerce project that runs on SQLite and deploys to Node or Cloudflare (
pnpx create-hoikka-appto try it) - SVOCS is a markdown-first docs and blog generator built on SvelteKit
- Svelte DocSmith is another docs framework for SvelteKit where markdown files become routes and the sidebar builds itself from frontmatter
- SDuX is a deterministic pipeline-based state management library that works with Svelte through
@sdux-vault/core - svelte-effect-runtime lets you
yield*effectful code directly inside<script>and markup - PlaySocket is a multiplayer library that handles optimistic updates and CRDT-based synchronization
UI Components and Visual Effects
- Lily is a Tailwind v4 component library with a single "quiet by design" visual language and shadcn-style CLI installs
- CossUI-Svelte is an unofficial port of the Coss UI components backfilling components missing from shadcn, Bits UI and Origin UI
- mindmapcn-svelte is a zero-config interactive mind map component styled to fit shadcn-svelte design systems
- Svelte Swipe To Action is a highly customizable swipe-to-action component
- Edra v3 is a rich text editor for SvelteKit that now ships headless and shadcn variants through a CLI and component registry
- CMS Brew lets clients edit their SvelteKit site through a chat interface that produces plain commits on GitHub
- File Viewer for Svelte is a native Svelte component and action for previewing PDF, Office, CAD and archive files in the browser (Demo)
Developer Tools and Plugins
- svelte-vitals is a static code-health checker for SvelteKit that scores SEO, performance, correctness, security and architecture from source, with inline PR annotations and SARIF upload
- PerfGraph turns Lighthouse traces into a focused "root cause to impact to fix" report designed to be read by AI agents
That's it for this month! Let us know if we missed anything on Reddit or Discord.
Until next time 👋🏼!