# What's new in Svelte: January 2025

DevFeed: [What's new in Svelte: January 2025](<https://devfeed.tech/articles/what-s-new-in-svelte-january-2025-3084.md>)

Original publisher: [Read original article](<https://svelte.dev/blog/whats-new-in-svelte-january-2025>)

Author: Dani Sandoval

Published: 2025-01-01T00:00:00Z

Content type: release

Language: en

Sources: [Svelte blog](<https://devfeed.tech/sources/svelte-blog.md>)

Topics: [Web Development](<https://devfeed.tech/topics/web-development.md>), [dev-tools](<https://devfeed.tech/topics/dev-tools.md>)

Tags: [animation](<https://devfeed.tech/tags/animation.md>), [apis](<https://devfeed.tech/tags/apis.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [svelte](<https://devfeed.tech/tags/svelte.md>)

## AI overview

A January 2025 Svelte update covering new syntax, reactivity APIs, developer tooling, bundling support, and animation-related features across Svelte and SvelteKit.

## Source excerpt

From new syntax to improved dev tooling, the Svelte team has been busy this month building new features in both Svelte and SvelteKit. And as we round the corner into the new year, there's even more to look forward to... like the 10th Svelte Summit! Join the Svelte community online or in-person in Barcelona: May 8th and 9th. Now let's get to the news 👀 What's new in Svelte Snippets can now be exported from module scripts (5.5.0, Docs, #14315) defaultValue and defaultChecked are now supported for inputs (5.6.0, Docs, #14289) The loose parser mode creates a more modern AST for developer tools to consume (5.13.0, Docs, #14691) A new "worker" exports condition helps better support bundling for worker-based environments (5.15.0, #14779) The class attribute can now be an object or array, using clsx (5.16.0, Docs, #14714) New/Updated Syntax <svelte:boundary> is a new special element that can capture errors that occur from within its subtree during client rendering (5.3.0, Docs, #14211) #each is now supported without as (5.4.0, Docs, #14396) The new Spring and Tween classes in svelte/motion make it even easier to build custom animation (5.8.0, Docs, #11519) The new outro option in unmount will play transitions before the component is removed from the DOM. (5.13.0, Docs, #14540) The $inspect.trace rune causes the surrounding function to be traced in development. Any time the function re-runs as part of an effect or a derived, information will be printed to the console about which pieces of reactive state caused the effect to fire (5.14.0, Docs, #14290) Reactivity APIs createSubscriber creates reactive values that depend on subscriptions (5.7.0, Docs, #14422) The reactive MediaQuery class creates a media query and provides a current property that reflects whether or not it matches (5.7.0, Docs, #14422) Getters and setters can now be bound to with bind (5.9.0, Docs, #14307) The svelte/reactivity/window module exports reactive versions of various window values, each of which has