Skip to content
Open
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
title: "What's new in Svelte: December 2025"
description: 'A new Svelte Society website and file upload streaming in forms'
author: Dani Sandoval
authorURL: https://dreamindani.com
---

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.

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/)!

There's a bunch of updates to SvelteKit and a showcase to cover, so lets dive in...

## What's new in Svelte & SvelteKit

- File uploads can now be streamed inside `form` remote functions allowing form data to be accessed before large files finish uploading (**kit@2.49.0**, [Docs](https://svelte.dev/docs/kit/remote-functions#form), [#14775](https://github.com/sveltejs/kit/pull/14775))
- (Minor) Breaking Changes in **kit@2.48.8**:
- `invalid` now must be imported from @sveltejs/kit ([#14768](https://github.com/sveltejs/kit/pull/14768))
- The `submitter` option was removed from the experimental form `validate()` method. It will now always provide default submitter ([#14762](https://github.com/sveltejs/kit/pull/14762))
- **Svelte CLI:**
- Links are now wrapped with `resolve()` to follow best practices (**sv@0.9.14**, [Docs](https://svelte.dev/docs/kit/app-paths#resolve), [#754](https://github.com/sveltejs/cli/pull/754))
- `npx sv create` now supports a new argument --add to add add-ons to the project in the same command (**sv@0.10.0**, [#695](https://github.com/sveltejs/cli/pull/695))
- The new `--no-dir-check` option in sv create will, even if the folder is not empty, suppress all directory check prompts (**sv@0.9.15**, [#785](https://github.com/sveltejs/cli/pull/785))

For a full list of changes - including the 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).

---

## Community Showcase

### Apps & Sites built with Svelte

- [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.
- [Aphex](https://getaphex.com/) is a modern, open source headless CMS built with SvelteKit
- [ShareNhac](https://www.sharenhac.com/) lets you and your friends watch videos and listen to music together in sync, without any ad interruptions
- [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)
- [PGPlayground](https://pg.firoz.co/playground) helps any backend engineer quickly prototype and validate fixes or changes to their schema without leaving the browser
- [Design Tokens App](https://github.com/TrySound/tools-for-web) 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
- [Multi](https://multi.dev/) is a coding agent for VS Code
- [Gardenjs](https://gardenjs.org/) provides a centralized platform for developers to create, test and present UI components and pages in isolation
- [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

### Learning Resources

- [Rich Harris - Remote Control](https://www.youtube.com/watch?v=N4WQVmJbpFI) at ViteConf 2025
- [SvelteKit has solved data loading!](https://www.youtube.com/watch?v=U7ifCxAuuZE) from Syntax
- [Paolo Ricciuti - Progressively enhanced apps with Svelte](https://www.youtube.com/watch?v=Ji4Y5vo-gOg) at FrontKon#25
- [Adding Storybook to Svelte Society with Jeppe Reinhold](https://www.youtube.com/watch?v=3u-PXSbU5iA) from Svelte Society (Kev)
- [How to Navigate Like a Pro in SvelteKit](https://www.youtube.com/watch?v=yRtyjOOAECY) by Thiago Temple

### Libraries, Tools & Components

- [Functorial](https://github.com/fcrozatier/f-stack/blob/main/packages/functorial/README.md) is a proxy-based reactivity system where you not only map the data, but also the behaviors, in a structured, granular, reactive and declarative way
- [better-svelte-email](https://github.com/Konixy/better-svelte-email) lets you render emails in Svelte with first-class Tailwind support
- [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
- [chain-enhance](https://github.com/michaelcuneo/chain-enhance) lets you sequentially chain multiple SvelteKit 5 form actions with deep-merged data propagation, type-safe results, reactive progress tracking, and automatic file-safety
- [svelte-socket](https://www.npmjs.com/package/@hardingjam/svelte-socket) is a WebSocket wrapper for Svelte 5 using runes
- [Davia](https://github.com/davialabs/davia) is an open-source tool designed for AI coding agents to generate interactive internal documentation for your codebase
- [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
- [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
- [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
- [Rune Scroller](https://runescroller.lelab.dev/) provides "enchanting" scroll animations for Svelte 5, built with native performance and zero dependencies
- [vite-plugin-sveltekit-decorators](https://github.com/KiraPC/vite-plugin-sveltekit-decorators/), a plugin that automatically decorates SvelteKit functions, now supports remote functions
- [svelte-breakpoint-badge](https://github.com/AnakKucingTerbang/svelte-breakpoint-badge) is a lightweight Svelte component that displays the current Tailwind CSS breakpoint during development

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).

Until next time 👋🏼!