Traceary

Catalog / Frontend

Svelte changelog

Compiler that turns component files into JavaScript that updates the DOM directly.

Latest
5.56.10
Shipped
20 Aug 20266 days ago
Collected
60 releasesback to 18 Jan 2026
Source
sveltejs/svelte
Project
svelte.dev
Feed
RSS

Read today, the first day on record. Collection status

Version history

5.x60 releases
5.56.10

Patch Changes fix: preserve CSS escape sequences when printing selectors (#18667) fix: parse :nth-child(2n of.foo) where of is not followed by whitespace (#18611) fix: transform expressions inside labeled statements during server compilatio

fixedremoved
5.56.9

Patch Changes fix: skip controlled each fast path while another batch is pending (#18625) fix: better whitespace handling inside printer (#18638) fix: don't duplicate comments in attributes (#18636) fix: preserve CSS comments in the AST pri

fixed
5.56.8

Patch Changes fix: call onerror and provide a working reset when hydrating a failed boundary (#18556) fix: preserve select selection when spread attributes omit value (#18561)

fixed
5.56.7

Patch Changes chore: provide indent option for print (#18474)

fixed
5.56.6

Patch Changes perf: skip unnecessary blocker analysis when compiling components without top-level await (#18548) fix: rerun derived that had an abort controller on reconnection (#18551)

fixed
5.56.5

Patch Changes chore: drop dead code that make TSGO fail (#18496) fix: don't (re)connect deriveds when read inside branch/root effects (#18527) fix: skip unnecessary derived effect in earlier batch (#18525) fix: avoid declaration tag warning

fixed
5.56.4

Patch Changes fix: include wrapping parentheses in {@const} declarator end position (#18436) fix: always unset reactivity context after restoring it (#18453) fix: don't notify searchParams subscribers when the URL changes without affecting

fixed
5.56.3

Patch Changes fix: ignore errors that occur in destroyed effects (#18384) fix: type BigInts in $state.snapshot(...) return values (#18388)

fixed
5.56.2

Patch Changes fix: properly track effect end node for async sibling component (#18371) fix: prevent false-positive reactivity loss warning (#18373) chore: bump esrap dependency (#18372) fix: ignore declaration tags for animation directive (

fixed
5.56.1

Patch Changes fix: error at compile time on duplicate snippet/declaration tag definitions (#18351) fix: parse declaration tag contents more robustly (#18353) fix: correctly transform references to earlier declarators in a declaration tag (e

fixedchanged
5.56.0

Minor Changes feat: allow declarations in the template (#18282) Patch Changes perf: use createElement instead of createElementNS for HTML elements (#18262) perf: store current_sources as a Set for O(1) membership checks (#18278) perf: dedup

fixed
5.55.10

Patch Changes fix: unlink errored and otherwise finished batch (#18264) perf: walk composedPath() directly in delegated event propagation (#18268) fix: transfer effects when merging batches (#18254) fix: allow $derived(await ...) in disconn

addedfixed
5.55.9

Patch Changes fix: don't unset batch when calling {#await ...} promise (#18243) fix: promise-ify {#await await ...} expressions on the server and correctly hydrate them on the client (#18243) fix: deduplicate dependencies that are added out

fixedchanged
5.55.8

Patch Changes fix(print): handle svelte:body and fix keyframe percentage double-printing (#18234) fix: execute uninitialized derived even if it's destroyed (#18228) fix: use named symbols everywhere (#18238) fix: don't run teardown effects

fixed
5.55.7

Patch Changes fix: prevent XSS on hydratable from user contents (a16ebc67bbcf8f708360195687e1b2719463e1a4) chore: bump devalue (#18219) fix: disallow empty attribute names during SSR (547853e2406a2147ad7fb5ffeba95b01bd9642da) fix: harden re

fixed
5.55.6

Patch Changes fix: leave stale promises to wait for a later resolution, instead of rejecting (#18180) fix: keep dependencies of $state.eager/pending (#18218) fix: reapply context after transforming error during SSR (#18099) fix: don't rebas

fixedchanged
5.55.5

Patch Changes fix: don't mark deriveds while an effect is updating (#18124) fix: do not dispatch introstart event with animation of animate directive (#18122)

fixed
5.55.4

Patch Changes fix: never mark a child effect root as inert (#18111) fix: reset context after waiting on blockers of @const expressions (#18100) fix: keep flushing new eager effects (#18102)

addedfixed
5.55.3

Patch Changes fix: ensure proper HMR updates for dynamic components (#18079) fix: correctly calculate @const blockers (#18039) fix: freeze deriveds once their containing effects are destroyed (#17921) fix: defer error boundary rendering in

fixedchanged
5.55.2

Patch Changes fix: invalidate @const tags based on visible references in legacy mode (#18041) fix: handle parens in template expressions more robustly (#18075) fix: disallow -- in idPrefix (#18038) fix: correct types for ontoggle on <detail

fixed
5.55.1

Patch Changes fix: correctly handle bindings on the server (#18009) fix: prevent hydration error on async {@html ...} (#17999) fix: cleanup superTypeParameters in ClassDeclarations/ClassExpression (#18015) fix: improve duplicate module impo

addedfixedchanged
5.55.0

Minor Changes feat: export TweenOptions, SpringOptions, SpringUpdateOptions and Updater from svelte/motion (#17967) Patch Changes fix: ensure HMR wrapper forwards correct start/end nodes to active effect (#17985)

fixed
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: prop

fixed
5.54.0

Minor Changes feat: allow css, runes, customElement compiler options to be functions (#17951) Patch Changes fix: reinstate reactivity loss tracking (#17801)

fixed
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: discar

fixed
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: avo

addedfixedchanged
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

fixed
5.53.9

Patch Changes fix: better bind:this cleanup timing (#17885)

fixed
5.53.10

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

addedfixed
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

fixedchanged
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

addedfixedchanged
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

fixed
5.53.5

Patch Changes fix: escape innerText and textContent bindings of contenteditable (0df5abcae223058ceb95491470372065fb87951d) fix: sanitize transformError values prior to embedding in HTML comments (0298e979371bb583855c9810db79a70a551d22b9)

fixed
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)

fixed
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)

fixed
5.53.2

Patch Changes fix: update expressions on server deriveds (#17767) fix: further obfuscate node:crypto import from overzealous static analysis (#17763)

fixedchanged
5.53.1

Patch Changes fix: handle shadowed function names correctly (#17753)

fixed
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 support, where necessary (#17743) fix: ensure head effects are kept

fixed
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)

fixed
5.51.5

Patch Changes fix: check to make sure svelte:element tags are valid during SSR (73098bb26c6f06e7fd1b0746d817d2c5ee90755f) fix: misc option escaping and backwards compatibility (#17741) fix: strip event handlers during SSR (a0c7f289156e9fafa

fixed
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)

fixed
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 down

fixed
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)

fixed
5.51.1

Patch Changes fix: don't crash on undefined document.contentType (#17707) fix: use symbols for encapsulated event delegation (#17703)

fixed
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 elemen

fixed
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 (#1

fixed
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 publi

fixed
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)

fixed
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 e

addedfixed
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: resc

fixed
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 ex

fixed
5.49.0

Minor Changes feat: allow passing ShadowRootInit object to custom element shadow option (#17088) Patch Changes fix: throw for unset createContext get on the server (#17580) fix: reset effects inside skipped branches (#17581) fix: preserve o

fixed
5.48.5

Patch Changes fix: run boundary onerror callbacks in a microtask, in case they result in the boundary's destruction (#17561) fix: prevent unintended exports from namespaces (#17562) fix: each block breaking with effects interspersed among i

fixed
5.48.4

Patch Changes fix: avoid duplicating escaped characters in CSS AST (#17554)

fixed
5.48.3

Patch Changes fix: hydration failing with settled async blocks (#17539) fix: add pointer and touch events to a11y_no_static_element_interactions warning (#17551) fix: handle false dynamic components in SSR (#17542) fix: avoid unnecessary bl

addedfixed
5.48.2

Patch Changes fix: export wait function from internal client index (#17530)

fixed
5.48.1

Patch Changes fix: hoist snippets above const in same block (#17516) fix: properly hydrate await in {@html} (#17528) fix: batch resolution of async work (#17511) fix: account for empty statements when visiting in transform async (#17524) fi

fixed
5.48.0

Minor Changes feat: export parseCss from svelte/compiler (#17496) Patch Changes fix: handle non-string values in svelte:element this attribute (#17499) fix: faster deduplication of dependencies (#17503)

fixed
5.47.1

Patch Changes fix: trigger selectedcontent reactivity (#17486)

fixed
5.47.0

Minor Changes feat: customizable <select> elements (#17429) Patch Changes fix: mark subtree of svelte boundary as dynamic (#17468) fix: don't reset static elements with debug/snippets (#17477)

fixed