# Svelte changelog ## 3.6.9 * Always update derived stores with a derived input whose value does not change ([#3191](https://github.com/sveltejs/svelte/issues/3191)) ## 3.6.8 * Preserve global keyframes that don't match local elements ([#3228](https://github.com/sveltejs/svelte/issues/3228)) * Fix spread/`class:` combination ([#3242](https://github.com/sveltejs/svelte/pull/3242)) * Never scope `:root` selector ([#3250](https://github.com/sveltejs/svelte/pull/3250)) * Prevent trailing commas in function arguments ([#3255](https://github.com/sveltejs/svelte/pull/3260)) ## 3.6.7 * Prevent corruption of outro callbacks with nested keyed each blocks ([#3209](https://github.com/sveltejs/svelte/pull/3209)) * Prevent cursor jumping in bound input in Safari ([#3199](https://github.com/sveltejs/svelte/issues/3199)) * Make resize listener object unfocusable ([#3206](https://github.com/sveltejs/svelte/issues/3206)) ## 3.6.6 * Prevent dynamic components being detached twice ([#3113](https://github.com/sveltejs/svelte/issues/3113), [#2086](https://github.com/sveltejs/svelte/issues/2086)) ## 3.6.5 * Handle RxJS-style observables with `get` ([#3153](https://github.com/sveltejs/svelte/issues/3153)) * Pass `let` values to bindings ([#3140](https://github.com/sveltejs/svelte/issues/3140)) * Escape `@` symbols in props ([#3173](https://github.com/sveltejs/svelte/issues/3173)) * Scale crossfaded elements ([#3175](https://github.com/sveltejs/svelte/pull/3175)) ## 3.6.4 * Run `onMount` functions in correct order, and before initial `afterUpdate` functions ([#2281](https://github.com/sveltejs/svelte/issues/2281)) * Fix code transformation for shorthand methods ([#2906](https://github.com/sveltejs/svelte/issues/2906)) * Fix assignments in inline functions ([#3038](https://github.com/sveltejs/svelte/issues/3038)) ## 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 `