# Svelte changelog ## Unreleased * Fix hydration issue with using `{@html}` and components in `svelte:head` ([#4533](https://github.com/sveltejs/svelte/issues/4533), [#6463](https://github.com/sveltejs/svelte/issues/6463), [#7444](https://github.com/sveltejs/svelte/issues/7444)) * Warn instead of throwing error if `` is void tag ([#7566](https://github.com/sveltejs/svelte/issues/7566)) * Treat `inert` as boolean attribute ([#7785](https://github.com/sveltejs/svelte/pull/7785)) * Supporting scoped style for `` ([#7443](https://github.com/sveltejs/svelte/issues/7443)) * Supports SVG elements with ``([#7613](https://github.com/sveltejs/svelte/issues/7613)) * Warn user when binding on a `{...rest}` object in `{#each}` block ([#6860](https://github.com/sveltejs/svelte/issues/6860)) * Supports `--style-props` for `` ([#7461](https://github.com/sveltejs/svelte/issues/7461)) * Add a11y warnings: * `a11y-no-noninteractive-tabindex`: check for tabindex on non-interactive elements ([#6693](https://github.com/sveltejs/svelte/pull/6693)) * `a11y-click-events-have-key-events`: check if click event is accompanied by key events ([#5073](https://github.com/sveltejs/svelte/pull/5073)) * `a11y-role-has-required-aria-props` do not warn when elements matched their semantic role ([#7838](https://github.com/sveltejs/svelte/pull/7838)) * Supports custom element in `` ([#7766](https://github.com/sveltejs/svelte/pull/7766)) * Improve performance of custom element data setting in `` ([#7869](https://github.com/sveltejs/svelte/pull/7869)) * Supports nullish values for component event handlers ([#7568](https://github.com/sveltejs/svelte/issues/7568)) * Better error message when specifying an invalid value for `` ([#7550](https://github.com/sveltejs/svelte/issues/7550)) ## 3.50.1 * Add all global objects and functions as known globals ([#3805](https://github.com/sveltejs/svelte/issues/3805), [#7223](https://github.com/sveltejs/svelte/issues/7223)) * Fix regression with style manager ([#7828](https://github.com/sveltejs/svelte/issues/7828)) ## 3.50.0 * Add a11y warnings: * `a11y-incorrect-aria-attribute-type`: check ARIA state and property values ([#6978](https://github.com/sveltejs/svelte/pull/6978)) * `a11y-no-abstract-role`: check that ARIA roles are non-abstract ([#6241](https://github.com/sveltejs/svelte/pull/6241)) * `a11y-no-interactive-element-to-noninteractive-role`: check for non-interactive roles used on interactive elements ([#5955](https://github.com/sveltejs/svelte/pull/5955)) * `a11y-role-has-required-aria-props`: check that elements with `role` attribute have all required attributes for that role ([#5852](https://github.com/sveltejs/svelte/pull/5852)) * Add `ComponentEvents` convenience type ([#7702](https://github.com/sveltejs/svelte/pull/7702)) * Add `SveltePreprocessor` utility type ([#7742](https://github.com/sveltejs/svelte/pull/7742)) * Enhance action typings ([#7805](https://github.com/sveltejs/svelte/pull/7805)) * Remove empty stylesheets created from transitions ([#4801](https://github.com/sveltejs/svelte/issues/4801), [#7164](https://github.com/sveltejs/svelte/issues/7164)) * Make `a11y-label-has-associated-control` warning check all descendants for input control ([#5528](https://github.com/sveltejs/svelte/issues/5528)) * Only show lowercase component name warnings for non-HTML/SVG elements ([#5712](https://github.com/sveltejs/svelte/issues/5712)) * Disallow invalid CSS selectors starting with a combinator ([#7643](https://github.com/sveltejs/svelte/issues/7643)) * Use `Node.parentNode` instead of `Node.parentElement` for legacy browser support ([#7723](https://github.com/sveltejs/svelte/issues/7723)) * Handle arrow function on `` inside `` ([#7485](https://github.com/sveltejs/svelte/issues/7485)) * Improve parsing speed when encountering large blocks of whitespace ([#7675](https://github.com/sveltejs/svelte/issues/7675)) * Fix `class:` directive updates in aborted/restarted transitions ([#7764](https://github.com/sveltejs/svelte/issues/7764)) ## 3.49.0 * Improve performance of string escaping during SSR ([#5701](https://github.com/sveltejs/svelte/pull/5701)) * Add `ComponentType` and `ComponentProps` convenience types ([#6770](https://github.com/sveltejs/svelte/pull/6770)) * Add support for CSS `@layer` ([#7504](https://github.com/sveltejs/svelte/issues/7504)) * Export `CompileOptions` from `svelte/compiler` ([#7658](https://github.com/sveltejs/svelte/pull/7658)) * Fix DOM-less components not being properly destroyed ([#7488](https://github.com/sveltejs/svelte/issues/7488)) * Fix `class:` directive updates with `` ([#7521](https://github.com/sveltejs/svelte/issues/7521), [#7571](https://github.com/sveltejs/svelte/issues/7571)) * Harden attribute escaping during SSR ([#7530](https://github.com/sveltejs/svelte/pull/7530)) ## 3.48.0 * Allow creating cancelable custom events with `createEventDispatcher` ([#4623](https://github.com/sveltejs/svelte/issues/4623)) * Support `{@const}` tag in `{#if}` blocks [#7241](https://github.com/sveltejs/svelte/issues/7241) * Return the context object in `setContext` [#7427](https://github.com/sveltejs/svelte/issues/7427) * Allow comments inside `{#each}` blocks when using `animate:` ([#3999](https://github.com/sveltejs/svelte/issues/3999)) * Fix `|local` transitions in `{#key}` blocks ([#5950](https://github.com/sveltejs/svelte/issues/5950)) * Support svg namespace for `{@html}` ([#7002](https://github.com/sveltejs/svelte/issues/7002), [#7450](https://github.com/sveltejs/svelte/issues/7450)) * Fix `{@const}` tag not working inside a component when there's no `let:` [#7189](https://github.com/sveltejs/svelte/issues/7189) * Remove extraneous leading newline inside `
` and `