# What's new in Svelte: December 2020

DevFeed: [What's new in Svelte: December 2020](<https://devfeed.tech/articles/what-s-new-in-svelte-december-2020-3068.md>)

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

Author: Dani Sandoval

Published: 2020-12-01T00:00:00Z

Content type: release

Language: en

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

Topics: [Svelte](<https://devfeed.tech/topics/svelte.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Web Components](<https://devfeed.tech/topics/web-components.md>), [npm](<https://devfeed.tech/topics/npm.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [components](<https://devfeed.tech/tags/components.md>), [new-features](<https://devfeed.tech/tags/new-features.md>), [npm](<https://devfeed.tech/tags/npm.md>), [ssr](<https://devfeed.tech/tags/ssr.md>), [svelte](<https://devfeed.tech/tags/svelte.md>), [svg](<https://devfeed.tech/tags/svg.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [updates](<https://devfeed.tech/tags/updates.md>)

## AI overview

Svelte's December 2020 update covers new component features, lifecycle support, stronger TypeScript typing, transition fixes, and an npm export map. It also reports updates to rollup-plugin-svelte and Sapper, discusses SvelteKit, and showcases community projects built with Svelte.

## Source excerpt

It's the last "What's new in Svelte" of the year and there's lots to celebrate! This month's coverage includes updates from rollup-plugin-svelte, Sapper and SvelteKit and a bunch of showcases from the Svelte community! New features & impactful bug fixes $$props, $$restProps, and $$slots are all now supported in custom web components (3.29.5, Example) and slot components now support spread props: <slot {...foo} /> (3.30.0) A new hasContext lifecycle function makes it easy to check whether a key has been set in the context of a parent component (3.30.0 & 3.30.1, Docs) There is now a new SvelteComponentTyped class which makes it easier to add strongly typed components that extend base Svelte components. Component library and framework authors rejoice! An example: export class YourComponent extends SvelteComponentTyped<{aProp: boolean}, {click: MouseEvent}, {default: {aSlot: string}}> {} (3.31.0, RFC) Transitions within {:else} blocks should now complete successfully (3.29.5, Example) Svelte now includes an export map, which explicitly states which files can be imported from its npm package (3.29.5 with some fixes in 3.29.6, 3.29.7 and 3.30.0) rollup-plugin-svelte had a new 7.0.0 release. The biggest change is that the css option was removed. Users who were using that option should add another plugin like rollup-plugin-css-only as demonstrated in the template What's going on in Sapper? Lots of new TypeScript definition improvements to make editing Sapper apps even easier! CSS for dynamic imports also should now work in client.js files. (Unreleased) What's the deal with SvelteKit? We're glad you asked! If you didn't catch Rich's blog post from early last month, you can find it here! For all the features and bugfixes see the CHANGELOGs for Svelte and Sapper. Community ShowcaseApps & Sites narration.studio (Chrome Only) is an automatic in-browser audio recording & editing platform for voice over narration. Vippet is a video recording and editing tool for the browser. Patte