UNPKG

svelte

Version:

The magical disappearing UI framework

956 lines (620 loc) 69.1 kB
# Svelte changelog ## 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.technology/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)) ## 1.29.1 * Replace `set` and `destroy` with `noop` when component is destroyed ([#744](https://github.com/sveltejs/svelte/issues/744)) ## 1.29.0 * Add static `setup` method ([#578](https://github.com/sveltejs/svelte/issues/578)) * Hoist if block selectors ([#751](https://github.com/sveltejs/svelte/pull/751)) * More sigil escaping fixes ([#750](https://github.com/sveltejs/svelte/pull/750)) ## 1.28.1 * Fix unescaping of special words in SSR mode ([#741](https://github.com/sveltejs/svelte/issues/741)) ## 1.28.0 * Support `ref:foo` as a CSS selector ([#693](https://github.com/sveltejs/svelte/issues/693)) * Prevent magic-string bugs by only minifying CSS combinators if `cascade: false` ([#743](https://github.com/sveltejs/svelte/issues/743)) * Don't throw an error if component is destroyed twice ([#643](https://github.com/sveltejs/svelte/issues/643)) ## 1.27.0 * Minify CSS and remove unused styles ([#697](https://github.com/sveltejs/svelte/issues/697)) * Optimize ternary expressions when excluding unused CSS ([#696](https://github.com/sveltejs/svelte/issues/696)) * Clear refs after `ondestroy` callbacks fire ([#706](https://github.com/sveltejs/svelte/issues/706)) * Prevent certain forms of component binding blowback ([#721](https://github.com/sveltejs/svelte/issues/721)) * Use helper to encapsulate styles ([#375](https://github.com/sveltejs/svelte/issues/375)) * Event propagation shorthand — `on:foo` equals `on:foo='fire("foo", event)` ([#638](https://github.com/sveltejs/svelte/issues/638)) * Allow `refs.*` in event handlers, and validate them ([#686](https://github.com/sveltejs/svelte/issues/686)) ## 1.26.2 * Unescape `#` characters ([#722](https://github.com/sveltejs/svelte/issues/722)) ## 1.26.1 * Fix select binding regression ([#724](https://github.com/sveltejs/svelte/issues/724)) ## 1.26.0 * Enforce correct order of operations when initialising ([#708](https://github.com/sveltejs/svelte/issues/708) and [#714](https://github.com/sveltejs/svelte/issues/714)) * Ensure data is up-to-date when re-rendering yield block ([#711](https://github.com/sveltejs/svelte/issues/711)) * Fix unescaping of strings, preserve at-rules in CSS ([#712](https://github.com/sveltejs/svelte/issues/712)) * Preserve whitespace at end of each blocks ([#713](https://github.com/sveltejs/svelte/issues/713)) ## 1.25.1 * Better CSS sourcemaps ([#716](https://github.com/sveltejs/svelte/pull/716)) ## 1.25.0 * Fix hoisted event handlers ([#699](https://github.com/sveltejs/svelte/issues/699)) * Fire `intro.start` and `outro.start` events ([#702](https://github.com/sveltejs/svelte/issues/702)) * Preserve order of components in keyed each blocks ([#700](https://github.com/sveltejs/svelte/issues/700)) * Add `cssMap` property to compiler output ([#698](https://github.com/sveltejs/svelte/pull/698/)) ## 1.24.0 * Deconflict names with imports in SSR compiler ([#655](https://github.com/sveltejs/svelte/issues/655)) * Improved transition performance ([#670](https://github.com/sveltejs/svelte/pull/670)) * Run transitions on initial render ([#651](https://github.com/sveltejs/svelte/issues/651)) * Add dev mode warning if `hydrate` is true but `hydratable` was false ([#664](https://github.com/sveltejs/svelte/issues/664)) * Manipulate sourcemap to make missing loop values obvious ([#683](https://github.com/sveltejs/svelte/pull/683)) * Only add CSS scoping attributes where necessary ([#679](https://github.com/sveltejs/svelte/issues/679)) * Warn on unused CSS selectors ([#678](https://github.com/sveltejs/svelte/issues/678)) * Fix `<select>` binding in loop ([#685](https://github.com/sveltejs/svelte/issues/685)) * Prevent bindings from calling `oncreate` functions prematurely ([#694](https://github.com/sveltejs/svelte/pull/694)) * Simpler codegen ([#673](https://github.com/sveltejs/svelte/pull/673)) ## 1.23.4 * Don't recreate if blocks incorrectly ([#669](https://github.com/sveltejs/svelte/pull/669)) ## 1.23.3 * Pass parameters to `get_block` ([#667](https://github.com/sveltejs/svelte/issues/667)) ## 1.23.2 * Fix if blocks being recreated on update ([#665](https://github.com/sveltejs/svelte/issues/665)) ## 1.23.1 * Fix each-else blocks that are empty on initial render ([#662](https://github.com/sveltejs/svelte/issues/662)) ## 1.23.0 * Hydration ([#649](https://github.com/sveltejs/svelte/pull/649)) * Correctly transform CSS selectors with pseudo-elements ([#658](https://github.com/sveltejs/svelte/issues/658)) ## 1.22.5 * Fix nested component unmounting bug ([#643](https://github.com/sveltejs/svelte/issues/643)) ## 1.22.4 * Include `ast` in `svelte.compile` return value ([#632](https://github.com/sveltejs/svelte/issues/632)) * Set initial value of `<select>` binding, if unspecified ([#639](https://github.com/sveltejs/svelte/issues/639)) * Mark indirect dependencies of `<select>` bindings (i.e. the dependencies of their `<option>` values) ([#639](https://github.com/sveltejs/svelte/issues/639)) ## 1.22.3 * Fix nested component unmounting bug ([#625](https://github.com/sveltejs/svelte/issues/625)) * Allow components to have computed member expression bindings ([#624](https://github.com/sveltejs/svelte/issues/624)) * Handle empty `<style>` tags ([#634](https://github.com/sveltejs/svelte/issues/634)) * Warn on missing component ([#623](https://github.com/sveltejs/svelte/issues/623)) * Allow dynamic `type` attribute for unbound inputs ([#620](https://github.com/sveltejs/svelte/issues/620)) * Rename `addEventListener` and `removeEventListener` directives ([#621](https://github.com/sveltejs/svelte/issues/621)) ## 1.22.2 * Escape template strings correctly in SSR output ([#616](https://github.com/sveltejs/svelte/issues/616)) * Prevent magic-string deprecation warning ([#617](https://github.com/sveltejs/svelte/pull/617)) ## 1.22.1 * Sanitise event handler names ([#612](https://github.com/sveltejs/svelte/issues/612)) ## 1.22.0 * Symmetry between `mount` and `unmount`. This is potentially a breaking change if your components import other components that were precompiled with an earlier version of Svelte ([#592](https://github.com/sveltejs/svelte/issues/592)) * Add `cascade` option, which prevents styles affecting child components if `false`, unless selectors are wrapped in `:global(...)` and keyframe declaration IDs are prefixed with `-global-`. This will become the default behaviour in v2 ([#583](https://github.com/sveltejs/svelte/issues/583)) * Support binding to computed member expressions ([#602](https://github.com/sveltejs/svelte/issues/602)) * Coerce empty string in `number`/`range` inputs to `undefined`, not `0` ([#584](https://github.com/sveltejs/svelte/issues/584)) * Fix insert location of DOM elements in each/if/nested component edge cases ([#610](https://github.com/sveltejs/svelte/issues/610)) ## 1.21.0 * Always use `helpers` if referenced, not just for call expressions ([#575](https://github.com/sveltejs/svelte/issues/575)) * Fix parsing of `<textarea>` children ([#599](https://github.com/sveltejs/svelte/pull/599)) * Treat `<textarea>` value attributes and children as equivalent, and fail validation if both are present ([#599](https://github.com/sveltejs/svelte/pull/599)) * Fix `<textarea>` SSR ([#599](https://github.com/sveltejs/svelte/pull/599)) * Apply CSS transition styles immediately if transition has delay ([#574](https://github.com/sveltejs/svelte/issues/574)) * Ensure `transitionManager` is treeshakeable ([#593](https://github.com/sveltejs/svelte/issues/593)) * Fix for environments where `node.style.animation` is undefined ([#587](https://github.com/sveltejs/svelte/issues/587)) * Fix order of operations when dealing with `<select>` elements ([#590](https://github.com/sveltejs/svelte/issues/590)) * Downgrade 'invalid callee' to a warning ([#579](https://github.com/sveltejs/svelte/issues/579)) * Convert to TypeScript ([#573](https://github.com/sveltejs/svelte/pull/573)) ## 1.20.2 * Fix destruction of compound if-blocks with outros ([#572](https://github.com/sveltejs/svelte/pull/572)) ## 1.20.1 * Fix insertion order of `if` blocks and their anchors ([#569](https://github.com/sveltejs/svelte/issues/569)) ## 1.20.0 * Faster, better updates of keyed each blocks ([#373](https://github.com/sveltejs/svelte/issues/373), [#543](https://github.com/sveltejs/svelte/issues/543)) * Use element IDs to robustly track dynamically injected `<style>` tags ([#554](https://github.com/sveltejs/svelte/issues/554)) * Abort outros before corresponding intros ([#546](https://github.com/sveltejs/svelte/issues/546)) * Generate less code for `if` blocks with `else` blocks ([#540](https://github.com/sveltejs/svelte/issues/540)) * Ensure `{{yield}}` block content is injected into the right place ([#561](https://github.com/sveltejs/svelte/issues/561)) * Simpler, more readable codegen code ([#559](https://github.com/sveltejs/svelte/pull/559)) * Validate transition directives ([#564](https://github.com/sveltejs/svelte/issues/564)) * Apply delays to bidirectional transitions ([#562](https://github.com/sveltejs/svelte/issues/562)) * Handle all valid HTML entities ([#565](https://github.com/sveltejs/svelte/pull/565)) * Fix outros on compound `if` blocks ([#565](https://github.com/sveltejs/svelte/pull/565)) * Validation for `<:Window>` tags ([#565](https://github.com/sveltejs/svelte/pull/565)) * Increased test coverage ([#565](https://github.com/sveltejs/svelte/pull/565)) ## 1.19.1 * Export `generateKeyframes`, so that CSS transitions work ## 1.19.0 * Experimental support for transitions ([#7](https://github.com/sveltejs/svelte/issues/7)) * Use `querySelector(':checked')` instead of `selectedOptions` ([#539](https://github.com/sveltejs/svelte/issues/539)) * Stringify helpers before bundling them, to avoid renaming errors ([#538](https://github.com/sveltejs/svelte/issues/538)) ## 1.18.2 * Parenthesize if-block conditions ([#532](https://github.com/sveltejs/svelte/issues/532)) * Fix parsing of parenthesized expressions ([#534](https://github.com/sveltejs/svelte/issues/534)) * Fix error on `bind:checked` that doesn't belong to a checkbox input ([#529](https://github.com/sveltejs/svelte/pull/529)) ## 1.18.1 * Allow `destroy()` in event handlers ([#523](https://github.com/sveltejs/svelte/issues/523)) * Fix bug with `{{yield}}` blocks following elements ([#524](https://github.com/sveltejs/svelte/issues/524)) ## 1.18.0 * Visit `<select>` attributes after children, to ensure options are in the right state ([#521](https://github.com/sveltejs/svelte/pull/521)) * Use sibling elements as anchors rather than creating comment nodes wherever possible ([#3](https://github.com/sveltejs/svelte/issues/3)) ## 1.17.2 * Replace bad characters when creating variable names based on element names ([#516](https://github.com/sveltejs/svelte/issues/516)) ## 1.17.1 * Fixes for static each-else and yield blocks ([#509](https://github.com/sveltejs/svelte/issues/509)), ([#514](https://github.com/sveltejs/svelte/issues/514)) * Code generation tweaks ([#504](https://github.com/sveltejs/svelte/issues/504)), ([#507](https://github.com/sveltejs/svelte/issues/507)) ## 1.17.0 * Add `currentTime`, `duration` and `paused` bindings for media elements ([#406](https://github.com/sveltejs/svelte/issues/406)) * Don't treat helpers as dependencies ([#492](https://github.com/sveltejs/svelte/issues/492)) * Allow `<:Window>` event handlers to access component state ([#497](https://github.com/sveltejs/svelte/pull/497)) * Allow two-way binding to properties named 'component' ([#495](https://github.com/sveltejs/svelte/issues/495)) * Group checkbox bindings correctly, to avoid erroneously unchecking siblings ([#498](https://github.com/sveltejs/svelte/issues/498)) * Validate two-way bindings ([#494](https://github.com/sveltejs/svelte/pull/494)) * Allow dynamic each-block to have static else-block ([#501](https://github.com/sveltejs/svelte/pull/501)) * Initialise `<select>` value correctly ([#502](https://github.com/sveltejs/svelte/pull/502)) ## 1.16.0 * Better code generation ([#489](https://github.com/sveltejs/svelte/pull/489)), ([#490](https://github.com/sveltejs/svelte/pull/490)), ([#491](https://github.com/sveltejs/svelte/pull/491)) * Prevent binding blowback on initial render ([#488](https://github.com/sveltejs/svelte/pull/488)) ## 1.15.1 * Clone data before merging it with state ([#479](https://github.com/sveltejs/svelte/issues/479)) * Apply binding event handlers before user event handlers ([#486](https://github.com/sveltejs/svelte/issues/486)) ## 1.15.0 * Dev mode — downgrade 'missing data' to a warning, and ignore whitelisted globals ([#475](https://github.com/sveltejs/svelte/issues/475)) * Fix `<select>` value binding when options are updated late ([