You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svelte/packages/svelte/CHANGELOG.md

232 KiB

svelte

5.54.1

Patch Changes

  • fix: hydration comments during hmr (#17975)

  • fix: null out effect.b in destroy_effect (#17980)

  • fix: group sync statements (#17977)

  • fix: defer batch resolution until earlier intersecting batches have committed (#17162)

  • fix: properly invoke iterator.return() during reactivity loss check (#17966)

  • fix: remove trailing semicolon from {@const} tag printer (#17962)

5.54.0

Minor Changes

  • feat: allow css, runes, customElement compiler options to be functions (#17951)

Patch Changes

  • fix: reinstate reactivity loss tracking (#17801)

5.53.13

Patch Changes

  • fix: ensure $inspect after top level await doesn't break builds (#17943)

  • fix: resume inert effects when they come from offscreen (#17942)

  • fix: don't eagerly access not-yet-initialized functions in template (#17938)

  • fix: discard batches made obsolete by commit (#17934)

  • fix: ensure "is standalone child" is correctly reset (#17944)

  • fix: remove nodes in boundary when work is pending and HMR is active (#17932)

5.53.12

Patch Changes

  • fix: update select.__value on change (#17745)

  • chore: add invariant helper for debugging (#17929)

  • fix: ensure deriveds values are correct across batches (#17917)

  • fix: handle async RHS in assignment_value_stale (#17925)

  • fix: avoid traversing clean roots (#17928)

5.53.11

Patch Changes

  • fix: remove untrack circular dependency (#17910)

  • fix: recover from errors that leave a corrupted effect tree (#17888)

  • fix: properly lazily evaluate RHS when checking for assignment_value_stale (#17906)

  • fix: resolve boundary in correct batch when hydrating (#17914)

  • chore: rebase batches after process, not during (#17900)

5.53.10

Patch Changes

  • fix: re-process batch if new root effects were scheduled (#17895)

5.53.9

Patch Changes

  • fix: better bind:this cleanup timing (#17885)

5.53.8

Patch Changes

  • fix: {@html} no longer duplicates content inside contenteditable elements (#17853)

  • fix: don't access inert block effects (#17882)

  • fix: handle asnyc updates within pending boundary (#17873)

  • perf: avoid re-traversing the effect tree after $: assignments (#17848)

  • chore: simplify scheduling logic (#17805)

5.53.7

Patch Changes

  • fix: correctly add __svelte_meta after else-if chains (#17830)

  • perf: cache element interactivity and source line splitting in compiler (#17839)

  • chore: avoid rescheduling effects during branch commit (#17837)

  • perf: optimize CSS selector pruning (#17846)

  • fix: preserve original boundary errors when keyed each rows are removed during async updates (#17843)

  • perf: avoid O(n²) name scanning in scope generate and unique (#17844)

  • fix: preserve each items that are needed by pending batches (#17819)

5.53.6

Patch Changes

  • perf: optimize parser hot paths for faster compilation (#17811)

  • fix: SvelteMap incorrectly handles keys with undefined values (#17826)

  • fix: SvelteURL search setter now returns the normalized value, matching native URL behavior (#17828)

  • fix: visit synthetic value node during ssr (#17824)

  • fix: always case insensitive event handlers during ssr (#17822)

  • chore: more efficient effect scheduling (#17808)

  • perf: optimize compiler analysis phase (#17823)

  • fix: skip redundant batch.apply (#17816)

  • chore: null out current_batch before committing branches (#17809)

5.53.5

Patch Changes

5.53.4

Patch Changes

  • fix: set server context after async transformError (#17799)

  • fix: hydrate if blocks correctly (#17784)

  • fix: handle default parameters scope leaks (#17788)

  • fix: prevent flushed effects from running again (#17787)

5.53.3

Patch Changes

  • fix: render :catch of #await block with correct key (#17769)

  • chore: pin aria-query@5.3.1 (#17772)

  • fix: make string coercion consistent to toString (#17774)

5.53.2

Patch Changes

  • fix: update expressions on server deriveds (#17767)

  • fix: further obfuscate node:crypto import from overzealous static analysis (#17763)

5.53.1

Patch Changes

  • fix: handle shadowed function names correctly (#17753)

5.53.0

Minor Changes

  • feat: allow comments in tags (#17671)

  • feat: allow error boundaries to work on the server (#17672)

Patch Changes

  • fix: use TrustedHTML to test for customizable <select> support, where necessary (#17743)

  • fix: ensure head effects are kept in the effect tree (#17746)

  • chore: deactivate current_batch by default in unset_context (#17738)

5.52.0

Minor Changes

  • feat: support TrustedHTML in {@html} expressions (#17701)

Patch Changes

  • fix: repair dynamic component truthy/falsy hydration mismatches (#17737)

  • fix: re-run non-render-bound deriveds on the server (#17674)

5.51.5

Patch Changes

5.51.4

Patch Changes

  • chore: proactively defer effects in pending boundary (#17734)

  • fix: detect and error on non-idempotent each block keys in dev mode (#17732)

5.51.3

Patch Changes

  • fix: prevent event delegation logic conflicting between svelte instances (#17728)

  • fix: treat CSS attribute selectors as case-insensitive for HTML enumerated attributes (#17712)

  • fix: locate Rollup annontaion friendly to JS downgraders (#17724)

  • fix: run effects in pending snippets (#17719)

5.51.2

Patch Changes

  • fix: take async into consideration for dev delegated handlers (#17710)

  • fix: emit state_referenced_locally warning for non-destructured props (#17708)

5.51.1

Patch Changes

  • fix: don't crash on undefined document.contentType (#17707)

  • fix: use symbols for encapsulated event delegation (#17703)

5.51.0

Minor Changes

  • feat: Use TrustedTypes for HTML handling where supported (#16271)

Patch Changes

  • fix: sanitize template-literal-special-characters in SSR attribute values (#17692)

  • fix: follow-up formatting in print() — flush block-level elements into separate sequences (#17699)

  • fix: preserve delegated event handlers as long as one or more root components are using them (#17695)

5.50.3

Patch Changes

  • fix: take into account nodeName case sensitivity on XHTML pages (#17689)

  • fix: render multiple and selected attributes as empty strings for XHTML compliance (#17689)

  • fix: always lowercase HTML elements, for XHTML compliance (#17664)

  • fix: freeze effects-inside-deriveds when disconnecting, unfreeze on reconnect (#17682)

  • fix: propagate $effect errors to <svelte:boundary> (#17684)

5.50.2

Patch Changes

  • fix: resolve effect_update_depth_exceeded when using bind:value on <select> with derived state in legacy mode (#17645)

  • fix: don't swallow DOMException when media.play() fails in bind:paused (#17656)

  • chore: provide proper public type for parseCss result (#17654)

  • fix: robustify blocker calculation (#17676)

  • fix: reduce if block nesting (#17662)

5.50.1

Patch Changes

  • fix: render boolean attribute values as empty strings for XHTML compliance (#17648)

  • fix: prevent async render tag hydration mismatches (#17652)

5.50.0

Minor Changes

  • feat: allow use of createContext when instantiating components programmatically (#17575)

Patch Changes

  • fix: ensure infinite effect loops are cleared after flushing (#17601)

  • fix: allow {#key NaN} (#17642)

  • fix: detect store in each block expression regardless of AST shape (#17636)

  • fix: treat <menu> like <ul>/<ol> for a11y role checks (#17638)

  • fix: add vite-ignore comment inside dynamic crypto import (#17623)

  • chore: wrap JSDoc URLs in @see and @link tags (#17617)

  • fix: properly hydrate already-resolved async blocks (#17641)

  • fix: emit each_key_duplicate error in production (#16724)

  • fix: exit resolved async blocks on correct node when hydrating (#17640)

5.49.2

Patch Changes

  • chore: remove SvelteKit data attributes from elements.d.ts (#17613)

  • fix: avoid erroneous async derived expressions for blocks (#17604)

  • fix: avoid Cloudflare warnings about not having the "node:crypto" module (#17612)

  • fix: reschedule effects inside unskipped branches (#17604)

5.49.1

Patch Changes

  • fix: merge consecutive large text nodes (#17587)

  • fix: only create async functions in SSR output when necessary (#17593)

  • fix: properly separate multiline html blocks from each other in print() (#17319)

  • fix: prevent unhandled exceptions arising from dangling promises in