|
| 1 | +--- |
| 2 | +title: "What's new in Svelte: December 2025" |
| 3 | +description: 'A new Svelte Society website and file upload streaming in forms' |
| 4 | +author: Dani Sandoval |
| 5 | +authorURL: https://dreamindani.com |
| 6 | +--- |
| 7 | + |
| 8 | +Just in time for the end of the year, there's a new [Svelte Society Website](https://sveltesociety.dev/)! It brings a whole new experience. Instead of just being a site with static resources, it now serves a dynamic feed of all the latest Svelte content out there. Videos, libraries, events, etc. |
| 9 | + |
| 10 | +Instead of opening PRs to add libraries and packages you can now just submit them [on the website](https://sveltesociety.dev/submit). If you find an interesting package, head on over and submit it. Logged in users also have the ability to like and save content. So be sure to try it out and [share your feedback](https://www.reddit.com/r/sveltejs/comments/1ox9znh/announcing_the_new_svelte_society_website/)! |
| 11 | + |
| 12 | +There's a bunch of updates to SvelteKit and a showcase to cover, so lets dive in... |
| 13 | + |
| 14 | +## What's new in Svelte & SvelteKit |
| 15 | + |
| 16 | +- `hydratable` API is a low-level API to coordinate hydration between the server and client ( **[email protected]**, [Docs ](https://svelte.dev/docs/svelte/hydratable), [#17154](https://github.com/sveltejs/svelte/pull/17154)) |
| 17 | +- `print` converts a Svelte AST node back into Svelte source code. It is primarily intended for tools that parse and transform components using the compiler’s modern AST representation ( **[email protected]**, [Docs ](https://svelte.dev/docs/svelte/svelte-compiler#print), [#16188](https://github.com/sveltejs/svelte/pull/16188)) |
| 18 | +- File uploads can now be streamed inside `form` remote functions allowing form data to be accessed before large files finish uploading ( **[email protected]**, [Docs ](https://svelte.dev/docs/kit/remote-functions#form), [#14775](https://github.com/sveltejs/kit/pull/14775)) |
| 19 | +- (Minor) Breaking Changes in **[email protected]**: |
| 20 | + - `invalid` now must be imported from @sveltejs/kit ([#14768](https://github.com/sveltejs/kit/pull/14768)) |
| 21 | + - The `submitter` option was removed from the experimental form `validate()` method. It will now always use the default submitter ([#14762](https://github.com/sveltejs/kit/pull/14762)) |
| 22 | +- **Svelte CLI:** |
| 23 | + - Links are now wrapped with `resolve()` to follow best practices ( **[email protected]**, [Docs ](https://svelte.dev/docs/kit/$app-paths#resolve), [#754](https://github.com/sveltejs/cli/pull/754)) |
| 24 | + - `npx sv create` now supports a new argument `--add` to add add-ons to the project in the same command ( **[email protected]**, [#695](https://github.com/sveltejs/cli/pull/695)) |
| 25 | + - The new `--no-dir-check` option in sv create will, even if the folder is not empty, suppress all directory check prompts ( **[email protected]**, [#785](https://github.com/sveltejs/cli/pull/785)) |
| 26 | + |
| 27 | +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) and the Svelte Kit / Adapter [CHANGELOGs](https://github.com/sveltejs/kit/tree/main/packages). |
| 28 | + |
| 29 | +--- |
| 30 | + |
| 31 | +## Community Showcase |
| 32 | + |
| 33 | +### Apps & Sites built with Svelte |
| 34 | + |
| 35 | +- [Apple's new web-based App Store](https://apps.apple.com) is built with Svelte! This adds onto the other Apple products spotted using Svelte in the wild - including Apple Music and Apple Podcasts |
| 36 | +- [Aphex](https://getaphex.com/) is a modern, open source headless CMS built with SvelteKit |
| 37 | +- [ShareNhac](https://www.sharenhac.com/) lets you and your friends watch videos and listen to music together in sync, without any ad interruptions |
| 38 | +- [starterindex](https://starterindex.com/) is a curated list of top boilerplates to help you start your next project (which is great because we stopped putting "starter" repos in the Svelte newsletter over a year ago) |
| 39 | +- [PGPlayground](https://pg.firoz.co/playground) helps any backend engineer quickly prototype and validate fixes or changes to their schema without leaving the browser |
| 40 | +- [Design Tokens App](https://tools-for-web.netlify.app) is a web-based editor and converter to manage design tokens, visualize them in a tree structure, and export them as CSS variables or JSON format |
| 41 | +- [Multi](https://multi.dev/) is a coding agent for VS Code |
| 42 | +- [Gardenjs](https://gardenjs.org/) provides a centralized platform for developers to create, test, and present UI components and pages in isolation |
| 43 | +- [bookemoji](https://bookemoji.dev/) is a tool to showcase, collaborate, and develop the technical aspects of user interfaces - an alternative to StoryBook.js or Histoire in your favorite tech stack |
| 44 | + |
| 45 | +### Learning Resources |
| 46 | + |
| 47 | +- [Rich Harris - Remote Control](https://www.youtube.com/watch?v=N4WQVmJbpFI) at ViteConf 2025 |
| 48 | +- [SvelteKit has solved data loading!](https://www.youtube.com/watch?v=U7ifCxAuuZE) from Syntax |
| 49 | +- [Paolo Ricciuti - Progressively enhanced apps with Svelte](https://www.youtube.com/watch?v=Ji4Y5vo-gOg) at FrontKon#25 |
| 50 | +- [Adding Storybook to Svelte Society with Jeppe Reinhold](https://www.youtube.com/watch?v=3u-PXSbU5iA) from Svelte Society (Kev) |
| 51 | +- [How to Navigate Like a Pro in SvelteKit](https://www.youtube.com/watch?v=yRtyjOOAECY) by Thiago Temple |
| 52 | + |
| 53 | +### Libraries, Tools & Components |
| 54 | + |
| 55 | +- [better-svelte-email](https://github.com/Konixy/better-svelte-email) lets you render emails in Svelte with first-class Tailwind support |
| 56 | +- [svelte-number-format](https://www.npmjs.com/package/svelte-number-format) is a lightweight and reactive number input component that is now available as a stable v1.0 release |
| 57 | +- [chain-enhance](https://github.com/michaelcuneo/chain-enhance) lets you sequentially chain multiple SvelteKit form actions with deep-merged data propagation, type-safe results, reactive progress tracking, and automatic file-safety |
| 58 | +- [svelte-socket](https://www.npmjs.com/package/@hardingjam/svelte-socket) is a WebSocket wrapper for Svelte 5 using runes |
| 59 | +- [@edgeone/sveltekit](https://pages.edgeone.ai/document/framework-sveltekit) lets you deploy your SvelteKit app to Tencent Cloud EdgeOne Pages to provide lightning-fast speeds in China while maintaining excellent performance worldwide |
| 60 | +- [Davia](https://github.com/davialabs/davia) is an open-source tool designed for AI coding agents to generate interactive internal documentation for your codebase |
| 61 | +- [svelte-ui-kit](https://github.com/ChulkovDanila/svelte-ui-kit) provides an easy to use, customizable button component with smooth hover animations - inspired by shadcn/ui style |
| 62 | +- [Svelte AI Elements](https://github.com/SikandarJODD/ai-elements) is a component registry built on top of shadcn-svelte that provides production-ready components designed for building AI-powered applications |
| 63 | +- [sveltekit-api-gen](https://github.com/Michael-Obele/sveltekit-api-gen) automatically generates OpenAPI 3.0 specifications from your SvelteKit server endpoints using JSDoc `@Swagger` annotations |
| 64 | +- [Rune Scroller](https://runescroller.lelab.dev/) provides "enchanting" scroll animations for Svelte 5, built with native performance and zero dependencies |
| 65 | +- [vite-plugin-sveltekit-decorators](https://github.com/KiraPC/vite-plugin-sveltekit-decorators/), a plugin that automatically decorates SvelteKit functions, now supports remote functions |
| 66 | +- [svelte-breakpoint-badge](https://github.com/AnakKucingTerbang/svelte-breakpoint-badge) is a lightweight Svelte component that displays the current Tailwind CSS breakpoint during development |
| 67 | + |
| 68 | +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). |
| 69 | + |
| 70 | +Until next time 👋🏼! |
0 commit comments