|
1 | 1 | # Svelte changelog
|
2 | 2 |
|
3 |
| -## 3.47.0 (Unreleased) |
| 3 | +## Unreleased |
| 4 | + |
| 5 | +* Add a11y warnings: |
| 6 | + * `aria-activedescendant-has-tabindex`: elements with `aria-activedescendant` need to have a `tabindex` ([#8172](https://github.com/sveltejs/svelte/pull/8172)) |
| 7 | + * `role-supports-aria-props`: checks that the (implicit) element role supports the given aria attributes ([#8195](https://github.com/sveltejs/svelte/pull/8195)) |
| 8 | +* Omit a11y warning on `<video>` tags with `aria-hidden="true"` ([#7874](https://github.com/sveltejs/svelte/issues/7874)) |
| 9 | +* Omit a11y "no child content" warning on elements with `aria-label` ([#8299](https://github.com/sveltejs/svelte/pull/8299)) |
| 10 | +* Make `noreferrer` warning less zealous ([#6289](https://github.com/sveltejs/svelte/issues/6289)) |
| 11 | +* `trusted-types` CSP compatibility for Web Components ([#8134](https://github.com/sveltejs/svelte/issues/8134)) |
| 12 | +* Add `data-sveltekit-replacestate` and `data-sveltekit-keepfocus` attribute typings ([#8281](https://github.com/sveltejs/svelte/issues/8281)) |
| 13 | +* Don't throw when calling `unsubscribe` twice ([#8186](https://github.com/sveltejs/svelte/pull/8186)) |
| 14 | +* Detect unused empty attribute CSS selectors ([#8042](https://github.com/sveltejs/svelte/issues/8042)) |
| 15 | +* Simpler output for reactive statements if dependencies are all static ([#7942](https://github.com/sveltejs/svelte/pull/7942)) |
| 16 | +* Flush remaining `afterUpdate` calls before `onDestroy` ([#7476](https://github.com/sveltejs/svelte/issues/7476)) |
| 17 | +* Check value equality for `input` types `url` and `search` ([#7027](https://github.com/sveltejs/svelte/issues/7027)) |
| 18 | +* Compute node dimensions directly before crossfading ([#4111](https://github.com/sveltejs/svelte/issues/4111)) |
| 19 | +* Add `readonly` method to convert `writable` store to readonly ([#6518](https://github.com/sveltejs/svelte/pull/6518)) |
| 20 | +* Ensure `bind:offsetHeight` updates initially ([#4233](https://github.com/sveltejs/svelte/issues/4233)) |
| 21 | +* Better handling of `inert` attribute ([#7500](https://github.com/sveltejs/svelte/issues/7500)) |
| 22 | +* Clear inputs when `bind:group` to `undefined` ([#8214](https://github.com/sveltejs/svelte/issues/8214)) |
| 23 | +* Ensure nested arrays can change at the same time ([#8282](https://github.com/sveltejs/svelte/issues/8282)) |
| 24 | +* Reduce use of template literals in SSR output for better performance ([#7539](https://github.com/sveltejs/svelte/pull/7539)) |
| 25 | +* Allow assigning to property of const while destructuring ([#7964](https://github.com/sveltejs/svelte/issues/7964)) |
| 26 | +* Don't set selected options if value is unbound or not passed ([#5644](https://github.com/sveltejs/svelte/issues/5644)) |
| 27 | +* Ensure `<input>` value persists when swapping elements with spread attributes in an `#each` block ([#7578](https://github.com/sveltejs/svelte/issues/7578)) |
| 28 | +* Select first enabled option by default when initial value is undefined ([#7041](https://github.com/sveltejs/svelte/issues/7041)) |
| 29 | +* Fix race condition on `svelte:element` with transitions ([#7948](https://github.com/sveltejs/svelte/issues/7948)) |
| 30 | + |
| 31 | +## 3.55.1 |
| 32 | + |
| 33 | +* Fix `draw` transition with delay showing a dot at the beginning of the path ([#6816](https://github.com/sveltejs/svelte/issues/6816)) |
| 34 | +* Fix infinity runtime call stack when propagating bindings ([#7032](https://github.com/sveltejs/svelte/issues/7032)) |
| 35 | +* Fix static `<svelte:element>` optimization in production mode ([#7937](https://github.com/sveltejs/svelte/issues/7937)) |
| 36 | +* Fix `svelte-ignore` comment breaking named slot ([#8075](https://github.com/sveltejs/svelte/issues/8075)) |
| 37 | +* Revert change to prevent running init binding unnecessarily ([#8103](https://github.com/sveltejs/svelte/issues/8103)) |
| 38 | +* Fix adding duplicate event listeners with `<svelte:element on:event>` ([#8129](https://github.com/sveltejs/svelte/issues/8129)) |
| 39 | +* Improve detection of promises that are also functions ([#8162](https://github.com/sveltejs/svelte/pull/8162)) |
| 40 | +* Avoid mutating spread component props during SSR ([#8171](https://github.com/sveltejs/svelte/issues/8171)) |
| 41 | +* Add missing typing for global `part` attribute ([#8181](https://github.com/sveltejs/svelte/issues/8181)) |
| 42 | +* Add missing `submitter` property to `on:submit` event type |
| 43 | + |
| 44 | +## 3.55.0 |
| 45 | + |
| 46 | +* Add `svelte/elements` for HTML/Svelte typings ([#7649](https://github.com/sveltejs/svelte/pull/7649)) |
| 47 | + |
| 48 | +## 3.54.0 |
| 49 | + |
| 50 | +* Pass `options.direction` argument to custom transition functions ([#3918](https://github.com/sveltejs/svelte/issues/3918)) |
| 51 | +* Support fallback a11y WAI-ARIA roles ([#8044](https://github.com/sveltejs/svelte/issues/8044)) |
| 52 | +* Prevent running init binding unnecessarily ([#5689](https://github.com/sveltejs/svelte/issues/5689), [#6298](https://github.com/sveltejs/svelte/issues/6298)) |
| 53 | +* Allow updating variables from `@const` declared function ([#7843](https://github.com/sveltejs/svelte/issues/7843)) |
| 54 | +* Do not emit `a11y-no-noninteractive-tabindex` warning if element has a `tabpanel` ([#8025](https://github.com/sveltejs/svelte/pull/8025)) |
| 55 | +* Fix escaping SSR'd values in `style:` directive ([#8085](https://github.com/sveltejs/svelte/issues/8085)) |
| 56 | + |
| 57 | +## 3.53.1 |
| 58 | + |
| 59 | +* Fix exception in `rel=` attribute check with dynamic values ([#7994](https://github.com/sveltejs/svelte/issues/7994)) |
| 60 | +* Do not emit deprecation warnings for `css` compiler options for now ([#8009](https://github.com/sveltejs/svelte/issues/8009)) |
| 61 | +* Make compiler run in browser again ([#8010](https://github.com/sveltejs/svelte/issues/8010)) |
| 62 | +* Upgrade `tslib` ([#8013](https://github.com/sveltejs/svelte/issues/8013)) |
| 63 | + |
| 64 | +## 3.53.0 |
| 65 | + |
| 66 | +* Check whether `parentNode` exists before removing child ([#6037](https://github.com/sveltejs/svelte/issues/6037)) |
| 67 | +* Upgrade various dependencies, notably `css-tree` to `2.2.1` ([#7572](https://github.com/sveltejs/svelte/pull/7572), [#7982](https://github.com/sveltejs/svelte/pull/7982)) |
| 68 | +* Extend `css` compiler option with `'external' | 'injected' | 'none'` settings and deprecate old `true | false` values ([#7914](https://github.com/sveltejs/svelte/pull/7914)) |
| 69 | + |
| 70 | +## 3.52.0 |
| 71 | + |
| 72 | +* Throw compile-time error when attempting to update `const` variable ([#4895](https://github.com/sveltejs/svelte/issues/4895)) |
| 73 | +* Warn when using `<a target="_blank">` without `rel="noreferrer"` ([#6188](https://github.com/sveltejs/svelte/issues/6188)) |
| 74 | +* Support `style:foo|important` modifier ([#7365](https://github.com/sveltejs/svelte/issues/7365)) |
| 75 | +* Fix hydration regression with `{@html}` and components in `<svelte:head>` ([#7941](https://github.com/sveltejs/svelte/pull/7941)) |
| 76 | + |
| 77 | +## 3.51.0 |
| 78 | + |
| 79 | +* Add a11y warnings: |
| 80 | + * `a11y-click-events-have-key-events`: check if click event is accompanied by key events ([#5073](https://github.com/sveltejs/svelte/pull/5073)) |
| 81 | + * `a11y-no-noninteractive-tabindex`: check for tabindex on non-interactive elements ([#6693](https://github.com/sveltejs/svelte/pull/6693)) |
| 82 | +* Warn when two-way binding to `{...rest}` object in `{#each}` block ([#6860](https://github.com/sveltejs/svelte/issues/6860)) |
| 83 | +* Support `--style-props` on `<svelte:component>` ([#7461](https://github.com/sveltejs/svelte/issues/7461)) |
| 84 | +* Supports nullish values for component event handlers ([#7568](https://github.com/sveltejs/svelte/issues/7568)) |
| 85 | +* Supports SVG elements with `<svelte:element>`([#7613](https://github.com/sveltejs/svelte/issues/7613)) |
| 86 | +* Treat `inert` as boolean attribute ([#7785](https://github.com/sveltejs/svelte/pull/7785)) |
| 87 | +* Support `--style-props` for SVG components ([#7808](https://github.com/sveltejs/svelte/issues/7808)) |
| 88 | +* Fix false positive dev warnings about unset props when they are bound ([#4457](https://github.com/sveltejs/svelte/issues/4457)) |
| 89 | +* Fix hydration with `{@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)) |
| 90 | +* Support scoped style for `<svelte:element>` ([#7443](https://github.com/sveltejs/svelte/issues/7443)) |
| 91 | +* Improve error message for invalid value for `<svelte:component this={...}>` ([#7550](https://github.com/sveltejs/svelte/issues/7550)) |
| 92 | +* Improve error message when using logic blocks or tags at invalid location ([#7552](https://github.com/sveltejs/svelte/issues/7552)) |
| 93 | +* Warn instead of throwing error if `<svelte:element>` is a void tag ([#7566](https://github.com/sveltejs/svelte/issues/7566)) |
| 94 | +* Supports custom elements in `<svelte:element>` ([#7733](https://github.com/sveltejs/svelte/issues/7733)) |
| 95 | +* Fix calling component unmount if a component is mounted and then immediately unmounted ([#7817](https://github.com/sveltejs/svelte/issues/7817)) |
| 96 | +* Do not generate `a11y-role-has-required-aria-props` warning when elements match their semantic role ([#7837](https://github.com/sveltejs/svelte/issues/7837)) |
| 97 | +* Improve performance of custom element data setting in `<svelte:element>` ([#7869](https://github.com/sveltejs/svelte/pull/7869)) |
| 98 | + |
| 99 | +## 3.50.1 |
| 100 | + |
| 101 | +* 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)) |
| 102 | +* Fix regression with style manager ([#7828](https://github.com/sveltejs/svelte/issues/7828)) |
| 103 | + |
| 104 | +## 3.50.0 |
| 105 | + |
| 106 | +* Add a11y warnings: |
| 107 | + * `a11y-incorrect-aria-attribute-type`: check ARIA state and property values ([#6978](https://github.com/sveltejs/svelte/pull/6978)) |
| 108 | + * `a11y-no-abstract-role`: check that ARIA roles are non-abstract ([#6241](https://github.com/sveltejs/svelte/pull/6241)) |
| 109 | + * `a11y-no-interactive-element-to-noninteractive-role`: check for non-interactive roles used on interactive elements ([#5955](https://github.com/sveltejs/svelte/pull/5955)) |
| 110 | + * `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)) |
| 111 | +* Add `ComponentEvents` convenience type ([#7702](https://github.com/sveltejs/svelte/pull/7702)) |
| 112 | +* Add `SveltePreprocessor` utility type ([#7742](https://github.com/sveltejs/svelte/pull/7742)) |
| 113 | +* Enhance action typings ([#7805](https://github.com/sveltejs/svelte/pull/7805)) |
| 114 | +* Remove empty stylesheets created from transitions ([#4801](https://github.com/sveltejs/svelte/issues/4801), [#7164](https://github.com/sveltejs/svelte/issues/7164)) |
| 115 | +* Make `a11y-label-has-associated-control` warning check all descendants for input control ([#5528](https://github.com/sveltejs/svelte/issues/5528)) |
| 116 | +* Only show lowercase component name warnings for non-HTML/SVG elements ([#5712](https://github.com/sveltejs/svelte/issues/5712)) |
| 117 | +* Disallow invalid CSS selectors starting with a combinator ([#7643](https://github.com/sveltejs/svelte/issues/7643)) |
| 118 | +* Use `Node.parentNode` instead of `Node.parentElement` for legacy browser support ([#7723](https://github.com/sveltejs/svelte/issues/7723)) |
| 119 | +* Handle arrow function on `<slot>` inside `<svelte:fragment>` ([#7485](https://github.com/sveltejs/svelte/issues/7485)) |
| 120 | +* Improve parsing speed when encountering large blocks of whitespace ([#7675](https://github.com/sveltejs/svelte/issues/7675)) |
| 121 | +* Fix `class:` directive updates in aborted/restarted transitions ([#7764](https://github.com/sveltejs/svelte/issues/7764)) |
| 122 | + |
| 123 | +## 3.49.0 |
| 124 | + |
| 125 | +* Improve performance of string escaping during SSR ([#5701](https://github.com/sveltejs/svelte/pull/5701)) |
| 126 | +* Add `ComponentType` and `ComponentProps` convenience types ([#6770](https://github.com/sveltejs/svelte/pull/6770)) |
| 127 | +* Add support for CSS `@layer` ([#7504](https://github.com/sveltejs/svelte/issues/7504)) |
| 128 | +* Export `CompileOptions` from `svelte/compiler` ([#7658](https://github.com/sveltejs/svelte/pull/7658)) |
| 129 | +* Fix DOM-less components not being properly destroyed ([#7488](https://github.com/sveltejs/svelte/issues/7488)) |
| 130 | +* Fix `class:` directive updates with `<svelte:element>` ([#7521](https://github.com/sveltejs/svelte/issues/7521), [#7571](https://github.com/sveltejs/svelte/issues/7571)) |
| 131 | +* Harden attribute escaping during SSR ([#7530](https://github.com/sveltejs/svelte/pull/7530)) |
| 132 | + |
| 133 | +## 3.48.0 |
| 134 | + |
| 135 | +* Allow creating cancelable custom events with `createEventDispatcher` ([#4623](https://github.com/sveltejs/svelte/issues/4623)) |
| 136 | +* Support `{@const}` tag in `{#if}` blocks [#7241](https://github.com/sveltejs/svelte/issues/7241) |
| 137 | +* Return the context object in `setContext` [#7427](https://github.com/sveltejs/svelte/issues/7427) |
| 138 | +* Allow comments inside `{#each}` blocks when using `animate:` ([#3999](https://github.com/sveltejs/svelte/issues/3999)) |
| 139 | +* Fix `|local` transitions in `{#key}` blocks ([#5950](https://github.com/sveltejs/svelte/issues/5950)) |
| 140 | +* Support svg namespace for `{@html}` ([#7002](https://github.com/sveltejs/svelte/issues/7002), [#7450](https://github.com/sveltejs/svelte/issues/7450)) |
| 141 | +* Fix `{@const}` tag not working inside a component when there's no `let:` [#7189](https://github.com/sveltejs/svelte/issues/7189) |
| 142 | +* Remove extraneous leading newline inside `<pre>` and `<textarea>` ([#7264](https://github.com/sveltejs/svelte/issues/7264)) |
| 143 | +* Fix erroneous setting of `textContent` for `<template>` elements ([#7297](https://github.com/sveltejs/svelte/pull/7297)) |
| 144 | +* Fix value of `let:` bindings not updating in certain cases ([#7440](https://github.com/sveltejs/svelte/issues/7440)) |
| 145 | +* Fix handling of void tags in `<svelte:element>` ([#7449](https://github.com/sveltejs/svelte/issues/7449)) |
| 146 | +* Fix handling of boolean attributes in `<svelte:element>` ([#7478](https://github.com/sveltejs/svelte/issues/7478)) |
| 147 | +* Add special style scoping handling of `[open]` selectors on `<dialog>` elements ([#7495](https://github.com/sveltejs/svelte/issues/7494)) |
| 148 | + |
| 149 | +## 3.47.0 |
4 | 150 |
|
5 |
| -* Add `Symbol` as a known global ([#7419](https://github.com/sveltejs/svelte/pull/7419)) |
6 |
| -* Fix `{#key}` block not reactive when the key variable is not being used ([#7422](https://github.com/sveltejs/svelte/pull/7422)) |
7 | 151 | * Add support for dynamic elements through `<svelte:element>` ([#2324](https://github.com/sveltejs/svelte/issues/2324))
|
| 152 | +* Miscellaneous variable context fixes in `{@const}` ([#7222](https://github.com/sveltejs/svelte/pull/7222)) |
| 153 | +* Fix `{#key}` block not being reactive when the key variable is not otherwise used ([#7408](https://github.com/sveltejs/svelte/issues/7408)) |
| 154 | +* Add `Symbol` as a known global ([#7418](https://github.com/sveltejs/svelte/issues/7418)) |
8 | 155 |
|
9 | 156 | ## 3.46.6
|
10 | 157 |
|
@@ -919,7 +1066,7 @@ Also:
|
919 | 1066 |
|
920 | 1067 | ## 3.5.1
|
921 | 1068 |
|
922 |
| -* Accommodate webpack idiosyncracies |
| 1069 | +* Accommodate webpack idiosyncrasies |
923 | 1070 |
|
924 | 1071 | ## 3.5.0
|
925 | 1072 |
|
@@ -1121,7 +1268,7 @@ Also:
|
1121 | 1268 | ## 2.12.0
|
1122 | 1269 |
|
1123 | 1270 | * Initialise actions on mount rather than hydrate ([#1653](https://github.com/sveltejs/svelte/pull/1653))
|
1124 |
| -* Allow non-existent components to be destroyed ([#1677](https://github.com/sveltejs/svelte/pull/1677)) |
| 1271 | +* Allow nonexistent components to be destroyed ([#1677](https://github.com/sveltejs/svelte/pull/1677)) |
1125 | 1272 | * Pass AMD ID from CLI correctly ([#1672](https://github.com/sveltejs/svelte/pull/1672))
|
1126 | 1273 | * Minor AST tweaks ([#1673](https://github.com/sveltejs/svelte/pull/1673), [#1674](https://github.com/sveltejs/svelte/pull/1674))
|
1127 | 1274 | * Reduce code duplication in component initialisation ([#1670](https://github.com/sveltejs/svelte/pull/1670))
|
|
0 commit comments