What’s new in Svelte: June 2025
Attachments are the new actions, plus better snippets and classes
In addition to advancing the work on Async Svelte, the maintainers have been hard at work introducing long requested features like Attachments.
This month, we’ll share a bit about the new API along with a huge showcase of apps/sites built with Svelte...
Let’s dive in!
What’s new in Svelte and SvelteKit
- Attachments are essentially a more flexible and modern version of actions. Read more about their use-cases and improvements over actions in the PR (#1500) or in the Svelte docs (svelte@5.29.0, language-tools@109.7.0)
- Do you have actions you love and want to use them as attachments? The
fromAction
utility lets you convert actions into attachments (svelte@5.32.0, #15933) - Generics are now allowed on snippets - improving typing and type hints (svelte@5.30.0, language-tools@109.8.0, #15915)
- The Svelte extension will now allow you to add missing imports on save (language-tools@109.6.0, #2744)
- State fields can now be declared inside class constructors (svelte@5.31.0, #15820)
- Svelte is now XHTML compliant and the new
fragments: 'html' | 'tree'
option adds wider CSP compliance (svelte@5.33.0, #15538) - Client-side code is now allowed to run at the top-level of universal pages/layouts when SSR is disabled and page options are only boolean or string literals (kit@2.21.0, #13684)
For a full list of bug fixes in Svelte, SvelteKit and its adapters, check out their CHANGELOGs here and here.
Community Showcase
Apps & Sites built with Svelte
- Whimsy is a small game engine and a fantasy console for making interactive stories
- DASHBOT is a 1v1 Space Robot Sprint Battle game for two players - with local and online modes
- Kraa is a web-based markdown editor that does things a little differently
- Shovel AI is a batch tool for interacting with large amounts of a text data with AI models
- md.uy is a collaborative, local-first, peer-to-peer markdown editor
- BringYourAI is a browser extension that provides instant codebase context on any AI chat website
- Joe Malatesta figured out a way to present his film photos in a digital environment
- Notion Avatar is a Notion-style avatar editor with Svelte 5 Runes
- ORBITS is your second brain for who you know and who you meet
Learning Resources
Featuring Svelte Contributors and Ambassadors
- In case you missed it, all the videos from Svelte Summit are released over the course of the next few days on Svelte Society YouTube. More on how that happened in last month’s blog post
- Svelte Attachments Are Here And They’re Awesome by Joy of Code
- SvelteBench (from Stanislav Khromov) shows how different AI models perform out of the box on Svelte 5 syntax - now updated with Anthropic’s new Claude 4 models
- First look at GitHub Copilot Coding Agent - The $40/month AI developer that actually works! by Stanislav Khromov (video)
- Truly Native Apps with Svelte? by Paolo Ricciuti
This Week in Svelte
- Ep. 102 — Svelte+Lynx and Async Svelte
- Ep. 103 — Attachments
- Ep. 104 — Skeleton v3.0
- Ep. 105 — Changelog
To Watch/Read
- Svelte’s Next Big Change? (server components soon?) by Better Stack
- I spent some time using Better-Auth and Polar with SvelteKit and this is what I think by elansx
- Building md.uy - Peer-to-Peer Markdown Editor by mateor
Libraries, Tools & Components
- Bits UI v2 released - with support for attachments,
$props.id()
, Shadow DOM, and more - Composably is a content processing plugin for Vite and SvelteKit with typed content + dynamic Svelte components at build time
- Svelte Flow is now 1.0 - with Svelte 5 support, TSDoc and a bunch of new features to make interactive flow charts even better
- fox ui is a collection UI components built with Tailwind 4 and Svelte 5 - now with a rich text editor
- fluid-dnd is a drag and drop library for Vue, React and Svelte
- sveltekit-password-protect is a simple utility to add a layer of protection to your websites
- sveltekit-image-optimize is a simple utility that helps you create an endpoint of your svelte app that optimizes your images
- svelte-inspect-value@0.7.0 introduces Panels - a fixed-position resizable panel / drawer that separates the debugging UI from flow of your website
- nuqs-svelte is an unnoficial Svelte port of nuqs library - a type-safe search params state manager
- sv-router is a type-safe SPA router with file-based or code-based routing
- svelte-textcircle displays text in a circular layout with customizable animations and styling
That’s it for this month! Let us know if we missed anything on Reddit or Discord.
Until next time 👋🏼!