Svelte
The Svelte compiler — a UI component framework that compiles components to efficient vanilla JavaScript at build time.
Patch Changes
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.g.
{let a = $state(0), b = $derived(a * 2)}) (#18348) -
fix: avoid spurious
state_referenced_locallywarnings for$deriveddeclarations in declaration tags (#18348) -
fix: tolerate whitespace before
let/constin declaration tags (#18348) -
fix: prevent infinite loop when a tag's expression ends with a trailing
/at the end of the input (#18350) -
fix: more robust parsing of declaration tags with regards to
type(#18330) -
fix: preserve newlines in spread input values when the
typeattribute is applied aftervalue(#18345) -
fix: update
SvelteURLSearchParamswhen setting duplicate keys to the same joined value (#18336) -
fix: check references for blockers on server, too (#18352)
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 disconnected effect roots (#18273) -
fix: remove temporary raw-text hydration markers (#18269)
-
fix: propagate async
@constblockers through closure references so template expressions like{(() => host)()}correctly wait for the awaited value (#18309) -
fix: properly unlink batches (#18298)
-
fix: settle discarded batch (#18290)
-
fix: declare
let:directives before{@const}declarations on slotted elements (#18271) -
fix: resume outro-ed branches if they were kept around (#18291)
-
fix: avoid waterfall-warning when async resolves to same value (#18297)
-
fix: correctly coordinate component-level effects inside async blocks (#18260)
-
fix: make unnecessary commit work less likely (#18263)
-
chore: add tag name to
a11y_click_events_have_key_eventswarning (#18272) -
fix: catch rejected promises while merging/committing (#18266)
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 outside the init/update cycle (#18243)
-
fix: avoid false-positive batch invariant error (#18246)
-
fix: inline primitive constants in attribute values during SSR (#18232)
Patch Changes
-
fix(print): handle
svelte:bodyand 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 when deriveds are unfreezed (#18227)
-
fix: unset context synchronously in
run(#18236)
Patch Changes
-
fix: ensure proper HMR updates for dynamic components (#18079)
-
fix: correctly calculate
@constblockers (#18039) -
fix: freeze deriveds once their containing effects are destroyed (#17921)
-
fix: defer error boundary rendering in forks (#18076)
-
fix: avoid false positives for reactivity loss warning (#18088)
Patch Changes
-
fix: invalidate
@consttags based on visible references in legacy mode (#18041) -
fix: handle parens in template expressions more robustly (#18075)
-
fix: disallow
--inidPrefix(#18038) -
fix: correct types for
ontoggleon<details>elements (#18063) -
fix: don't override
$destroy/set/oninstance methods in dev mode (#18034) -
fix: unskip branches of earlier batches after commit (#18048)
-
fix: never set derived.v inside fork (#18037)
-
fix: skip rebase logic in non-async mode (#18040)
-
fix: don't reset status of uninitialized deriveds (#18054)
Patch Changes
-
fix: correctly handle bindings on the server (#18009)
-
fix: prevent hydration error on async
{@html ...}(#17999) -
fix: cleanup
superTypeParametersinClassDeclarations/ClassExpression(#18015) -
fix: improve duplicate module import error message (#18016)
-
fix: reschedule new effects in prior batches (#18021)
Patch Changes
-
fix: hydration comments during hmr (#17975)
-
fix: null out
effect.bindestroy_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)
Patch Changes
-
fix: remove
untrackcircular 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)