|
| 1 | +--- |
| 2 | +title: "What's new in Svelte: May 2026" |
| 3 | +description: 'Svelte CLI Community Add-ons, TypeScript 6.0 support in SvelteKit' |
| 4 | +author: Dani Sandoval |
| 5 | +authorURL: https://dreamindani.com |
| 6 | +--- |
| 7 | + |
| 8 | +This month we got a ton of improvements to SvelteKit's remote functions, TypeScript 6.0 support and the experimental release of community plugins in the Svelte CLI. |
| 9 | + |
| 10 | +Svelte was also [featured in ThoughtWorks Technology Radar](https://www.thoughtworks.com/radar/languages-and-frameworks/summary/svelte)! |
| 11 | + |
| 12 | +Big month, bigger showcase... so let's dive in! |
| 13 | + |
| 14 | +## What's new in SvelteKit |
| 15 | + |
| 16 | +- SvelteKit now supports TypeScript 6.0 (**2.56.0**, [Docs](https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/), [#15595](https://github.com/sveltejs/kit/pull/15595)) |
| 17 | +- `form` fields can now specify a default value using `field.as(type, value)`, reducing boilerplate for pre-populated forms (**2.56.0**, [Docs](https://svelte.dev/docs/kit/remote-functions#form-Fields), [#15577](https://github.com/sveltejs/kit/pull/15577)) |
| 18 | +- Remote function transport now uses `hydratable`, enabling richer data types in query results (**2.56.0**, [#15533](https://github.com/sveltejs/kit/pull/15533)) |
| 19 | +- Form `submit` now returns a `boolean` to indicate submission validity for enhanced form remote functions (**2.57.0**, [Docs](https://svelte.dev/docs/kit/remote-functions#form-enhance), [#15530](https://github.com/sveltejs/kit/pull/15530)) |
| 20 | +- **Remote Function Breaking Changes (2.56.0)** |
| 21 | + - Client-requested query refreshes must obtain permission from the server ([#15562](https://github.com/sveltejs/kit/pull/15562)) |
| 22 | + - Stabilize remote function caching by sorting object keys ([#15570](https://github.com/sveltejs/kit/pull/15570)) |
| 23 | + - Add `run()` method to queries, disallow awaiting queries outside render ([#15533](https://github.com/sveltejs/kit/pull/15533)) |
| 24 | + - Isolate command-triggered query refresh failures per-query ([#15562](https://github.com/sveltejs/kit/pull/15562)) |
| 25 | + - `requested` now requires `limit` and yields `{ arg, query }` entries rather than validated args ([#15739](https://github.com/sveltejs/kit/pull/15739)) |
| 26 | + |
| 27 | +Looking for more details on the many bug fixes and performance optimizations from this month? Check out the SvelteKit / Adapter [CHANGELOGs](https://github.com/sveltejs/kit/tree/main/packages). |
| 28 | + |
| 29 | +## What's new in Svelte and Svelte Dev Tools |
| 30 | + |
| 31 | +- Community add-ons are now available in `sv` as an experimental feature (**sv@0.1.0**, [Docs](https://svelte.dev/docs/cli/community), [#1020](https://github.com/sveltejs/cli/pull/1020)) |
| 32 | +- The `sv` and `sv-utils` packages are now separate in the CLI package - leading to a more explicit public API and a deprecation pass for old features (**sv@0.2.0**, [Docs](https://svelte.dev/docs/cli/sv), [#1046](https://github.com/sveltejs/cli/pull/1046)) |
| 33 | +- `sv` will now more reliably detect if Vitest v3 is installed when configuring projects (**sv@0.15.2**, [#1073](https://github.com/sveltejs/cli/pull/1073)) |
| 34 | +- Types for `TweenOptions`, `SpringOptions`, `SpringUpdateOptions` and `Updater` are now available as exports from `svelte/motion` (**svelte@5.55.0**, [Docs](https://svelte.dev/docs/svelte/svelte-motion), [#17967](https://github.com/sveltejs/svelte/pull/17967)) |
| 35 | + |
| 36 | +For a full list of changes - including all the important bugfixes that went into the releases this month - check out the Svelte compiler's [CHANGELOG](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md). |
| 37 | + |
| 38 | +--- |
| 39 | + |
| 40 | +## Community Showcase |
| 41 | + |
| 42 | +### Apps & Sites built with Svelte |
| 43 | + |
| 44 | +- [4Track](https://www.4track.cc/) is a faithful recreation of a 4-track tape recorder in the browser |
| 45 | +- [Kumamap](https://kumamap.com/) is a bear incident map that collates official reports, news and community reports in Japan |
| 46 | +- [Overshoot](https://overshoot.dev/) is an interactive exploration of Disney's 12 Principles of Animation |
| 47 | +- [DockScope](https://github.com/ManuelR-T/dockscope) is a visual Docker dashboard with a 3D dependency graph, live metrics, logs, terminal and container actions |
| 48 | +- [dnsoptic](https://dnsoptic.com/) is a DNS health audit tool that checks nameservers, mail authentication, DNSSEC, security posture and migration diffs |
| 49 | +- [swap.](https://swapjs.dev/) is a collection of little games built around sorting algorithms |
| 50 | +- [Scapedle](https://github.com/asbedb/Scapedle) is a Wordle game with Old School RuneScape (OSRS) words |
| 51 | +- [Ephemeral Forms](https://ra9.github.io/ephemeral-forms/) is a modern, zero-login, offline-first form builder with AI-powered generation, real-time collaboration and cross-device sync |
| 52 | +- [CORDIAL](https://www.youtube.com/watch?v=ZVy0vXBHaCM) is an AI Native IDE optimized for a big screen experience. "Good for people who want to feel like Tom Cruise in Minority Report" |
| 53 | + |
| 54 | +### Learning Resources |
| 55 | + |
| 56 | +_Featuring Svelte Contributors and Ambassadors_ |
| 57 | + |
| 58 | +- [Paolo Ricciuti - Svelte, TMCP](https://www.youtube.com/watch?v=2r25fPn95M8) by devtools-fm |
| 59 | + |
| 60 | +_This Week in Svelte_ |
| 61 | + |
| 62 | +- [Ep. 137](https://www.youtube.com/watch?v=KepF0I5iLb0) - Changelog, Community `sv` add-ons |
| 63 | +- [Ep. 138](https://www.youtube.com/watch?v=YwKsLJ5p-uQ) - Changelog |
| 64 | +- [Ep. 139](https://www.youtube.com/watch?v=6muvGbGOG7E) - Changelog, Imperative interfaces |
| 65 | + |
| 66 | +_To Read_ |
| 67 | + |
| 68 | +- [hello svelte: migrating and redesigning my oss project](https://www.jaydip.me/blog/hello-svelte) by Jaydip Sanghani |
| 69 | + |
| 70 | +### Libraries, Tools & Components |
| 71 | + |
| 72 | +_UI Components and Animations_ |
| 73 | + |
| 74 | +- [Blossom Color Picker](https://blossom.dayflow.studio/) is a flower-style color picker |
| 75 | +- [thisux/sveltednd](https://sveltednd.thisux.com/) (last featured in December 2024) has been updated to support Svelte 5 |
| 76 | +- [phantom-ui](https://aejkatappaja.github.io/phantom-ui/demo/) is a structure-aware skeleton loader built with web components |
| 77 | +- [Svelte Spell UI](https://sv-animations.vercel.app/spell) is a port of the original Spell UI that you can copy-paste into any project |
| 78 | +- [Svileo](https://svileo.elyasasmad.com) is a physics-based toast component inspired by Sileo |
| 79 | +- [Motion Core](https://motion-core.dev/) (last featured in February) has been rewritten from Three.js to OGL with a much-reduced file size |
| 80 | + |
| 81 | +_State Management_ |
| 82 | + |
| 83 | +- [Stately](https://stately.self.agency) is a Pinia-inspired state management library that provides a structured way to define shared state, mutate it directly and observe changes |
| 84 | + |
| 85 | +_Utilities and Integrations_ |
| 86 | + |
| 87 | +- [Sveltia I18n](https://github.com/sveltia/sveltia-i18n) is an internationalization library powered by runes and the messageformat library for formatting messages using Unicode MessageFormat 2 (MF2) |
| 88 | +- [Nabu](https://github.com/aionbuilders/nabu) is a modular, local-first Svelte block editor engine built on a Single ContentEditable architecture |
| 89 | +- [Svelte Agentation](https://sv-agentation.com) turns UI annotations into structured context that AI coding agents can understand and act on |
| 90 | + |
| 91 | +_Developer Tools_ |
| 92 | + |
| 93 | +- [Atom Forge](https://atom-forge.eu/) is a full-stack TypeScript toolkit with Svelte 5 UI components, type-safe RPC and a battle-tested architecture pattern that scales |
| 94 | +- [svelte-check-native](https://github.com/harshmandan/svelte-check-native) is a Rust/tsgo drop-in replacement for `svelte-check` with the same flags, output formats and exit codes |
| 95 | + |
| 96 | +That's it for this month! Let us know if we missed anything on [Reddit](https://www.reddit.com/r/sveltejs/) or [Discord](https://discord.gg/svelte). |
| 97 | + |
| 98 | +Until next time 👋🏼! |
0 commit comments