Skip to main content

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 submitted property so you can react to the moment a form is submitted without waiting for the response (2.69.0, Docs, #14811)
  • defineEnvVars has moved from @sveltejs/kit to @sveltejs/kit/env so 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 goto via a new state option (with persistState: true to keep state across reloads), replacing pushState and replaceState (3.0.0-next.13, #16449)
  • goto's noScroll and keepFocus options (and their matching data-sveltekit-* attributes) collapse into a single reset option (3.0.0-next.13, #16558)
  • error(status, {...}) is deprecated in favor of error(status, message, {...}) so error messages are always required (3.0.0-next.13, #16540)
  • refreshAll replaces invalidateAll, which is now deprecated (3.0.0-next.8, #16289)
  • A new $app/manifest module exposes immutable, assets, prerendered and routes so you can introspect the build output at runtime (3.0.0-next.12, #16372)
  • A new $app/service-worker module replaces the old $service-worker, and $app/paths is 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.pollInterval of 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 instrumentation flag has been removed (3.0.0-next.7, #16260)
  • Form fields pick up a dirty() helper and remote forms get a new field.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

  • sv now 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 addOption during 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-auth add-on has been bumped to Better Auth 1.6 and now uses the dedicated auth package (sv@0.16.5, #1058)
  • sv-utils gains defineEnv().importEnv for importing from the environment module without branching on mode, plus recognition of the nub package manager (sv-utils@0.3.1/0.3.2, #1150, #1187)
  • +error.svelte now gets its page and error props typed automatically, with no extra setup (svelte-check@4.7.3/svelte2tsx@0.7.58, #3076)
  • svelte-language-server drops its lodash dependency 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/opencode plugin now ships a TUI variant for terminal workflows (opencode@0.1.10, #231)
  • @sveltejs/opencode also gains an autoupdate option 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

This Week in Svelte

To Read

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 of svelte/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-app to 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 👋🏼!