UNPKG

svelte

Version:

Cybernetically enhanced web apps

945 lines (620 loc) 81.8 kB
# Svelte changelog ## 3.6.3 * Fix await block mounting inside removed if block ([#1496](https://github.com/sveltejs/svelte/issues/1496)) * Update when element references are removed ([#2034](https://github.com/sveltejs/svelte/issues/2034)) * Don't attempt to serialize non-string values in server-rendered bindings ([#2135](https://github.com/sveltejs/svelte/issues/2135)) * Recognise dependencies in function expressions ([#2693](https://github.com/sveltejs/svelte/issues/2693)) * Scope pseudo-class selectors without class/type ([#1705](https://github.com/sveltejs/svelte/issues/1705)) * Allow nested at-rules ([#3135](https://github.com/sveltejs/svelte/issues/3135)) * Allow attributes to contain `=` characters ([#3149](https://github.com/sveltejs/svelte/pull/3149)) ## 3.6.2 * Fix placement of each-else block ([#2917](https://github.com/sveltejs/svelte/issues/2917)) * Make context accessible to `bind:this` ([#2806](https://github.com/sveltejs/svelte/issues/2806)) * Pass hoisted values to slots ([#2586](https://github.com/sveltejs/svelte/issues/2586)) ## 3.6.1 * Fix escaping of `@` in dev mode debug filename ([#3114](https://github.com/sveltejs/svelte/pull/3114)) ## 3.6.0 * Add `innerHTML` and `textContent` bindings for `contenteditable` elements ([#2996](https://github.com/sveltejs/svelte/pull/2996)) * Fix destructuring assignments where targets are member expressions ([#3092](https://github.com/sveltejs/svelte/issues/3092)) * Deconflict with used globals ([#2963](https://github.com/sveltejs/svelte/pull/2963)) * Always run `onDestroy` functions, not just for detaching components ([#3058](https://github.com/sveltejs/svelte/issues/3058)) * Fix scope analysis around catch clauses ([#3064](https://github.com/sveltejs/svelte/issues/3064)) * Add error constructors to known globals ([#3064](https://github.com/sveltejs/svelte/issues/3064)) * Always bail out of hoisting on encountering local state in function definition ([#3044](https://github.com/sveltejs/svelte/issues/3044)) * Fix incorrect merging of top-level text nodes ([#3027](https://github.com/sveltejs/svelte/issues/3027)) * Handle removal of components in each blocks without props ([#3035](https://github.com/sveltejs/svelte/issues/3035)) * Only call subscriber once when resubscribing to a store ([#3022](https://github.com/sveltejs/svelte/issues/3022)) * Check for existence of dynamic component before introing ([#3054](https://github.com/sveltejs/svelte/issues/3054)) * Sanitize names of bubbled event handlers ([#2923](https://github.com/sveltejs/svelte/issues/2923)) ## 3.5.4 * Preserve whitespace at the boundaries of `{#each}` blocks ([#713](https://github.com/sveltejs/svelte/issues/713)) * Fix dynamic `bind:this` on components ([#2333](https://github.com/sveltejs/svelte/issues/2333)) * Fix binding to values in a component when it uses `$$props` ([#2725](https://github.com/sveltejs/svelte/issues/2725)) * Fix parsing ambiguous HTML entities ([#3071](https://github.com/sveltejs/svelte/pull/3071)) ## 3.5.3 * Don't double-destroy keyed each blocks with outros ([#3055](https://github.com/sveltejs/svelte/issues/3055)) ## 3.5.2 * Prevent duplicated outros causing errors ([#3001](https://github.com/sveltejs/svelte/issues/3001)) * Fix automatic name generation ([#2843](https://github.com/sveltejs/svelte/issues/2843)) * Fix .d.ts stubs ([#3009](https://github.com/sveltejs/svelte/pull/3009)) * Don't strip non-breaking spaces ([#3014](https://github.com/sveltejs/svelte/issues/3014)) * Fix `requestAnimationFrame` context ([#2933](https://github.com/sveltejs/svelte/issues/2933)) * Allow space before attribute value ([#3026](https://github.com/sveltejs/svelte/issues/3026)) * Remove null/undefined attributes ([#1434](https://github.com/sveltejs/svelte/issues/1434)) * Fix whitespace in static markup ([#3030](https://github.com/sveltejs/svelte/pull/3030)) ## 3.5.1 * Accommodate webpack idiosyncracies ## 3.5.0 * Update package folder structure ([#2887](https://github.com/sveltejs/svelte/pull/2887)) * Support `once` modifier on component events ([#2654](https://github.com/sveltejs/svelte/issues/2654)) * Allow empty `<title>` tags ([#2980](https://github.com/sveltejs/svelte/issues/2980)) * Render textarea binding values inside element ([#2975](https://github.com/sveltejs/svelte/pull/2975)) * Fix delayed animation glitch ([#2871](https://github.com/sveltejs/svelte/issues/2871)) * Solve diamond dependencies problem with stores ([#2660](https://github.com/sveltejs/svelte/issues/2660)) * Fix missing outros inside each blocks ([#2689](https://github.com/sveltejs/svelte/issues/2689)) * Support animations without transitions ([#2908](https://github.com/sveltejs/svelte/issues/2908)) * Add missing transition events ([#2912](https://github.com/sveltejs/svelte/pull/2912)) ## 3.4.4 * Publish type declaration files ([#2874](https://github.com/sveltejs/svelte/issues/2874)) * Don't trigger updates for unreferenced values ([#2865](https://github.com/sveltejs/svelte/pull/2865)) * Omit readonly bindings from SSR output ([#2339](https://github.com/sveltejs/svelte/issues/2339)) * Prevent outdated animation CSS ([#2871](https://github.com/sveltejs/svelte/issues/2871)) * Repair dynamic `{@html ...}` in head ([#2880](https://github.com/sveltejs/svelte/pull/2880)) * Don't create unknown prop warnings for internal props, or if component has `$$props` ([#2881](https://github.com/sveltejs/svelte/pull/2881)) ## 3.4.3 * Add type declaration files for everything ([#2842](https://github.com/sveltejs/svelte/pull/2842)) * Prevent `svelte/store` being bundled ([#2786](https://github.com/sveltejs/svelte/issues/2786)) * Warn on unknown props in dev mode ([#2840](https://github.com/sveltejs/svelte/pull/2840)) * Treat `requestAnimationFrame` as a no-op on the server ([#2856](https://github.com/sveltejs/svelte/pull/2856)) * Add `raw` property to AST's `Text` nodes ([#2714](https://github.com/sveltejs/svelte/issues/2714)) * Add `<details bind:open>` ([#2854](https://github.com/sveltejs/svelte/issues/2854)) ## 3.4.2 * Use empty string for empty data attributes ([#2804](https://github.com/sveltejs/svelte/pull/2804)) * Support `customElement: true` with no `<svelte:options>` ([#2821](https://github.com/sveltejs/svelte/issues/2821)) * Add docstrings to `svelte/store` ([#2795](https://github.com/sveltejs/svelte/pull/2795)) ## 3.4.1 * Handle non-falsy non-function return values from derivers ([#2780](https://github.com/sveltejs/svelte/issues/2780)) * Allow `spring` to work server-side ([#2773](https://github.com/sveltejs/svelte/issues/2773)) ## 3.4.0 * Allow custom element to be defined without a `tag` ([#2417](https://github.com/sveltejs/svelte/issues/2417)) * Fix parsing of quote marks inside attribute values ([#2715](https://github.com/sveltejs/svelte/pull/2754)) * Convert `svelte/store` to TypeScript ([#2733](https://github.com/sveltejs/svelte/pull/2733)) * Allow `debug` tags to include hoisted values ([#2764](https://github.com/sveltejs/svelte/issues/2764)) * Parse error if attribute name is missing `=` ([#1513](https://github.com/sveltejs/svelte/pull/2770)) * Allow reactive declarations to depend on mutated `const` values ([#2728](https://github.com/sveltejs/svelte/issues/2728)) ## 3.3.0 * Allow multiple event listeners on a single node ([#2688](https://github.com/sveltejs/svelte/issues/2688)) * Allow derivers to return a cleanup function ([#2553](https://github.com/sveltejs/svelte/issues/2553)) * Support namespaced components (`<Foo.Bar/>`) ([#2743](https://github.com/sveltejs/svelte/pull/2743)) ## 3.2.2 * Add `window` and `document` to expected globals ([#2722](https://github.com/sveltejs/svelte/pull/2722)) * Prevent hoisting of functions that depend on reactive state ([#2703](https://github.com/sveltejs/svelte/pull/2703)) * Generate correct code when slot has no changes ([#2697](https://github.com/sveltejs/svelte/issues/2697)) * Prevent `Object.prototype`-related bugs ([#2696](https://github.com/sveltejs/svelte/pull/2696)) ## 3.2.1 * Use same comparison logic for `derived` as for other stores ([#2644](https://github.com/sveltejs/svelte/issues/2644)) * Invalidate dependencies of reactive declarations ([#2444](https://github.com/sveltejs/svelte/issues/2444)) * Fix instrumentation of auto-subscription self-assignments ([#2681](https://github.com/sveltejs/svelte/issues/2681)) * Warn on non-top-level or module-context statements labeled with `$:` ([#2176](https://github.com/sveltejs/svelte/issues/2176)) ## 3.2.0 * Improve `spring` animations, and add `hard`/`soft` options ([#2627](https://github.com/sveltejs/svelte/pull/2627)) * Expose `parse` and `walk` functions ([#2661](https://github.com/sveltejs/svelte/issues/2661), [#2534](https://github.com/sveltejs/svelte/pull/2534)) * Support array/object rest in `each` block destructuring patterns ([#2647](https://github.com/sveltejs/svelte/issues/2647), [#2658](https://github.com/sveltejs/svelte/pull/2658)) * Use `setAttribute` to change `form` property on form elements ([#1742](https://github.com/sveltejs/svelte/issues/1742)) * Fix a11y warning when `<figcaption>` is non-direct descendant of `<figure>` ([#2582](https://github.com/sveltejs/svelte/issues/2582)) * Squelch erroneous 'empty block' warnings ([#1716](https://github.com/sveltejs/svelte/issues/1716)) * Fix IE9/10 error with `insertBefore` ([#2573](https://github.com/sveltejs/svelte/issues/2573)) * Prevent `$$scope` from being spread onto an element ([#2520](https://github.com/sveltejs/svelte/issues/2520)) * Resubscribe to stores that are assigned to in `<script>` ([#2435](https://github.com/sveltejs/svelte/issues/2435)) * Allow reactive declarations to depend on `const` variables ([#2285](https://github.com/sveltejs/svelte/issues/2285)) * Trigger store changes on UpdateExpression ([#2625](https://github.com/sveltejs/svelte/issues/2625)) * Squelch missing prop warning if variable is initialised ([#2635](https://github.com/sveltejs/svelte/issues/2635)) * Add `alert`, `confirm` and `prompt` to known globals ([#2648](https://github.com/sveltejs/svelte/issues/2648)) ## 3.1.0 * Allow store subscribe functions to return an object with an `unsubscribe` method, providing native RxJS support ([#2549](https://github.com/sveltejs/svelte/issues/2549)) ## 3.0.1 * Prevent text input cursor jumping in Safari ([#2506](https://github.com/sveltejs/svelte/issues/2506)) * Allow assignments to member expressions ([#2510](https://github.com/sveltejs/svelte/issues/2510)) * Prevent mutually dependent functions causing an infinite during hoisting ([#2542](https://github.com/sveltejs/svelte/issues/2542)) * Reuse scheduler promise instead of creating new one each time ([#2555](https://github.com/sveltejs/svelte/pull/2555)) * Various site/docs fixes ## 3.0.0 * Everything ## 2.15.4 * IE `classList` fix ([#1868](https://github.com/sveltejs/svelte/pull/1868)) ## 2.15.3 * Don't mutate AST ## 2.15.2 * Expose `stats.props` ([#1837](https://github.com/sveltejs/svelte/issues/1837)) ## 2.15.1 * Don't throw missing store error when store is declared in component ([#1828](https://github.com/sveltejs/svelte/issues/1828)) ## 2.15.0 * Event modifiers ([#1088](https://github.com/sveltejs/svelte/issues/1088)) * Wheel and touch events are passive by default ([#1088](https://github.com/sveltejs/svelte/issues/1088)) * Add `<svelte:document>` tag ([#1484](https://github.com/sveltejs/svelte/issues/1484)) * Include binding values in server-rendered HTML ([#1205](https://github.com/sveltejs/svelte/issues/1205)) * Remove attributes when value is undefined/null ([#1434](https://github.com/sveltejs/svelte/issues/1434)) * Initialise window scroll from component data ([#938](https://github.com/sveltejs/svelte/issues/938)) * Remove references to unused properties in generated code ([#1187](https://github.com/sveltejs/svelte/issues/1187)) * Add TypeScript definitions for store ([#1207](https://github.com/sveltejs/svelte/issues/1207)) * Better error for missing store ([#1807](https://github.com/sveltejs/svelte/issues/1807)) ## 2.14.3 * Account for directive dependencies ([#1793](https://github.com/sveltejs/svelte/issues/1793)) * Detach each block iterations in each blocks with no update method ([#1795](https://github.com/sveltejs/svelte/issues/1795)) ## 2.14.2 * Fix issue with nested `{#if}` blocks ([#1780](https://github.com/sveltejs/svelte/issues/1780)) ## 2.14.1 * Fix block insertion order regression ([#1778](https://github.com/sveltejs/svelte/issues/1778)) * Fix blocks inside `<svelte:head>` ([#1774](https://github.com/sveltejs/svelte/issues/1774)) * Better attribute parsing ([#1772](https://github.com/sveltejs/svelte/issues/1772)) * Fix parse errors inside directives ([#1788](https://github.com/sveltejs/svelte/issues/1788)) ## 2.14.0 * Refactor internals ([#1678](https://github.com/sveltejs/svelte/issues/1678)) * Deprecate `onerror` option ([#1745](https://github.com/sveltejs/svelte/issues/1745)) * Handle edge cases where `destroy` is called before `mount` ([#1653](https://github.com/sveltejs/svelte/pull/1653)) * Make `scroll` binding more efficient ([#1579](https://github.com/sveltejs/svelte/pull/1770)) * Make 'readonly property' store error more informative ([#1761](https://github.com/sveltejs/svelte/pull/1761)) ## 2.13.5 * Fix missing dependencies in shorthand class directives ([#1739](https://github.com/sveltejs/svelte/issues/1739)) ## 2.13.4 * Support dynamic `import()` in template expressions ## 2.13.3 * Fix bug with keyed each blocks and nested components ([#1706](https://github.com/sveltejs/svelte/issues/1706)) ## 2.13.2 * Coalesce simultaneous store/component updates ([#1520](https://github.com/sveltejs/svelte/issues/1520)) * Fix nested transitions preventing each block item removal ([#1617](https://github.com/sveltejs/svelte/issues/1617)) * Add `class` directive shorthand and encapsulate styles ([#1695](https://github.com/sveltejs/svelte/pull/1695)) * Prevent erroneous updates of bound inputs ([#1699](https://github.com/sveltejs/svelte/issues/1699)) ## 2.13.1 * Coerce second argument to `toggleClass` ([#1685](https://github.com/sveltejs/svelte/issues/1685)) ## 2.13.0 * Add `class` directive ([#890](https://github.com/sveltejs/svelte/issues/890)) * Remove sourcemaps from npm package ([#1690](https://github.com/sveltejs/svelte/pull/1690)) ## 2.12.1 * Allow actions to take any expression ([#1676](https://github.com/sveltejs/svelte/issues/1676)) * Run transitions in component context ([#1675](https://github.com/sveltejs/svelte/issues/1675)) * Correctly set select value on mount ([#1666](https://github.com/sveltejs/svelte/issues/1666)) * Support `{@debug}` in SSR ([#1659](https://github.com/sveltejs/svelte/issues/1659)) * Don't treat `&nbsp;` as empty whitespace ([#1658](https://github.com/sveltejs/svelte/issues/1658)) * Fix outros for if blocks with no else ([#1688](https://github.com/sveltejs/svelte/pull/1688)) * Set `style.cssText` in spread attributes ([#1684](https://github.com/sveltejs/svelte/pull/1684)) ## 2.12.0 * Initialise actions on mount rather than hydrate ([#1653](https://github.com/sveltejs/svelte/pull/1653)) * Allow non-existent components to be destroyed ([#1677](https://github.com/sveltejs/svelte/pull/1677)) * Pass AMD ID from CLI correctly ([#1672](https://github.com/sveltejs/svelte/pull/1672)) * Minor AST tweaks ([#1673](https://github.com/sveltejs/svelte/pull/1673), [#1674](https://github.com/sveltejs/svelte/pull/1674)) * Reduce code duplication in component initialisation ([#1670](https://github.com/sveltejs/svelte/pull/1670)) ## 2.11.0 * Add `--shared` CLI option ([#1649](https://github.com/sveltejs/svelte/pull/1649)) * Run first `onstate` *before* fragment is rendered ([#1522](https://github.com/sveltejs/svelte/issues/1522)) * Exclude current computed prop from state object ([#1544](https://github.com/sveltejs/svelte/issues/1544)) ## 2.10.1 * Add sourcemaps to `{@debug}` tags ([#1647](https://github.com/sveltejs/svelte/pull/1647)) ## 2.10.0 * Add a `{@debug}` tag, for inspecting values in templates in dev mode ([#1635](https://github.com/sveltejs/svelte/issues/1635)) * Fix dimension bindings in iOS ([#1642](https://github.com/sveltejs/svelte/pull/1642)) ## 2.9.11 * Pass props to custom elements rather than setting attributes, where appropriate ([#875](https://github.com/sveltejs/svelte/issues/875)) * Handle whitespace in lists consistently between SSR and DOM renderers ([#1637](https://github.com/sveltejs/svelte/pull/1637)) * Improve error for invalid `ref` names ([#1613](https://github.com/sveltejs/svelte/issues/1613)) ## 2.9.10 * Handle `null` consistently in tags ([#1598](https://github.com/sveltejs/svelte/issues/1598)) * Support object rest in computed properties ([#1540](https://github.com/sveltejs/svelte/issues/1540)) * Always update dynamic components when expression changes ([#1621](https://github.com/sveltejs/svelte/issues/1621)) * Encapsulate local styles inside global styles ([#1618](https://github.com/sveltejs/svelte/issues/1618)) ## 2.9.9 * Fix attribute name regex ([#1623](https://github.com/sveltejs/svelte/pull/1623)) ## 2.9.8 * Sanitize spread attributes in SSR — fixes vulnerability CVE-2018-6341 ([#1623](https://github.com/sveltejs/svelte/pull/1623)) ## 2.9.7 * Allow `<input type=file bind:files>` ([#1608](https://github.com/sveltejs/svelte/issues/1608)) * Ensure child window exists before removing listener in `addResizeHandler` ([#1600](https://github.com/sveltejs/svelte/issues/1600)) * Handle transitions in `else` block ([#1589](https://github.com/sveltejs/svelte/issues/1589)) ## 2.9.6 * Provide more useful error if SSR component attempts to render non-SSR component ([#1605](https://github.com/sveltejs/svelte/issues/1605)) ## 2.9.5 * Null out refs to dynamic components ([#1596](https://github.com/sveltejs/svelte/issues/1596)) ## 2.9.4 * Make identifier optional for `then` and `catch` blocks ([#1507](https://github.com/sveltejs/svelte/issues/1507)) * Group outros correctly ([#1575](https://github.com/sveltejs/svelte/issues/1575)) ## 2.9.3 * Fix bug when an each block contains transitions but its else branch does not ([#1559](https://github.com/sveltejs/svelte/issues/1559)) * If an event handler throws an exception, don't block all future calls to that handler ([#1573](https://github.com/sveltejs/svelte/issues/1573)) ## 2.9.2 * Fix conflict when using multiple if-else blocks, some of which use outros and some of which do not ([#1580](https://github.com/sveltejs/svelte/issues/1580)) * Fix some cases where `.innerHTML` was being used to create child elements when it shouldn't ([#1581](https://github.com/sveltejs/svelte/issues/1581)) ## 2.9.1 * Use `template.content` instead of `template` where appropriate ([#1571](https://github.com/sveltejs/svelte/issues/1571)) ## 2.9.0 * Play outro transitions on `<svelte:component>` if `nestedTransitions` is true ([#1568](https://github.com/sveltejs/svelte/issues/1568)) * Allow illegal identifiers to be component prop names, for e.g. spreading `data-foo` props ([#887](https://github.com/sveltejs/svelte/issues/887)) * Abort transition when node is detached ([#1561](https://github.com/sveltejs/svelte/issues/1561)) * Only include `transitionManager` when necessary ([#1514](https://github.com/sveltejs/svelte/issues/1514)) ## 2.8.1 * Fix prefixed animation name replacement ([#1556](https://github.com/sveltejs/svelte/pull/1556)) ## 2.8.0 * Correctly set store on nested components (to parent store, not root store) ([#1538](https://github.com/sveltejs/svelte/issues/1538)) ## 2.7.2 * Prevent unnecessary remounts ([#1527](https://github.com/sveltejs/svelte/issues/1527)) * Allow `refs.*` as callee ([#1526](https://github.com/sveltejs/svelte/pull/1526)) * Handle empty lists when outroing ([#1532](https://github.com/sveltejs/svelte/issues/1532)) ## 2.7.1 * Fix spread props with multiple dependencies ([#1515](https://github.com/sveltejs/svelte/issues/1515)) ## 2.7.0 * Add `__svelte_meta` object to elements in dev mode, containing source info ([#1499](https://github.com/sveltejs/svelte/issues/1499)) * Fix `bind:online` in dev mode ([#1502](https://github.com/sveltejs/svelte/issues/1502)) * Update v1 warnings/errors ([#1508](https://github.com/sveltejs/svelte/pull/1508)) * Transform prefixed keyframes ([#1504](https://github.com/sveltejs/svelte/issues/1504)) ## 2.6.6 * Fix nested transition bug ([#1497](https://github.com/sveltejs/svelte/issues/1497)) ## 2.6.5 * Handle cases where only some `if` block branches have outros ([#1492](https://github.com/sveltejs/svelte/issues/1492)) ## 2.6.4 * Web worker support ([#1487](https://github.com/sveltejs/svelte/issues/1487)) * Update dynamic component bindings when component changes ([#1489](https://github.com/sveltejs/svelte/issues/1489)) ## 2.6.3 * Nested transitions respect `skipIntroByDefault` ([#1460](https://github.com/sveltejs/svelte/issues/1460)) * Always create outro for top-level block ([#1470](https://github.com/sveltejs/svelte/issues/1470)) ## 2.6.2 * Fix spread+bindings on dynamic components ([#1433](https://github.com/sveltejs/svelte/issues/1433)) * Abort in-progress animations, if a new one starts ([#1458](https://github.com/sveltejs/svelte/issues/1458)) * Allow animations to be parameterised ([#1462](https://github.com/sveltejs/svelte/issues/1462)) ## 2.6.1 * Absolutely position outroing animated nodes ([#1457](https://github.com/sveltejs/svelte/pull/1457)) ## 2.6.0 * Add `animate` directive ([#1454](https://github.com/sveltejs/svelte/pull/1454)) * Add `skipIntroByDefault` compiler option and `intro: true` init option ([#1448](https://github.com/sveltejs/svelte/pull/1448)) * Add `nestedTransitions` compiler option ([#1451](https://github.com/sveltejs/svelte/pull/1451)) * Component outros, if `nestedTransitions` is true ([#1211](https://github.com/sveltejs/svelte/issues/1211)) * Allow transition functions to return a function, for inter-transition coordination ([#1453](https://github.com/sveltejs/svelte/pull/1453)) * Pass `1 - t` as second argument to transition functions ([#1452](https://github.com/sveltejs/svelte/pull/1452)) ## 2.5.1 * Add new ARIA attributes ([#1436](https://github.com/sveltejs/svelte/pull/1436)) * Add `Promise` to whitelisted globals ([#1441](https://github.com/sveltejs/svelte/issues/1441)) * Allow spaces around reserved keyword attributes ([#1445](https://github.com/sveltejs/svelte/issues/1445)) ## 2.5.0 * Support transitions in `await` blocks ([#956](https://github.com/sveltejs/svelte/issues/956)) * Abort outros if block is recreated ([#1425](https://github.com/sveltejs/svelte/issues/1425)) * Wait until transitions have completed before removing styles ([#648](https://github.com/sveltejs/svelte/issues/648)) * Support event shorthand on dynamic components ([#1427](https://github.com/sveltejs/svelte/pull/1427)) * Various codegen improvements ([#1419](https://github.com/sveltejs/svelte/pull/1419), [#1421](https://github.com/sveltejs/svelte/pull/1421), [#1422](https://github.com/sveltejs/svelte/pull/1422), [#1424](https://github.com/sveltejs/svelte/pull/1424)) * Correctly handle `await` blocks with no dynamic content ([#1417](https://github.com/sveltejs/svelte/issues/1417)) * Allow spread props on elements with static attribute tests ([#1429](https://github.com/sveltejs/svelte/pull/1429)) ## 2.4.4 * Declare missing variable in Store ([#1415](https://github.com/sveltejs/svelte/issues/1415)) * ALways declare spread levels ([#1413](https://github.com/sveltejs/svelte/issues/1413)) ## 2.4.3 * `ref` directives prevent HTMLified content ([#1407](https://github.com/sveltejs/svelte/issues/1407)) * Store computed properties update components immediately upon declaration ([#1327](https://github.com/sveltejs/svelte/issues/1327)) ## 2.4.2 * Evaluate `each` key in child scope ([#1397](https://github.com/sveltejs/svelte/issues/1397)) * Prevent false negatives and positives when detecting cyclical computed store properties ([#1399](https://github.com/sveltejs/svelte/issues/1399)) * Only update dynamic component props ([#1394](https://github.com/sveltejs/svelte/issues/1394)) ## 2.4.1 * Fix DOM event context ([#1390](https://github.com/sveltejs/svelte/issues/1390)) ## 2.4.0 * Integrate CLI ([#1360](https://github.com/sveltejs/svelte/issues/1360)) * Allow arbitrary destructuring for each block items, with binding ([#1385](https://github.com/sveltejs/svelte/pull/1385)) * Each block keys can use arbitrary expressions ([#703](https://github.com/sveltejs/svelte/issues/703)) * `bind:offsetWidth`, `bind:offsetHeight`, `bind:clientWidth` and `bind:clientHeight` ([#984](https://github.com/sveltejs/svelte/issues/984)) * Leaner generated code for `each` blocks ([#1287](https://github.com/sveltejs/svelte/issues/1287)) ## 2.3.0 * Allow computed properties to have entire state object as dependency ([#1303](https://github.com/sveltejs/svelte/issues/1303)) * Fix `stats` when `options.generate` is `false` ([#1368](https://github.com/sveltejs/svelte/issues/1368)) * Assign custom methods to custom elements ([#1369](https://github.com/sveltejs/svelte/issues/1369)) * Fix `this` value in custom event handlers ([#1297](https://github.com/sveltejs/svelte/issues/1297)) * Re-evaluate `each` values lazily ([#1286](https://github.com/sveltejs/svelte/issues/1286)) * Preserve outer context in `await` blocks ([#1251](https://github.com/sveltejs/svelte/issues/1251)) ## 2.2.0 * Internal refactoring ([#1367](https://github.com/sveltejs/svelte/pull/1367)) ## 2.1.1 * Report initial `changed` based on state, not expected props ([#1356](https://github.com/sveltejs/svelte/issues/1356)) * Set state to empty object, not null, on destroy ([#1354](https://github.com/sveltejs/svelte/issues/1354)) * Prevent stale state in component event handlers ([#1353](https://github.com/sveltejs/svelte/issues/1353)) ## 2.1.0 * Allow shorthand imports ([#1038](https://github.com/sveltejs/svelte/issues/1038)) * Update spread props inside each blocks ([#1337](https://github.com/sveltejs/svelte/issues/1337)) ## 2.0.0 *See [the blog post](https://svelte.dev/blog/version-2) for information on how to upgrade your apps* * New template syntax ([#1318](https://github.com/sveltejs/svelte/issues/1318)) * Emit ES2015 code, not ES5 ([#1348](https://github.com/sveltejs/svelte/pull/1348)) * Add `onstate` and `onupdate` hooks, remove `component.observe` method ([#1197](https://github.com/sveltejs/svelte/issues/1197)) * Use destructuring syntax for computed properties ([#1069](https://github.com/sveltejs/svelte/issues/1069) * Change signature of `svelte.compile` ([#1298](https://github.com/sveltejs/svelte/pull/1298)) * Remove `validate` and `Stylesheet` from public API ([#1348](https://github.com/sveltejs/svelte/pull/1348)) * Don't typecast numeric attributes ([#657](https://github.com/sveltejs/svelte/issues/657)) * Always compile with `Store` support, and cascading disabled ([#1348](https://github.com/sveltejs/svelte/pull/1348)) * Remove unused `hash` property from AST ([#1348](https://github.com/sveltejs/svelte/pull/1348)) * Rename `loc` property to `start` in warnings and errors ([#1348](https://github.com/sveltejs/svelte/pull/1348)) ## 1.64.1 * Fix computed properties in SSR renderer ([#1349](https://github.com/sveltejs/svelte/issues/1349)) ## 1.64.0 * Deprecate passing a string argument to `component.get` ([#1347](https://github.com/sveltejs/svelte/pull/1347)) ## 1.63.1 * Allow `observe` method to be overwritten ## 1.63.0 * Add `onstate` and `onupdate` lifecycle hooks and deprecate `component.observe` ([#1197](https://github.com/sveltejs/svelte/issues/1197)) * Add `on` and `fire` to `Store`, deprecate `onchange` and `observe` ([#1344](https://github.com/sveltejs/svelte/pull/1344)) * Require computed properties to have destructured argument in v2 mode ([#1069](https://github.com/sveltejs/svelte/issues/1069)) ## 1.62.0 * Add a `code` field to errors and warnings ([#474](https://github.com/sveltejs/svelte/issues/474)) * When using v2 syntax, do not use interpolation in non-root `<style>` tags ([#1339](https://github.com/sveltejs/svelte/issues/1339)) ## 1.61.0 * Support v2 syntax with `parser: 'v2'` option ([#1318](https://github.com/sveltejs/svelte/issues/1318)) ## 1.60.3 * Fix validation of `multiple` attributes on bound `<select>` elements ([#1331](https://github.com/sveltejs/svelte/issues/1331)) ## 1.60.2 * Fix order of insertions for keyed each blocks with siblings ([#1306](https://github.com/sveltejs/svelte/issues/1306)) * Bail out of CSS DCE if element has spread attribute ([#1300](https://github.com/sveltejs/svelte/issues/1300)) * Allow `console` etc in component events ([#1278](https://github.com/sveltejs/svelte/issues/1278)) * Deconflict against inherited contexts ([#1275](https://github.com/sveltejs/svelte/issues/1275)) * Make CSS DCE case insensitive ([#1269](https://github.com/sveltejs/svelte/issues/1269)) * Error on dynamic `multiple` attribute for bound select ([#1270](https://github.com/sveltejs/svelte/issues/1270)) * Allow custom events on `<:Window>` ([#1268](https://github.com/sveltejs/svelte/issues/1268)) ## 1.60.1 * Fix spread updates on dynamic components ([#1307](https://github.com/sveltejs/svelte/issues/1307)) ## 1.60.0 * Spread properties ([#195](https://github.com/sveltejs/svelte/issues/195)) * `svelte.compile` returns an object with `{ js, css, ast }` properties, where `js` and `css` are `{ code, map }` objects ([#1298](https://github.com/sveltejs/svelte/pull/1298)) * Fixed broken compile errors when using Rollup ([#1296](https://github.com/sveltejs/svelte/pull/1296)) ## 1.59.0 * Deprecate `teardown` in custom event handlers ([#531](https://github.com/sveltejs/svelte/issues/531)) * Allow static content in keyed `each` block ([#1291](https://github.com/sveltejs/svelte/issues/1291)) * Allow empty content in keyed `each` block ([#1295](https://github.com/sveltejs/svelte/issues/1295)) * Only delete applicable transitions ([#1290](https://github.com/sveltejs/svelte/issues/1290)) ## 1.58.5 * Allow backtick string literals for `svg`, `tag`, and `props` properties ([#1284](https://github.com/sveltejs/svelte/issues/1284)) * Fix removal of transition styles under Firefox ([#1288](https://github.com/sveltejs/svelte/pull/1288)) ## 1.58.4 * Fix initial state regression ([#1283](https://github.com/sveltejs/svelte/pull/1283)) ## 1.58.3 * Actions run in the context of the component ([#1279](https://github.com/sveltejs/svelte/pull/1279)) * Set refs when mounting dynamic components ([#1280](https://github.com/sveltejs/svelte/pull/1280)) ## 1.58.2 * (1.58.1 failed to publish) ## 1.58.1 * Actions ([#1247](https://github.com/sveltejs/svelte/pull/1247)) * Support `preserveComments` option in SSR mode ([#1265](https://github.com/sveltejs/svelte/issues/1265)) * Fix performance regression ([#1274](https://github.com/sveltejs/svelte/pull/1274)) ## 1.58.0 * Fast row swapping ([#588](https://github.com/sveltejs/svelte/issues/588)) * Better error messages for invalid directives ([#1242](https://github.com/sveltejs/svelte/pull/1242)) * Fix local context variable bugs ([#1240](https://github.com/sveltejs/svelte/pull/1243), [#1254](https://github.com/sveltejs/svelte/pull/1254)) * Skip missing property warnings for computed/global properties in dev mode ([#1246](https://github.com/sveltejs/svelte/pull/1246)) * Add end position to warnings ([#1250](https://github.com/sveltejs/svelte/pull/1250)) ## 1.57.4 * Deconflict context names ([#1229](https://github.com/sveltejs/svelte/issues/1229)) * Use `setAttribute` to set input types ([#1209](https://github.com/sveltejs/svelte/issues/1209)) * Scale transition duration correctly ([#1221](https://github.com/sveltejs/svelte/issues/1221)) ## 1.57.3 * Fix scoped CSS on static child elements ([#1223](https://github.com/sveltejs/svelte/issues/1223)) ## 1.57.2 * Fix scoped CSS on SVG elements ([#1224](https://github.com/sveltejs/svelte/issues/1224)) ## 1.57.1 * Add each_value to contextProps ([#1206](https://github.com/sveltejs/svelte/issues/1206)) ## 1.57.0 * Use classes (not attributes) for style encapsulation, and base36-encode hashes ([#1118](https://github.com/sveltejs/svelte/issues/1118)) ## 1.56.4 * Allow `component` and `state` to be context names ([#1213](https://github.com/sveltejs/svelte/issues/1213)) * Don't remove `@supports` rules when `cascade: false` ([#1215](https://github.com/sveltejs/svelte/issues/1215)) ## 1.56.3 * Top-level transitions work inside nested components ([#1188](https://github.com/sveltejs/svelte/issues/1188)) * Always use internal `_mount` method ([#1201](https://github.com/sveltejs/svelte/issues/1201)) ## 1.56.2 * Null out `key` for children of keyed each blocks ([#1202](https://github.com/sveltejs/svelte/issues/1202)) ## 1.56.1 * Fix if-in-each bug ([#1195](https://github.com/sveltejs/svelte/issues/1195)) * Cross-browser `scrollX`/`scrollY` support ([#1175](https://github.com/sveltejs/svelte/issues/1175)) ## 1.56.0 * Internal refactor ([#1122](https://github.com/sveltejs/svelte/issues/1122)) * Use correct context for component events ([#1184](https://github.com/sveltejs/svelte/issues/1184)) * Allow observing `$foo` in dev mode ([#1181](https://github.com/sveltejs/svelte/issues/1181)) * Handle dynamic data in default slot ([#1144](https://github.com/sveltejs/svelte/issues/1144)) ## 1.55.1 * Fix cancellation of store `onchange` handlers ([#1177](https://github.com/sveltejs/svelte/issues/1177)) * Write `["default"]` instead of `.default` in legacy mode ([#1166](https://github.com/sveltejs/svelte/issues/1166)) * Upgrade Acorn ([#1182](https://github.com/sveltejs/svelte/pull/1182)) * Don't warn about capitalisation if `options.name` begins with non-alphabetical character ([#1179](https://github.com/sveltejs/svelte/pull/1179)) ## 1.55.0 * Add `immutable` compiler option for Svelte and runtime option for `Store` ([#1146](https://github.com/sveltejs/svelte/issues/1146)) * Fix component store bindings ([#1100](https://github.com/sveltejs/svelte/issues/1100)) * Fire `oncreate` when custom element is attached ([#1117](https://github.com/sveltejs/svelte/issues/1117)) * Downgrade empty blocks to a warning ([#1156](https://github.com/sveltejs/svelte/pull/1156)) * Error on unclosed comment ([#1156](https://github.com/sveltejs/svelte/pull/1156)) ## 1.54.2 * Prevent `await` blocks using stale state ([#1131](https://github.com/sveltejs/svelte/issues/1131)) * Prevent erroneous missing data warnings for custom elements ([#1065](https://github.com/sveltejs/svelte/issues/1065)) * Remove empty selectors in prod mode ([#1138](https://github.com/sveltejs/svelte/issues/1138)) * Escape attribute values in SSR mode ([#1155](https://github.com/sveltejs/svelte/pull/1155)) * Remove `<noscript>` elements in DOM mode ([#1108](https://github.com/sveltejs/svelte/issues/1108)) * Allow hydration of non-root `<script>`/`<style>` tags ([#1163](https://github.com/sveltejs/svelte/pull/1163)) * Allow interpolation in non-root `<style>` tags ([#1163](https://github.com/sveltejs/svelte/pull/1163)) ## 1.54.1 * Hoist destructured references ([#1139](https://github.com/sveltejs/svelte/issues/1139)) * Add `bind:volume` for media elements ([#1143](https://github.com/sveltejs/svelte/issues/1143)) ## 1.54.0 * Run `oncreate` hooks depth-first, top-to-bottom ([#1135](https://github.com/sveltejs/svelte/issues/1135)) * Render boolean attributes correctly in SSR mode ([#1109](https://github.com/sveltejs/svelte/issues/1109)) * Add `feed` aria role to expected roles when doing a11y checks ([#1124](https://github.com/sveltejs/svelte/pull/1124)) * More complete fix for case sensitive attributes ([#1062](https://github.com/sveltejs/svelte/issues/1062)) * Handle CLRF line endings in await block comments ([#1132](https://github.com/sveltejs/svelte/issues/1132)) ## 1.53.0 * Base scoping selectors on `<style>` contents alone ([#1091](https://github.com/sveltejs/svelte/issues/1091)) ## 1.52.0 * Deconflict referenced globals ([#1079](https://github.com/sveltejs/svelte/issues/1079)) * Validate contents of `await` blocks ([#1061](https://github.com/sveltejs/svelte/issues/1061)) * Fire `oncreate` for components in `await` blocks ([#1061](https://github.com/sveltejs/svelte/issues/1061)) * Automatically fix attribute casing ([#1062](https://github.com/sveltejs/svelte/issues/1062)) * Fix escaping in `<script>` and `<style>` ([#1082](https://github.com/sveltejs/svelte/issues/1082)) * Error if invalid characters are used in computed properties, and allow any valid identifier in props ([#1083](https://github.com/sveltejs/svelte/issues/1083)) * Don't run a11y tests on components ([#1110](https://github.com/sveltejs/svelte/issues/1110)) * Respect `store` option in SSR mode ([#1107](https://github.com/sveltejs/svelte/issues/1107)) ## 1.51.1 * Only escape <, > and & characters ([#1082](https://github.com/sveltejs/svelte/issues/1082)) ## 1.51.0 * Lock `scroll` bindings ([#1071](https://github.com/sveltejs/svelte/issues/1071)) * Escape HTML entities when compiling to static HTML ([#1066](https://github.com/sveltejs/svelte/issues/1066)) * Apply a11y warnings to SVG `<a>` attributes with `xlink:href` ([#1008](https://github.com/sveltejs/svelte/issues/1008)) ## 1.50.1 * Prevent main fragment being created twice in custom elements ([#1064](https://github.com/sveltejs/svelte/pull/1064)) ## 1.50.0 * Detect unused/misplaced components ([#1039](https://github.com/sveltejs/svelte/issues/1039)) * Warn on unused event definitions/transitions ([#1051](https://github.com/sveltejs/svelte/issues/1051)) * Remove whitespace inside `<:Head>` ([#1026](https://github.com/sveltejs/svelte/issues/1026)) * Optimise `<title>` ([#1027](https://github.com/sveltejs/svelte/issues/1027)) * Add `bind: false` option to disable two-way binding ([#54](https://github.com/sveltejs/svelte/issues/54)) ## 1.49.3 * Return `html` from SSR compiler `render().toString()` methods ([#1044](https://github.com/sveltejs/svelte/issues/1044)) * Correctly reinitialise dynamic components ([#1040](https://github.com/sveltejs/svelte/issues/1040)) * Allow `<option>` outside `<select>` ([#1022](https://github.com/sveltejs/svelte/issues/1022)) * Fix data references in await-block event handlers ([#1032](https://github.com/sveltejs/svelte/issues/1032)) ## 1.49.2 * Add `store.umd.js` ([#967](https://github.com/sveltejs/svelte/issues/967)) * Warn on use of `this` inside computed properties ([#1033](https://github.com/sveltejs/svelte/pull/1033)) ## 1.49.1 * Pass `store` to children in SSR mode ([#1029](https://github.com/sveltejs/svelte/pull/1029)) ## 1.49.0 * Support `store` as a component property ([#1028](https://github.com/sveltejs/svelte/pull/1028)) ## 1.48.0 * Added `<:Head>` component for injecting contents into document head ([#1013](https://github.com/sveltejs/svelte/issues/1013))) * SSR `render(...)` method now returns a `{ html, css: { code, map }, head }` object ([#1013](https://github.com/sveltejs/svelte/issues/1013)) * SSR `renderCss(...)` method is deprecated ([#1013](https://github.com/sveltejs/svelte/issues/1013)) * Add a `preload` function to components ([#1015](https://github.com/sveltejs/svelte/issues/1015)) * Expose `this.root` on nested components ([#1023](https://github.com/sveltejs/svelte/pull/1023)) ## 1.47.2 * Deconflict computed properties against arguments to `_recompute` ([#1012](https://github.com/sveltejs/svelte/issues/1012)) * Allow `await` blocks in slots ([#1018](https://github.com/sveltejs/svelte/issues/1018)) * Allow components without slots to have whitespace as only child ([#1007](https://github.com/sveltejs/svelte/issues/1007)) * Correctly set `toString` on `CompileError` ([#1016](https://github.com/sveltejs/svelte/pull/1016)) ## 1.47.1 * Sanitize filenames in SSR mode ([#1005](https://github.com/sveltejs/svelte/issues/1005)) ## 1.47.0 * Support dynamic `import(...)` inside `<script>` tags ([#1003](https://github.com/sveltejs/svelte/issues/1003)) ## 1.46.1 * `await...then` shorthand ([#957](https://github.com/sveltejs/svelte/issues/957)) * Allow dynamic components inside elements ([#993](https://github.com/sveltejs/svelte/issues/993)) * Don't use `dataset` on SVG nodes ([#982](https://github.com/sveltejs/svelte/issues/982)) * Fix erroneous `<figcaption>` a11y warning ([#991](https://github.com/sveltejs/svelte/issues/991)) * Handle empty classes when pruning unused selectors ([#978](https://github.com/sveltejs/svelte/issues/978)) * Better trimming of SSR'd output ([#976](https://github.com/sveltejs/svelte/issues/976)) * Don't add `event` to `expectedProperties` ([#972](https://github.com/sveltejs/svelte/issues/972)) * Emit error on bad `set` arguments in dev mode ([#990](https://github.com/sveltejs/svelte/issues/990)) ## 1.46.0 * Pass `filename` through to preprocessors ([#983](https://github.com/sveltejs/svelte/issues/983)) ## 1.45.0 * Dynamic components ([#971](https://github.com/sveltejs/svelte/pull/971)) ## 1.44.2 * Fix `await` blocks with siblings ([#974](https://github.com/sveltejs/svelte/issues/974)) * Fix `await` blocks inside `if` blocks ([#975](https://github.com/sveltejs/svelte/issues/975)) ## 1.44.1 * Fix bidirectional transitions that reference state ([#962](https://github.com/sveltejs/svelte/issues/962)) ## 1.44.0 * Add `svelte.preprocess` ([#181](https://github.com/sveltejs/svelte/issues/181), [#876](https://github.com/sveltejs/svelte/issues/876)) * Add `{{#await ...}}` blocks ([#654](https://github.com/sveltejs/svelte/issues/654)) ## 1.43.1 * Fix parameterised transitions ([#962](https://github.com/sveltejs/svelte/issues/962)) * Prevent boolean attributes breaking estree-walker expectations ([#961](https://github.com/sveltejs/svelte/issues/961)) * Throw error on cyclical store computations ([#964](https://github.com/sveltejs/svelte/pull/964)) ## 1.43.0 * Export `Store` class to manage global state ([#930](https://github.com/sveltejs/svelte/issues/930)) * Recognise `aria-current` ([#953](https://github.com/sveltejs/svelte/pull/953)) * Support SSR register options including `extensions` ([#939](https://github.com/sveltejs/svelte/issues/939)) * Friendlier error for illegal contexts ([#934](https://github.com/sveltejs/svelte/issues/934)) * Remove whitespace around `<:Window>` components ([#943](https://github.com/sveltejs/svelte/issues/943)) ## 1.42.1 * Correctly append items inside a slotted `each` block ([#932](https://github.com/sveltejs/svelte/pull/932)) * Fix `<:Window bind:online/>` ([#936](https://github.com/sveltejs/svelte/issues/936)) * Attach globals to state upon initialisation ([#908](https://github.com/sveltejs/svelte/issues/908)) ## 1.42.0 * Implement `indeterminate` binding for checkbox inputs ([#910](https://github.com/sveltejs/svelte/issues/910)) * Use `<option>` children as `value` attribute if none exists ([#928](https://github.com/sveltejs/svelte/issues/928)) * Allow quoted property names in default export and sub-properties ([#914](https://github.com/sveltejs/svelte/issues/914)) * Various improvements to generated code for bindings ## 1.41.4 * Handle self-destructive bindings ([#917](https://github.com/sveltejs/svelte/issues/917)) * Prevent `innerHTML` with `<option>` elements ([#915](https://github.com/sveltejs/svelte/issues/915)) * Use `dataset` unless `legacy` is true ([#858](https://github.com/sveltejs/svelte/issues/858)) * Add `prepare` script to facilitate installing from git ([#923](https://github.com/sveltejs/svelte/pull/923)) ## 1.41.3 * Prevent argument name clashes ([#911](https://github.com/sveltejs/svelte/issues/911)) * Fix UMD factory arguments ([#918](https://github.com/sveltejs/svelte/pull/918)) * Don't attempt to set computed values ([#893](https://github.com/sveltejs/svelte/issues/893)) * Fix TypeScript build error ([#919](https://github.com/sveltejs/svelte/issues/919)) ## 1.41.2 * Handle attribute selectors with no value ([#905](https://github.com/sveltejs/svelte/issues/905)) * Retain `async` keyword when extracting functions ([#904](https://github.com/sveltejs/svelte/issues/904)) * Shallow clone `data` on initialisation ([#891](https://github.com/sveltejs/svelte/pull/891)) ## 1.41.1 * Fix updates of destructured each blocks ([#897](https://github.com/sveltejs/svelte/pull/897)) * Don't warn on `options.*` event handler callee ([#900](https://github.com/sveltejs/svelte/pull/900)) ## 1.41.0 * `onwarn` and `onerror` receive default handlers as second arguments ([#883](https://github.com/sveltejs/svelte/pull/883)) * Recognise `muted` as boolean property on `<audio>` elements ([#886](https://github.com/sveltejs/svelte/pull/886)) * Array destructuring for `each` block contexts ([#889](https://github.com/sveltejs/svelte/pull/889)) ## 1.40.2 * Ignore `@apply` and similar in CSS ([#871](https://github.com/sveltejs/svelte/issues/871)) * Properly escape CSS in custom elements ([#872](https://github.com/sveltejs/svelte/issues/872)) ## 1.40.1 * Always use explicit closing tags with `innerHTML` ([#866](https://github.com/sveltejs/svelte/issues/866)) * Escape text in `textContent` and `innerHTML` expressions ([#868](https://github.com/sveltejs/svelte/issues/868)) ## 1.40.0 * Short fragment method names ([#863](https://github.com/sveltejs/svelte/pull/863)) * Extract declarations out of default export ([#756](https://github.com/sveltejs/svelte/issues/756)) ## 1.39.4 * Extract shared init logic ([#855](https://github.com/sveltejs/svelte/pull/855)) * Allow `console.*` calls in event handlers ([#782](https://github.com/sveltejs/svelte/issues/782)) * Marker comments in output ([#823](https://github.com/sveltejs/svelte/issues/823)) * Use `textContent` and `innerHTML` where appropriate ([#23](https://github.com/sveltejs/svelte/issues/23)) * Various improvements to generated code ## 1.39.3 * Allow `slot='...'` inside custom elements ([#827](https://github.com/sveltejs/svelte/issues/827)) * Disallow `slot='...'` inside if/each blocks ([#849](https://github.com/sveltejs/svelte/issues/849)) * Use correct parent node for slotted if blocks ([#850](https://github.com/sveltejs/svelte/issues/850)) ## 1.39.2 * Escape CSS in shadow DOM ([#840](https://github.com/sveltejs/svelte/issues/840)) * Fix missing anchor bug inside SVG elements ([#843](https://github.com/sveltejs/svelte/issues/843)) ## 1.39.1 * Always use anchors for slotted content ([#822](https://github.com/sveltejs/svelte/issues/822)) * Prevent ES6 in helpers ([#838](https://github.com/sveltejs/svelte/issues/838)) * Correctly determine whether to use `timeRangesToArray` ([#837](https://github.com/sveltejs/svelte/pull/837)) ## 1.39.0 * Always attach fragment to shadow root ([#821](https://github.com/sveltejs/svelte/issues/821)) * Add `buffered`, `seekable`, `played` bindings to media elements ([#819](https://github.com/sveltejs/svelte/pull/819)) * Quote `class` properties in legacy mode ([#830](https://github.com/sveltejs/svelte/issues/830)) * Warn on missing `lang` attribute on `<html>` ([#828](https://github.com/sveltejs/svelte/pull/828)) ## 1.38.0 * Compile-time a11y warnings ([#815](https://github.com/sveltejs/svelte/pull/815)) * Remove redundant input blowback guards ([#645](https://github.com/sveltejs/svelte/issues/645)) * Use component name in debugging messages ([#781](https://github.com/sveltejs/svelte/issues/781)) ## 1.37.0 * Experimental support for compiling to custom elements ([#797](https://github.com/sveltejs/svelte/issues/797)) ## 1.36.0 * Optimize `style` attributes where possible ([#455](https://github.com/sveltejs/svelte/issues/455)) ## 1.35.0 * `set` and `get` continue to work until `destroy` is complete ([#788](https://github.com/sveltejs/svelte/issues/788)) * Observers of unchanged bound values don't fire incorrectly ([#804](https://github.com/sveltejs/svelte/issues/804)) * Nested components with slotted content render correctly in SSR mode ([#801](https://github.com/sveltejs/svelte/issues/801)) * More efficient rendering of raw and slotted content ([#637](https://github.com/sveltejs/svelte/issues/637)) * Handle unquoted attributes in attribute selectors ([#798](https://github.com/sveltejs/svelte/issues/798)) ## 1.34.0 * Support nested `<slot>` elements ([#790](https://github.com/sveltejs/svelte/issues/790)) * Attach `options` to instance ([#550](https://github.com/sveltejs/svelte/issues/550), [#777](https://github.com/sveltejs/svelte/issues/777)) * Error if transitions are applied to component ([#791](https://github.com/sveltejs/svelte/issues/791)) * Handle CSS variables in `<style>` tag ([#757](https://github.com/sveltejs/svelte/issues/757)) ## 1.33.0 * Replace `{{yield}}` with `<slot>` — adds fallback content named slots, and `options.slots` ([#763](https://github.com/sveltejs/svelte/issues/763)) ## 1.32.0 * Allow `anchor` initialisation option, alongside `target` ([#784](https://github.com/sveltejs/svelte/issues/784)) * Remove leading CSS selectors safely ([#783](https://github.com/sveltejs/svelte/issues/783)) ## 1.31.0 * Add `legacy` compile option, which adds IE9 compatibility ([#773](https://github.com/sveltejs/svelte/issues/773)) ## 1.30.0 * Update all component bindings simultaneously ([#760](https://github.com/sveltejs/svelte/issues/760)) * Fix `@keyframes` atrules with `from` and `to` selectors ([#774](https://github.com/sveltejs/svelte/issues/774)) ## 1.29.3 * Only recompute tag and attribute values if they could have changed ([#768](https://github.com/sveltejs/svelte/issues/768)) * Fix CSS scoping with multiple levels of descendant selectors ([#767](https://github.com/sveltejs/svelte/issues/767)) ## 1.29.2 * Preserve space before non-parenthesized media query expression ([#759](https://github.com/sveltejs/svelte/issues/759)) * Call `create()` on new iterations of static each blocks ([#762](https://github.com/sveltejs/svelte/issues/762)) * Use `change` events as well as `input` events to bind range inputs ([#740](https://github.com/sveltejs/svelte/issues/740)