5.57.0
Minor Changes
feat: export
RenderOutput,SyncRenderOutput,CspandSha256Sourcefromsvelte/server(#18648)feat: add
hasfunction tocreateContext(#18472)feat: support
defaultValueon<select>(#18591)feat: add getOrInsert/getOrInsertComputed to SvelteMap (#18728)
Patch Changes
fix: block template store subscriptions on the promise that assigns the store (#18582)
fix: route $derived teardown errors through invoke_error_boundary (#18486)
fix: track SvelteDate snapshots in reactions (#18700)
fix: remove
<svelte:head>anchors on unmount (#18697)fix: warn on undeclared shorthand event handlers on
<svelte:window>,<svelte:document>and<svelte:body>(#18480)perf: reuse the cached value in the
<option>/<select>value guard (#18713)fix: prevent malformed AST output for
<select>with staticvalueattribute (#18449)fix: apply ownership mutation ignores to binding assignments (#18718)
fix: prevent onoutroend from firing twice when compilerOptions.hmr is true (#18655)
fix: preserve whitespace after inline elements when printing (#18685)
perf: fold SSR block-open markers into the branch's first push (#18712)
fix: run
onDestroycallbacks when a server render throws (#18585)fix: report
derived_invalid_exportforexport let x = $derived(...)in runes mode (#18692)fix: never apply class hash to elements inside
<svelte:head>(#18160)fix: keep
defaultCheckedon hydrated radio inputs with spread attributes (#18701)fix: accept
onfocusin/onfocusoutina11y_mouse_events_have_key_events(#18689)perf: O(n²)→O(n) Map lookups for legacy
$:reactive statement ordering (#18602)fix: distinct memoizer on style/class directives (#18466)
fix: measure nested transitions before applying their starting styles (#18647)
fix: don't turn component instances stored in
$stateinto state proxies (#18646)perf: emit
$.only_childfor elements with a single child (#18717)fix: omit
bind:focusedfrom SSR output (it has no HTML attribute) (#18724)fix: more robust rendering of Svelte custom element slots (#18710)
perf: optimize simple object destructuring in
@consttags (#18390)fix: properly apply static textarea value attribute during CSR (#18727)
fix: end a restored reaction context at the end of its synchronous segment (#18694)
fix: keep the dependencies of a reaction that throws, so deriveds it read are neither leaked nor stuck in their error (#18703)
fix: don't resurrect outroing elements when an ancestor block is paused and resumed (#18431)
perf: use
$.comment()for single-comment templates (#18714)chore: move
@types/trusted-typesto devDependencies (#18730)perf: store setters cache as
Setinstead ofArray(#18251)fix: transform derived assignments and select function bindings correctly during server-side rendering (#18669)
fix: keep boolean attributes with an empty string value when rendering attribute objects on the server (#18721)
fix: sync
SvelteURLport signal when the protocol setter clears the port (#18705)fix: block declaration tags and
{@const}on async values read inside closures (#18533)fix: avoid css tree-shaking for exported Snippet (#18540)
perf: treat
<img loading>as a static element again (#18711)fix: prevent
selectedcontentmutation from changing the selected option (#18495)fix: avoid
NaNkeyframe values inslidetransition for elements without a layout box (#18430)fix: preserve line feed character references in attribute values (#18691)
fix: decode uppercase-
Xhex numeric character references (&#X...;) (#18708)chore: clarify when
$effect.preruns relative to DOM updates (#18534)fix: scope SSR boundary failed snippets to their boundary (#18593)