|
| 1 | +--- |
| 2 | +title: "What's new in Svelte: October 2025" |
| 3 | +description: 'Improved Remote Functions, sv create from playgrounds and experimental async SSR' |
| 4 | +author: Dani Sandoval |
| 5 | +authorURL: https://dreamindani.com |
| 6 | +--- |
| 7 | + |
| 8 | +There were lots of improvements to remote functions this month - including new batching tools and improved performance via lazy discovery. For more info, check out the Docs and PR links in each bullet. Async SSR also has a new config flag for those who would like to try it out while it's still experimental. |
| 9 | + |
| 10 | +We've got a hefty showcase this month too, so let's dive in! |
| 11 | + |
| 12 | +## What's new in Svelte, SvelteKit and Svelte CLI (sv) |
| 13 | + |
| 14 | +- The `event` property is now included on popstate, link and form navigation ( **[email protected]**, [#14307](https://github.com/sveltejs/kit/pull/14307)) |
| 15 | +- The `%sveltekit.version%` placeholder can now be used in `app.html` to easily include the current SvelteKit version in the output ( **[email protected]**, [Docs ](https://svelte.dev/docs/kit/project-structure#Project-files-src), [#12132](https://github.com/sveltejs/kit/pull/12132)) |
| 16 | +- You can now create projects from the from the Svelte playground with `npx sv create --from-playground <url>` ( **[email protected]**, [#662](https://github.com/sveltejs/cli/pull/662)) |
| 17 | +- Experimental async SSR is available in Svelte v5.39.3 and SvelteKit v2.43.0 or higher. You can opt-in via the `experimental.async` option. When this is enabled, it's possible to use `await` anywhere in your app, without wrapping it in a boundary with a pending snippet. You can find more information in the SvelteKit PR ([#14447](https://github.com/sveltejs/kit/pull/14447), Svelte PR is [#16748](https://github.com/sveltejs/svelte/pull/16748)) |
| 18 | + |
| 19 | +### Remote Functions |
| 20 | + |
| 21 | +- The remote function `query.set()` can now be called on the server and `query.refresh()` promises will now be automatically resolved on the server ( **[email protected]**, [Docs ](https://svelte.dev/docs/kit/remote-functions), [#14304](https://github.com/sveltejs/kit/pull/14304), [#14332](https://github.com/sveltejs/kit/pull/14332)) |
| 22 | +- `query.batch` has been added to remote functions - letting you batch requests that happen within the same macrotask ( **[email protected]**, [Docs ](https://svelte.dev/docs/kit/remote-functions#query.batch), [#14272](https://github.com/sveltejs/kit/pull/14272)) |
| 23 | +- Lazy discovery of remote functions improves detection and tree shaking for functions defined in `node_modules` ( **[email protected]**, [#14293](https://github.com/sveltejs/kit/pull/14293)) |
| 24 | +- Remote form functions have been enhanced with schema support, `input` and `issues` properties ( **[email protected]**, [Docs ](https://svelte.dev/docs/kit/remote-functions#form), [#14383](https://github.com/sveltejs/kit/pull/14383)) |
| 25 | + |
| 26 | +For a full list of bug fixes in Svelte, SvelteKit and its adapters, check out their CHANGELOGs [here](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md) and [here](https://github.com/sveltejs/kit/tree/main/packages). |
| 27 | + |
| 28 | +--- |
| 29 | + |
| 30 | +## Community Showcase |
| 31 | + |
| 32 | +### Apps & Sites built with Svelte |
| 33 | + |
| 34 | +- [Windframe](https://windframe.dev/) generates designs with AI or prebuilt templates to export as Tailwind CSS code for React, Vue, Svelte or HTML. |
| 35 | +- [pgpad](https://github.com/vrmiguel/pgpad) is a straightforward cross-platform database client |
| 36 | +- [Zippywords](https://www.zippywords.com/words/en) is a burst-typing game that's configurable with different languages (including the [Svelte 5 syntax](https://www.zippywords.com/code/Svelte%205)!) |
| 37 | + |
| 38 | +_Spotted in the Wild_ |
| 39 | + |
| 40 | +- [The Apple TV website](https://tv.apple.com/) - ([Reddit post](https://www.reddit.com/r/sveltejs/comments/1n6i96i/the_appletv_website_uses_svelte/)) |
| 41 | +- [Gimli Tailwind](https://gimli.app/tailwind) - ([Reddit post](https://www.reddit.com/r/sveltejs/comments/1nbmoeq/the_most_popular_devtools_extension_for/)) |
| 42 | +- [The Mullvad VPN site](https://mullvad.net/en) - [Reddit post](https://www.reddit.com/r/sveltejs/comments/1nhe6t6/mullvad_vpn_uses_sveltekit_for_their_site/) |
| 43 | + |
| 44 | +### Learning Resources |
| 45 | + |
| 46 | +_Featuring Svelte Contributors and Ambassadors_ |
| 47 | + |
| 48 | +- [Introducing SvelteKit Remote Functions](https://www.youtube.com/watch?v=0hy7PCbXyqs) and [SvelteKit Remote Functions tips: Auth guards, managing async, query.batch](https://www.youtube.com/watch?v=z0f7NLPdLYE) by Simon Holthausen |
| 49 | +- [The Complete Svelte 5 Course For The Most Loved JavaScript Framework](https://www.youtube.com/watch?v=B2MhkPtBWs4) by Joy of Code (3+ hours of excellent content). Text version available [here](https://joyofcode.xyz/learn-svelte) |
| 50 | +- [Translate your Svelte and SvelteKit applications the easy way - full tutorial](https://www.youtube.com/watch?v=d0RPeuC4JL8) by Code with Stanislav |
| 51 | +- [How and why I built an MCP server for Svelte](https://khromov.se/how-and-why-i-built-an-mcp-server-for-svelte/) by Stanislav Khromov |
| 52 | +- [Svelte Radio](https://share.transistor.fm/s/a5f8c4c6) is back! Feat. Kevin, Brittney and Antony |
| 53 | + |
| 54 | +_This Week in Svelte_ |
| 55 | + |
| 56 | +- [Ep. 115](https://www.youtube.com/watch?v=PHk7YFAFvfg) — Changelog review |
| 57 | +- [Ep. 116](https://www.youtube.com/watch?v=sTepLQwJIVo) — e18e.dev and NPM's supply chain attack |
| 58 | +- [Ep. 117](https://www.youtube.com/watch?v=E0xQXa4qQGY) — Formisch |
| 59 | +- [Ep. 118](https://www.youtube.com/watch?v=eBXjXfUiuiA) — Changelog review |
| 60 | + |
| 61 | +_Svelte London - September 2025_ |
| 62 | + |
| 63 | +You can [watch the full video on YouTube](https://www.youtube.com/watch?v=odCWAAaTNSQ) or skip to the specific talks below: |
| 64 | + |
| 65 | +- [Svelte on Cloudflare: Tips and guide](https://www.youtube.com/live/odCWAAaTNSQ?si=2Eej24zu2ZXUEljs&t=412) by Mark Ridge and Connor Adams |
| 66 | +- [Ultra-low Latency in SvelteKit](https://www.youtube.com/live/odCWAAaTNSQ?si=4Eyh2SUwA26waECz&t=2563) by Scott Phillips |
| 67 | + |
| 68 | + |
| 69 | +_To Read_ |
| 70 | + |
| 71 | +- [Sharing some custom components that handle async state with less boilerplate in Svelte 5](https://www.reddit.com/r/sveltejs/comments/1niyflq/sharing_some_custom_components_that_handle_async/) by u/geokidev |
| 72 | +- [Rendering emails with Svelte](https://github.com/GauBen/svelte-emails) by Gautier Ben Aïm |
| 73 | + |
| 74 | +_To Watch_ |
| 75 | + |
| 76 | +- [Svelte Under The Hood](https://www.youtube.com/watch?v=GsjfEmTS4x8) by ~/in-depth |
| 77 | + |
| 78 | + |
| 79 | +### Libraries, Tools & Components |
| 80 | + |
| 81 | +_UI / UX_ |
| 82 | +- [SVAR Svelte v2.3](https://github.com/svar-widgets) now has TypeScript definitions to all its open-source Svelte UI components |
| 83 | +- [@dnd-kit](https://www.npmjs.com/package/@dnd-kit-svelte/svelte) is a lightweight React-like library for building performant and accessible drag and drop experiences |
| 84 | +- svelte-overflow-fade is a Svelte action and attachment for adding beautiful fade effects to overflowing content |
| 85 | +- [scratch-to-reveal-svelte](https://github.com/dellamora/scratch-to-reveal-svelte) is a simple and customizable scratch-to-reveal component for Svelte |
| 86 | +- [Svelte Streamdown](https://svelte-streamdown.beynar.workers.dev/) is a Svelte port of Streamdown by Vercel - an all in one markdown renderer, designed specifically for AI-powered streaming applications |
| 87 | +- [USAL JS](https://usal.dev/) is the "Ultimate Scroll Animation Library" |
| 88 | + |
| 89 | +_Frameworks and Data Tools_ |
| 90 | +- [PrevelteKit](https://github.com/tbocek/preveltekit) is a lightweight, high-performance web application framework built on Svelte 5, featuring Server-Side Pre Rendering (SSPR) using Rsbuild and jsdom |
| 91 | +- [Apollo Runes](https://apollo-runes-docs.vercel.app/) is an Apollo Client for Svelte 5 |
| 92 | +- [Formisch](https://github.com/fabian-hiller/formisch) is a schema-based, headless form library for JS frameworks |
| 93 | +- [Conformal](https://github.com/marcomuser/conformal) helps you work with native FormData by providing type-safe form submissions for the modern web |
| 94 | + |
| 95 | +_Dev Tools and Vite Plugins_ |
| 96 | +- [wuchale](https://github.com/wuchalejs/wuchale) is a compile-time internationalization (i18n) toolkit that requires zero code changes |
| 97 | +- [SV Floating Console](https://www.npmjs.com/package/sv-console) is a floating console for Svelte applications that only appears in development mode |
| 98 | +- [magicons](https://github.com/propolies/magicons) is a fast, typesafe Icon wrapper that fixes bundling issues with large barrel exports in icon libraries |
| 99 | +- [Svelte-pops](https://svelte-pops.vercel.app/docs/overview) is a performant and easy to use popover manager for creating dialog and tooltips |
| 100 | +- [vite-plugin-svelte-inline-component](https://github.com/hanielu/vite-plugin-svelte-inline-component) lets you write tiny Svelte components straight inside your JavaScript / TypeScript tests using tagged‑template literals |
| 101 | +- [vite-plugin-sveltekit-decorators](https://github.com/KiraPC/vite-plugin-sveltekit-decorators) is a powerful Vite plugin that automatically decorates SvelteKit functions with customizable wrappers for logging, analytics, error handling, and more |
| 102 | + |
| 103 | + |
| 104 | +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). |
| 105 | + |
| 106 | +Until next time 👋🏼! |
0 commit comments