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
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
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
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)
Patch Changes chore: provide indent option for print (#18474)
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)
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
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
Patch Changes fix: ignore errors that occur in destroyed effects (#18384) fix: type BigInts in $state.snapshot(...) return values (#18388)
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 (
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
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
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
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
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
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
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
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)
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)
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
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
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
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)
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
Minor Changes feat: allow css, runes, customElement compiler options to be functions (#17951) Patch Changes fix: reinstate reactivity loss tracking (#17801)
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
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
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
Patch Changes fix: better bind:this cleanup timing (#17885)
Patch Changes fix: re-process batch if new root effects were scheduled (#17895)
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
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
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
Patch Changes fix: escape innerText and textContent bindings of contenteditable (0df5abcae223058ceb95491470372065fb87951d) fix: sanitize transformError values prior to embedding in HTML comments (0298e979371bb583855c9810db79a70a551d22b9)
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)
Patch Changes fix: render :catch of #await block with correct key (#17769) chore: pin [email protected] (#17772) fix: make string coercion consistent to toString (#17774)
Patch Changes fix: update expressions on server deriveds (#17767) fix: further obfuscate node:crypto import from overzealous static analysis (#17763)
Patch Changes fix: handle shadowed function names correctly (#17753)
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
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)
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
Patch Changes chore: proactively defer effects in pending boundary (#17734) fix: detect and error on non-idempotent each block keys in dev mode (#17732)
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
Patch Changes fix: take async into consideration for dev delegated handlers (#17710) fix: emit state_referenced_locally warning for non-destructured props (#17708)
Patch Changes fix: don't crash on undefined document.contentType (#17707) fix: use symbols for encapsulated event delegation (#17703)
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
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
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
Patch Changes fix: render boolean attribute values as empty strings for XHTML compliance (#17648) fix: prevent async render tag hydration mismatches (#17652)
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
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
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
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
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
Patch Changes fix: avoid duplicating escaped characters in CSS AST (#17554)
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
Patch Changes fix: export wait function from internal client index (#17530)
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
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)
Patch Changes fix: trigger selectedcontent reactivity (#17486)
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)