What’s new in Svelte: June 2026
Skip to main content<br>TutorialPackagesPlaygroundBlog
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 submit now returns a boolean to indicate submission validity for enhanced remote forms (2.57.0 , Docs, #15530)
Breaking: requested(...) now requires limit and yields { arg, query } entries instead of returning the validated argument directly (2.58.0 , Docs, #15739)
requested(...) now supports query.batch(...), which makes batch remote query workflows easier to inspect in request-time logic (2.59.0 , Docs, #15751)
submit and hidden remote 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 - use await 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 programmatic submit() API and can be passed into enhance callbacks (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 stdio mode 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<br>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<br>This Week in Svelte
Ep. 140 - Changelog, Imperative interfaces
Ep. 141 - Changelog
Ep. 142 - Changelog
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<br>UI Components and Visual Effects
Huey provides a composable color picker for Svelte 5...