What’s new in Svelte: June 2026
Better forms, new long-lived remote query APIs and TypeScript 6 support in language-tools
This month we got a bunch of improvements in SvelteKit's forms and remote functions. Plus, a new query function (.live(...)) that makes accessing real-time data from the server easier.
Keep an eye out for a few breaking changes in remote functions, if you're using those. Otherwise, enjoy all the new SvelteKit features and bug fixes in the latest versions of Svelte.
Let's dive in!
What's new in SvelteKit
- Form
submitnow returns a boolean to indicate submission validity for enhanced remote forms (2.57.0, Docs, #15530) - Breaking:
requested(...)now requireslimitand yields{ arg, query }entries instead of returning the validated argument directly (2.58.0, Docs, #15739) requested(...)now supportsquery.batch(...), which makes batch remote query workflows easier to inspect in request-time logic (2.59.0, Docs, #15751)submitandhiddenremote form fields can now accept booleans and numbers directly (2.60.0, Docs, #15802)- SvelteKit now warns when remote form validation issues are never read, helping catch missed UX paths earlier (2.60.0, Docs, #15653)
- Breaking:
.run()was removed from remote queries - useawait query()directly in all contexts instead (2.61.0, Docs, #15779) - Remote queries can now be awaited in event handlers, async callbacks and module scope, with cache deduping shared across reactive and non-reactive consumers (2.61.0, Docs, #15779)
query.live(...)makes working with long-lived remote query subscriptions easier and are now async-iterable (experimental 2.59.0, async in 2.61.0, Docs, #15878)- Breaking: Enhance callbacks now receive a copy of the form remote function instance, rather than a
{ form, data, submit }object. Plus, remote form instances now expose a programmaticsubmit()API and can be passed intoenhancecallbacks (2.61.0, Docs, #15657)
For all the features and bugfixes that landed this month, check out the SvelteKit / Adapter CHANGELOGs.
What's new in Svelte and the Svelte ecosystem
- Templates now allow declarations directly in markup, making it easier to define values close to where they're used (svelte@5.56.0, #18282)
- Svelte language-tools now support TypeScript 6.0 across the language server, svelte2tsx and svelte-check packages (svelte-language-server@0.18.0/svelte2tsx@0.7.55/svelte-check@4.4.8/svelte-preprocess@6.0.4, Docs, #2985 / #675)
- Svelte MCP's
stdiomode can now read file content directly, reducing round trips in local tool workflows (mcp@0.1.23, Docs, #198) - vite-plugin-svelte now enables the optimizer for server environments during development (vite-plugin-svelte@7.1.0, #1328)
Want to dive deep into everything new this month? Check out the language-tools, ai-tools and vite-plugin-svelte 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
- asciidia.com is an ASCII-style browser game experiment built with Svelte
- Bingewatcher.org is a daily movie guessing game based on data from Wikipedia and word vectors for 157 languages
- Delcard is an open source peer-to-peer card game platform built with SvelteKit (GitHub)
- Dialyma is an open source canvas builder that can export production-ready code (GitHub)
- Exort is a local workspace for writing microcontroller code, compiling and uploading projects, and monitoring live serial output on supported boards (GitHub)
- Heavy Duty Inc is a turn-based tactics game built with Svelte (Reddit)
- hope-art.app applies protection filters to artwork images before sharing them online to prevent unauthorized AI training and style mimicry (GitHub)
- Image Palette Studio turns images into UI themes with generated CSS variables (GitHub)
- Pad is a local-first collaboration tool that combines a Go CLI with an embedded Svelte web app for human-agent workflows (GitHub)
- Serverwat.ch is a SvelteKit dashboard for monitoring Hetzner-hosted projects
- Trezur is a privacy-preserving browser-side 2FA authenticator with PWA support and cloud sync (GitHub)
- Splitwave is a free node-based audio router for macOS built with Tauri + Svelte (GitHub)
- Tank Supremo is a multiplayer 3D tank game built with Svelte
- Vivix is a JavaScript execution visualizer that uses a worker-based interpreter for smooth timeline scrubbing (GitHub)
- Zenos is a stealth startup from SvelteKit maintainer Ben McCann that is bringing software productivity to the physical world.
Learning Resources
This Week in Svelte
To Read
- Why Svelte Is Better Than React in the Agentic Era by Zack Webster
- Automate LinkedIn Carousels with SvelteKit Remote Functions by Rishi Raj Jain
- Tank Supremo: From a Teenage Dream to a Multiplayer Game by Eyal Azulay
Libraries, Tools & Components
UI Components and Visual Effects
- Huey provides a composable color picker for Svelte 5 (GitHub)
- Svelte Dot Matrix Loaders provides 50+ animated dot-matrix loaders for Svelte projects (GitHub)
- Paper Shaders for Svelte provides paper-style shader effects in an open source Svelte package (GitHub)
- EmbedPDF for Svelte provides a headless PDF viewer for Svelte apps built on PDFium instead of PDF.js (GitHub)
- Svelte Event Calendar is a Google-like event calendar component for Svelte with drag-and-drop editing and multiple calendar support (GitHub)
App Building and Product Tooling
- Convex Better Auth UI for SvelteKit provides self-hosted auth and organization UI components powered by Convex + Better Auth (GitHub)
- Aphex CMS is an open source Sanity-inspired CMS that runs inside a single SvelteKit app (GitHub)
- svelte-visual-builder is an Elementor-style visual builder for SvelteKit projects
- SvelteESP32 v3.0 lets you wire Svelte frontends to ESP32 workflows with an updated Vite plugin flow
Developer Tools and Utilities
- Svelte Hero is a new JetBrains plugin focused on better Svelte support
- jscpd v4.2.0 now supports Svelte projects for duplicate code detection (Changelog)
- Svelte Use provides a collection of composable utilities for Svelte apps (GitHub)
Plugins and Runtime Integrations
- vite-plugin-svelte-tailwind-auto-reference automatically injects Tailwind CSS
@referencein Svelte style blocks when@applyis used - SvelteKit Proxy provides a simple way to proxy requests in production using SvelteKit's
hooks.server.ts - svelte-ws adds WebSocket support across SvelteKit runtimes with an adapter and Vite plugin
That's it for this month! Let us know if we missed anything on Reddit or Discord.
Until next time 👋🏼!