-
chore: remove
handle_compile_error
(#11639) -
breaking: disallow string literal values in
<svelte:element this="...">
(#11454) -
fix: use coarse-grained updates for derived expressions passed to props in legacy mode (#11652)
-
fix: robustify
bind:scrollX/Y
binding (#11655) -
feat: migrate
<svelte:element this="div">
(#11659) -
feat: more information when hydration fails (#11649)
-
fix: replay load and error events on load during hydration (#11642)
-
fix: make messages more consistent (#11643)
-
feat: introduce
rootDir
compiler option, makefilename
relative to it (#11627) -
fix: rename
__svelte_meta.filename
to__svelte_meta.file
to align with svelte 4 (#11627) -
fix: avoid state_referenced_locally warning within type annotations (#11638)
-
chore: improve SSR invalid element error message (#11585)
-
fix: deduplicate children prop and default slot (#10800)
-
feat: error on imports to
svelte/internal/*
(#11632) -
fix: better handle img loading attribute (#11635)
-
feat: add $state.is rune (#11613)
-
feat: provide $state warnings for accidental equality (#11610)
-
feat: error when snippet shadow a prop (#11631)
-
chore: use
new CustomEvent
instead of deprecatedinitCustomEvent
(#11629)
- fix: add backwards-compat for old warning codes in legacy mode (#11607)
-
chore: improve runtime overhead of creating comment templates (#11591)
-
fix: replicate Svelte 4 props update detection in legacy mode (#11577)
-
fix: allow for non optional chain call expression in render (#11578)
-
fix: correctly handle falsy values of style directives in SSR mode (#11583)
-
fix: improve handling of lazy image elements (#11593)
-
fix: skip deriveds for props with known safe calls (#11595)
- fix: improve internal mechanism for handling process_effects (#11560)
- fix: further adjust heuristics for effect_update_depth_exceeded (#11558)
-
fix: improved $inspect handling of reactive Map/Set/Date (#11553)
-
fix: adjust heuristics for effect_update_depth_exceeded (#11557)
-
fix: don't warn on writes to
$state
(#11540) -
feat: provide better error messages in DEV (#11526)
-
fix: better support for lazy img elements (#11545)
-
fix: handle falsy prop aliases correctly (#11539)
-
fix: ensure spread events are added even when rerunning spread immediately (#11535)
-
fix: improve behaviour of unowned derived signals (#11521)
-
fix: make
$effect.active()
true when updating deriveds (#11500) -
fix: skip parent element validation for snippet contents (#11463)
-
fix: coerce incremented/decremented sources (#11506)
-
feat: add support for svelte inspector (#11514)
-
fix: skip AST analysis of TypeScript AST nodes (#11513)
-
fix: use import.meta.hot.acceptExports when available to support partial hmr in vite (#11453)
-
feat: better error for
bind:this
legacy API usage (#11498)
-
fix: allow to access private fields after
this
reassignment (#11487) -
fix: only initiate scroll if scroll binding has existing value (#11469)
-
fix: restore value after attribute removal during hydration (#11465)
-
fix: check if svelte component exists on custom element destroy (#11488)
-
fix: ensure derived is detected as dirty correctly (#11496)
-
fix: prevent false positive ownership warning (#11490)
- fix: adjust order of
derived
function definition overloads (#11426)
-
fix: mark function properties on runes as deprecated for better intellisense (#11439)
-
fix: only warn about non-reactive state in runes mode (#11434)
-
fix: prevent ownership validation from infering with component context (#11438)
-
fix: ensure $inspect untracks inspected object (#11432)
-
fix: set correct component context when rendering snippets (#11401)
-
fix: detect style shorthands as stateful variables in legacy mode (#11421)
-
fix: improve unowned derived signal behaviour (#11408)
-
fix: rework binding type-checking strategy (#11420)
-
fix: improve html escaping of element attributes (#11411)
- feat: MathML support (#11387)
- fix: generate correct code for arrow functions with bodies involving object expressions (#11392)
-
fix: ensure no data loss occurs when using reactive Set methods (#11385)
-
fix: handle reassignment of
$props
and$restProps
(#11348) -
fix: disallow sequence expressions in
@const
tags (#11357)
-
fix: collect all necessary setters of html elements when spreading attributes (#11371)
-
fix: ensure reactions are kept dirty when marking them again (#11364)
-
feat: leave view transition pseudo selectors untouched (#11375)
-
fix: require whitespace after
@const
tag (#11379)
-
fix: correctly interpret empty aria- attribute (#11325)
-
fix: disallow mixing on:click and onclick syntax (#11295)
-
fix: make hr, script and template valid select children (#11344)
-
fix: apply modifiers to bubbled events (#11369)
-
fix: allow
bind:this
on<select>
with dynamicmultiple
attribute (#11378) -
feat: allow for literal property definition with state on classes (#11326)
-
fix: disallow mounting a snippet (#11347)
-
feat: only inject push/init/pop when necessary (#11319)
-
feat: provide migration helper (#11334)
-
fix: ensure store from props is hoisted correctly (#11367)
-
fix: remove
bind_prop
in runes mode (#11321) -
fix: mark
accessors
andimmutable
as deprecated (#11277)
- feat: introduce types to express bindability (#11225)
- breaking: disallow binding to component exports in runes mode (#11238)
- fix: avoid hoisting error by using 'let' instead of 'var' (#11291)
-
fix: run render functions for dynamic void elements (#11258)
-
fix: allow events to continue propagating following an error (#11263)
-
fix: resolve type definition error in
svelte/compiler
(#11283) -
feat: include
script
andsvelte:options
attributes in ast (#11241) -
fix: only destroy snippets when they have changed (#11267)
-
fix: add type arguments to Map and Set (#10820)
-
feat: implement
:global {...}
CSS blocks (#11276) -
feat: add read-only
bind:focused
(#11271)
- fix: make sure event attributes run after bindings (#11230)
-
fix: more robust moving of each item nodes (#11254)
-
fix: ensure that CSS is generated for the final frame of a transition (#11251)
-
fix: more accurate error message when creating orphan effects (#11227)
-
fix: support
$state.snapshot
as part of variable declarations (#11235) -
fix: optimize object property mutations in compilation (#11243)
-
breaking: don't allow children in svelte:options (#11250)
-
fix: possible name clash in hoisted functions (#11237)
-
fix: preserve getters/setters in HMR mode (#11231)
-
breaking: warn on slots and event handlers in runes mode, error on
<slot>
+{@render ...}
tag usage in same component (#11203) -
fix: fall back to component namespace when not statically determinable, add way to tell
<svelte:element>
the namespace at runtime (#11219) -
fix: measure elements before taking siblings out of the flow (#11216)
-
breaking: warn on self-closing non-void HTML tags (#11114)
-
fix: take outroing elements out of the flow when animating siblings (#11208)
-
fix: widen ownership when sub state is assigned to new state (#11217)
-
fix: refine css
:global()
selector checks in a compound selector (#11142) -
fix: remove memory leak from bind:this (#11194)
-
fix: remove memory leak from retaining old DOM elements (#11197)
-
feat: add warning when using
$bindable
rune without calling it (#11181)
-
feat: use state proxy ancestry for ownership validation (#11184)
-
fix: make snippet effects transparent for transitions (#11195)
-
fix: return ast from
compile
(like Svelte 4 does) (#11191) -
fix: ensure bind:this unmount behavior for members is conditional (#11193)
-
breaking: remove unstate(), replace with $state.snapshot rune (#11180)
-
fix: more accurate default value handling (#11183)
-
fix: ssr comments in head elements that require raw content (#10936)
-
fix: improve spreading of attributes (#11177)
-
fix: throw error when auto-subscribed store variable shadow by local variable (#11170)
-
fix: make ownership validation work correctly with HMR (#11171)
-
fix: revert ownership widening change (#11161)
-
fix: fix string name of reactive map and set iterator (#11169)
-
feat: reactive
URL
andURLSearchParams
classes (#11157) -
feat: update error message for snippet binding and assignments (#11168)
- fix: generate correct types for reactive Map/Set/Date (#11153)
-
fix missing classes after dynamic expressions in class attribute (#11134)
-
feat: simplify HMR implementation (#11132)
-
fix: add validation around disallowed sequence expressions to element attributes (#11149)
- fix: further improvements to hmr component key generation (#11129)
- fix: use correct meta property for hmr key (#11125)
-
fix: loosen proxy signal creation heuristics (#11109)
-
fix: ensure top level snippets are defined when binding to component prop (#11104)
-
feat: hot module reloading support for Svelte 5 (#11106)
-
feat: introduce
$host
rune, deprecatecreateEventDispatcher
(#11059) -
fix: execute sole static script tag (#11095)
-
fix: make static
element
property available for the SvelteComponent type (#11079) -
fix: improve internal proxied state signal heuristic (#11102)
-
fix: keep sibling selectors when dealing with slots/render tags/
svelte:element
tags (#11096) -
fix: ensure deep mutation ownership widening (#11094)
-
fix: improve compiled output of multiple call expression in single text node (#11097)
-
fix: improve hydration of svelte head blocks (#11099)
-
breaking: robustify interop of exports and props in runes mode (#11064)
-
fix: improve handled of unowned derived signals (#11077)
-
fix: bundle CSS types (#11067)
- fix: add
anchor
support to mount() API (#11050)
-
breaking: prevent unparenthesized sequence expressions in attributes (#11032)
-
fix: ensure transition errors are not swallowed (#11039)
- fix: include compiler/package.json in package (#11033)
-
fix: improve unowned derived signal heuristics (#11029)
-
fix: ensure correct context for action update/destroy functions (#11023)
-
feat: more efficient hydration markers (#11019)
-
fix: ensure effect cleanup functions are called with null
this
(#11024) -
fix: correctly handle closure passed to $derived.by when destructuring (#11028)
-
Add
name
to HTMLDetailsAttributes (#11013) -
breaking: move compiler.cjs to compiler/index.js (#10988)
-
fix: expose 'svelte/internal' to prevent Vite erroring on startup (#10987)
-
fix: revert SSR shorthand comments (#10980)
-
fix: child effects are removed from parent branches (#10985)
-
fix: further improvements to effect scheduling and flushing (#10971)
-
feat: re-export built-ins from
svelte/reactivity
on the server (#10973)
- fix: apply animate on prefix/suffix each block mutations (#10965)
-
fix: improved effect sequencing and execution order (#10949)
-
breaking: onDestroy functions run child-first (#10949)
-
fix: improve action support for nested $effect (#10962)
-
feat: use implicit return for each block keys (#10938)
-
breaking: always run pre effects immediately (#10928)
-
fix: improve order of pre-effect execution (#10942)
-
feat: more efficient each block compiler output (#10937)
-
fix: reliably remove undefined attributes during hydration (#10917)
-
fix: Add
elementtiming
HTMLAttribute, removecrossorigin
from HTMLInputAttributes (#10921) -
feat: shorter compiler output for attribute updates (#10917)
-
feat: more efficient if block compiler output (#10906)
-
fix: update type of
options.target
(#10892) -
fix: correctly hydrate controlled each-else block (#10887)
-
fix: Add
dirname
to HTMLInputAttributes (#10908)
-
fix: allow runes for variable declarations in the template (#10879)
-
feat: take form resets into account for two way bindings (#10617)
-
fix: handle multiple snippet parameters with one or more being optional (#10833)
-
breaking: apply fallback value every time in runes mode (#10797)
-
feat: add support for webkitdirectory DOM boolean attribute (#10847)
-
fix: don't override instance methods during legacy class creation (#10834)
-
fix: adjust scope parent for named slots (#10843)
-
fix: improve handling of unowned derived signals (#10842)
-
fix: improve element class attribute behaviour (#10856)
-
fix: ensure select value is updated upon select option removal (#10846)
-
fix: ensure capture events don't call delegated events (#10831)
-
fix: add types for svelte/reactivity (#10817)
-
fix: ensure arguments are supported on all reactive Date methods (#10813)
- feat: add reactive Map class to svelte/reactivity (#10803)
-
fix: invalidate store when mutated inside each block (#10785)
-
fix: make
set.has(...)
granular for existing properties' (#10793)
-
feat: add reactive Set class to svelte/reactivity (#10781)
-
breaking: make
$props()
rune non-generic (#10694) -
fix: improve internal render effect sequencing (#10769)
- fix: use getters for derived class state fields, with memoisation (#10757)
- fix: prevent reactive statement reruns when they have indirect cyclic dependencies (#10736)
-
fix: improve bind:this support around proxyied state (#10732)
-
fix: bump specificity on all members of a selector list (#10730)
-
breaking: preserve slots inside templates with a shadowrootmode attribute (#10721)
-
chore: custom elements validation (#10720)
-
fix: ensure performance.now() and requestAnimationFrame() are polyfilled in ssr (#10715)
-
fix: eagerly unsubscribe when store is changed (#10727)
-
fix: error when exporting reassigned state from module context (#10728)
-
fix: adjust keyed each block equality handling (#10699)
-
fix: improve indexed each equality (#10702)
-
fix: prevent snippet children conflict (#10700)
-
fix: improve namespace inference when having
{@render}
and{@html}
tags (#10631) -
fix: don't collapse whitespace within text nodes (#10691)
-
fix: better ownership mutation validation (#10673)
-
fix: handle TypeScript's optional parameter syntax in snippets (#10671)
-
fix: deduplicate generated props and action arg names (#10669)
-
perf: bail early when traversing non-state (#10654)
-
feat: improve ssr html mismatch validation (#10658)
-
fix: improve ssr output of dynamic textarea elements (#10638)
-
fix: improve ssr code generation for class property $derived (#10661)
-
fix: warn when
$props
rune not called (#10655) -
fix: improve derived rune destructuring support (#10665)
-
feat: allow arbitrary call expressions and optional chaining for snippets (#10656)
-
fix: add
$set
and$on
methods in legacy compat mode (#10642)
- fix: improve deep_read performance (#10624)
-
fix: improve event delegation with shadowed bindings (#10620)
-
feat: add reactive Date object to svelte/reactivity (#10622)
-
fix: don't clear date input on temporarily invalid value (#10616)
-
fix: use safe-equals comparison for
@const
tags in legacy mode (#10606) -
fix: improve proxy effect dependency tracking (#10605)
-
fix: prevent window listeners from triggering events twice (#10611)
-
feat: allow dynamic
type
attribute withbind:value
(#10608) -
fix: make
bind_this
implementation more robust (#10598) -
fix: tweak initial
bind:clientWidth/clientHeight/offsetWidth/offsetHeight
update timing (#10512) -
fix: correctly handle proxied signal writes before reads (#10612)
-
fix: improve $inspect handling of derived objects (#10584)
-
fix: permit whitespace within template scripts (#10591)
-
fix: allow boolean
contenteditable
attribute (#10590) -
fix: improve import event handler support (#10592)
- fix: inherit ownerlessness when creating child proxies (#10577)
-
fix: handle member expressions in directives (#10576)
-
fix: remove memory leak (#10570)
-
fix: call beforeUpdate/afterUpdate callbacks when props are mutated (#10570)
-
fix: improve props spreading logic (#10574)
-
feat: allow state/derived/props to be explicitly exported from components (#10523)
-
fix: replace proxy-based readonly validation with stack-trace-based ownership tracking (#10464)
-
fix: correct context applied to batch_inspect (#10569)
-
fix: improve each block item equality for immutable mode (#10537)
-
fix: improve handling of unowned derived signals (#10565)
-
fix: better handling of empty text node hydration (#10545)
-
fix: ensure update methods of actions and reactive statements work with fine-grained
$state
(#10543) -
fix: don't execute scripts inside
@html
when instantiated on the client (#10556) -
fix: only escape characters in SSR template (#10555)
-
fix: wire up
events
inmount
correctly and fix its types (#10553) -
fix: better handling of derived signals that have no dependencies (#10558)
-
fix: improve state store mutation compiler output (#10561)
-
fix: improve effect over-fire on store subscription init (#10535)
-
fix: use init properties when exporting non-state values in prod (#10521)
-
chore: improve code generation for
bind:this
in SSR mode (#10524) -
fix: visit expression node in directives (#10527)
- breaking: remove
createRoot
, adjustmount
/hydrate
APIs, introduceunmount
(#10516)
-
fix: correctly scope CSS selectors with descendant combinators (#10490)
-
feat: implement support for
:is(...)
and:where(...)
(#10490) -
chore: treeshake unused store subscriptions in SSR mode (#10506)
-
fix: warn against accidental global event referenced (#10442)
-
fix: improve bind:this support for each blocks (#10510)
-
feat: implement nested CSS support (#10490)
-
breaking: encapsulate/remove selectors inside
:is(...)
and:where(...)
(#10490)
-
feat: add hydrate method, make hydration treeshakeable (#10497)
-
fix: makes keyed each blocks consistent between dev and prod (#10500)
-
fix: subscribe to stores in
transition
,animation
,use
directives (#10481)
-
feat: derive destructured derived objects values (#10488)
-
fix: prevent infinite loop when writing to store using shorthand (#10477)
-
fix: add proper source map support (#10459)
-
breaking: replace
$derived.call
with$derived.by
(#10445) -
fix: improve global transition outro handling (#10474)
-
fix: only throw bind error when not passing a value (#10090)
-
fix: improve global transition handling of effect cleardown (#10469)
-
fix: improve handling of object property deletions (#10456)
-
fix: ensure inspect fires on prop changes (#10468)
-
fix: use hybrid scoping strategy for consistent specificity increase (#10443)
-
fix: throw validation error when binding to each argument in runes mode (#10441)
-
fix: make CSS animation declaration transformation more robust (#10432)
-
fix: handle sole empty expression tags (#10433)
-
fix: align
beforeUpdate
/afterUpdate
behavior better with that in Svelte 4 (#10408) -
fix: disallow exporting props, derived and reassigned state from within components (#10430)
-
fix: improve indexed each array reconcilation (#10422)
-
fix: add compiler error for each block mutations in runes mode (#10428)
- fix: set
open
binding value in<details>
(#10413)
-
fix: properly analyze group expressions (#10410)
-
fix: handle nested script tags (#10416)
-
fix: only update lazy properties that have actually changed (#10415)
-
fix: correctly determine binding scope of
let:
directives (#10395) -
fix: run
onDestroy
callbacks during SSR (#10297)
- chore: bump zimmerframe to fix bugs introduced in previous version (#10405)
- chore: bump zimmerframe to resolve AST-traversal-related bugs (
b63ab91c7b92ecec6e7e939d6d509fc3008cf048
)
-
fix: allow
let:
directives on slot elements (#10391) -
fix: repair each block length mismatches during hydration (#10398)
-
fix: bindings with typescript assertions (#10329)
-
fix: only reuse state proxies that belong to the current value (#10343)
-
fix: insert empty text nodes while hydrating, if necessary (#9729)
-
fix: correctly update tweened store initialized with nullish value (#10356)
-
breaking: snippets can now take multiple arguments, support default parameters. Because of this, the type signature has changed (#9988)
-
Use generic
T
as the return type for$derived.call()
(#10349) -
fix: replace TODO errors (#10326)
-
fix: add proper typings for
$derived.call
(6145be5c695a063c70944272a42d9c63fdd71d64
) -
fix: improve handling of unowned derived signals (#10342)
-
fix: correctly reference destructured derived binding in event handler (#10333)
-
fix: add
scrollend
event type (#10337) -
fix: improve unstate handling of non enumerable properties (#10348)
-
fix: handle event delegation correctly when having sibling event listeners (#10307)
-
chore: add $derived.call rune (#10240)
-
chore: cleanup derived destruction (#10303)
-
fix: correctly parse at-rules containing special characters in strings (#10221)
-
fix: Add missing
miter-clip
andarcs
values tostroke-linejoin
attribute (#10141)
-
fix: handle deep assignments to
$state()
class properties correctly (#10289) -
fix: prevent false positive store error in module script (#10291)
-
fix: allow type selector in
:global()
when it's at a start of a compound selector (#10287)
-
chore: improve should_proxy_or_freeze logic internally (#10249)
-
fix: add back
derived
type overload (776ac3c1762da5f8147c457a997a417cfae67e4c
) -
fix: more robust url equality check at dev time (
14d7b26897cbfa129847c446b0ecf9557d77ef7c
) -
fix: correct increment/decrement code generation (
2861ad66e054d2b14f382aaada4512e3e5d56db8
) -
fix: sanitize component event names (#10235)
-
fix: don't hoist function when already referenced in module scope (
1538264bd5ed431d3048d54efe9c83c4db7fb42a
) -
fix: try-catch deep read during
$inspect
(#10270) -
fix: allow ts casts in bindings (#10181)
-
fix: allow
:global(..)
in compound selectors (#10266) -
fix: hydrate controlled each blocks correctly (#10259)
-
chore: improve $state static reference warning heuristics (#10275)
-
fix: correctly cleanup unowned derived dependency memory (#10280)
-
fix: ensure proxy is updated before notifying listeners (#10267)
-
fix: skip certain slot validations for custom elements (#10207)
-
fix: add compiler error for invalid
<p>
contents (#10201) -
fix: correctly apply event.currentTarget (#10216)
-
fix: ensure derived signals properly capture consumers (#10213)
-
fix: transform textarea and contenteditable binding expressions (#10187)
-
fix: improve transition outro easing (#10190)
-
fix: ensure unstate() only deeply applies to plain objects and arrays (#10191)
-
fix: improve invalid nested interactive element error (#10199)
-
fix: react to mutated slot props in legacy mode (#10197)
-
fix: improve nested effect heuristics (#10171)
-
fix: simplify event delegation logic, only delegate event attributes (#10169)
-
fix: prevent transition action overfiring (#10163)
-
fix: improve event handling compatibility with delegation (#10168)
-
fix: ensure topological order for render effects (#10175)
-
fix: make
@types/estree
a dependency (#10150) -
fix: improve intro transitions on dynamic mount (#10162)
-
fix: improve code generation (#10156)
-
fix: adjust
$inspect.with
type (c7cb90c91
) -
fix: improve how transitions are handled on mount (#10157)
-
fix: adjust
parse
return type (a271878ab
)
-
fix: improve ssr template code generation (#10151)
-
fix: improve template literal expression output generation (#10147)
-
fix: improve outro behavior with transitions (#10139)
-
chore: remove internal functions from
svelte/transition
exports (#10132) -
fix: further animation transition improvements (#10138)
-
fix: improve animation transition heuristics (#10119)
-
fix: infer
svg
namespace correctly (#10027) -
fix: keep intermediate number value representations (
d171a39b0
) -
feat: allow modifiying derived props (#10080)
-
fix: improve signal consumer tracking behavior (#10121)
-
fix: support async/await in destructuring assignments (#9962)
-
fix: take into account member expressions when determining legacy reactive dependencies (#10128)
-
fix: make
ComponentType
generic optional (14dbc1be1
) -
fix: silence false positive state warning (
dda4ad510
) -
fix: ensure nested blocks are inert during outro transitions (#10126)
-
fix: improve ssr template literal generation (#10127)
-
fix: allow transition undefined payload (#10117)
-
fix: apply key animations on proxied arrays (#10113)
-
fix: improve internal signal dependency checking logic (#10111)
-
fix: correctly call exported state (#10114)
-
fix: take into account setters when spreading and binding (#10091)
-
fix: transform
{@render ...}
expression (#10116)
-
fix: improve text node output (#10081)
-
fix: improve style parser whitespace handling (#10077)
-
fix: allow input elements within button elements (#10083)
-
fix: support TypeScript's
satisfies
operator (#10068) -
fix: provide
unstate
in server environment (877ff1ee7
) -
fix: improve key block reactivity detection (#10092)
-
fix: always treat spread attributes as reactive and separate them if needed (#10071)
-
fix: deeply unstate objects passed to inspect (#10056)
-
fix: handle delegated events of elements moved outside the container (#10060)
-
fix: improve script
lang
attribute detection (#10046) -
fix: improve pseudo class parsing (#10055)
-
fix: add types for popover attributes and events (#10041)
-
fix: skip generating $.proxy() calls for unary and binary expressions (#9979)
-
fix: allow pseudo classes after
:global(..)
(#10055) -
fix: bail-out event handler referencing each index (#10063)
-
fix: parse
:nth-of-type(xn+y)
correctly (#9970) -
fix: ensure if block is executed in correct order (#10053)
-
fix: evaluate transition parameters when the transition runs (#9836)
-
feat: add
$state.frozen
rune (#9851) -
fix: correctly transform prop fallback values that use other props (#9985)
-
fix: escape template literal characters in text sequences (#9973)
-
fix: inject comment in place of
<noscript>
in client output (#9953)
-
fix: better handle array property deletion reactivity (#9921)
-
fix: improve event delegation handler hoisting (#9929)
-
fix: improve whitespace handling (#9912)
-
fix: improve each block fallback handling (#9914)
-
fix: cleanup each block animations on destroy (#9917)
-
fix: improve props aliasing (#9900)
-
feat: add support for
{@const}
inside snippet block (#9904) -
fix: improve attribute directive reactivity detection (#9907)
-
fix: improve $inspect batching (#9902)
-
chore: improve readonly prop messaging (#9901)
-
fix: better support for top-level snippet declarations (#9898)
-
feat: add
gamepadconnected
andgamepaddisconnected
events (#9861) -
fix: improve unstate type definition (#9895)
-
fix: correctly reflect readonly proxy marker (#9893)
-
chore: improve each block fast-path heuristic (#9855)
-
fix: improve html tag svg behaviour (#9894)
-
fix: ensure class constructor values are proxied (#9888)
-
fix: improve each block index handling (#9889)
-
fix: handle event hoisting props referencing (#9846)
-
fix: support dynamic transition functions (#9844)
-
fix: ensure action function returns object (#9848)
-
chore: refactor props handling (#9826)
-
fix: improve each key animations (#9842)
-
chore: avoid creating thunk for call expressions when appropriate (#9841)
-
fix: improve signal consumer removal logic (#9837)
-
fix: ensure computed props are wrapped in derived (#9835)
-
fix: better handle unowned derived signals (#9832)
-
fix: improve each block with animate (#9839)
-
breaking: change
$inspect
API (#9838)
-
fix: better readonly checks for proxies (#9808)
-
fix: prevent infinite loops stemming from invalidation method (#9811)
-
fix: improve non state referenced warning (#9809)
-
fix: reuse existing proxy when object has multiple references (#9821)
-
fix: improve consistency issues around binding invalidation (#9810)
-
fix: tweak css nth regex (#9806)
-
fix: adjust children snippet default type (
dcdd64548
) -
fix: correctly apply scope on component children (#9824)
-
feat: add unstate utility function (#9776)
-
fix: ensure proxied array length is updated (#9782)
-
chore: fix compiler errors test suite (#9754)
-
fix: ensure transitions properly cancel on completion (#9778)
-
feat: make fallback prop values readonly (#9789)
-
fix: tweak invalid dollar prefix rules around function args (#9792)
-
fix: ensure generated code does not use keywords as variable names (#9790)
-
feat: disallow fallback values with bindings in runes mode (#9784)
-
fix: apply event attribute validation to elements only (#9772)
-
fix: handle css nth-selector syntax (#9754)
-
feat: throw descriptive error for using runes globals outside of Svelte-compiled files (#9773)
-
feat: proxied state (#9739)
-
chore: more validation errors (#9723)
-
fix: allow duplicate snippet declaration names (#9759)
-
fix: ensure computed props are cached with derived (#9757)
-
fix: ensure event handlers containing arguments are not hoisted (#9758)
-
fix: delegate events on elements with bind-this (#9696)
-
fix: ensure implicit children snippet renders correctly (#9706)
-
fix: ensure
$slots
exists in runes mode (#9718) -
fix: allow
bind:this
with dynamic type on inputs (#9713) -
fix: port over props that were set prior to initialisation (#9704)
-
feat: $inspect rune (#9705)
-
fix: keep fallback value after spread update not setting that prop (#9717)
-
fix: tweak const tag parsing (#9715)
-
chore: remove redundant hydration code (#9698)
-
fix: improve template text node serialization (#9722)
-
fix: improve infinite loop capturing (#9721)
-
fix: add children to element typings (#9679)
-
fix: handle ts expressions when dealing with runes (#9681)
-
feat: warn on references to mutated non-state in template (#9669)
-
fix: prevent reactive snippet from reinitializing unnecessarily (#9665)
-
fix: take event attributes into account when checking a11y (#9664)
-
feat: add $effect.root rune (#9638)
-
feat: support type definition in {@const} (#9609)
-
feat: ignore
src
,srcset
, andhref
attributes when hydrating (#9662) -
chore: bump esrap (#9649)
-
chore: improve
<svelte:element>
generated code (#9648) -
chore: prevent some unused variable creation (#9571)
-
fix: apply keyed validation only for keyed each (#9641)
-
fix: omit this bind this arg if we know it's not a signal (#9635)
-
fix: improve each block index handling (#9644)
-
fix: adjust mount and createRoot types (
63e583184
) -
fix: remove constructor overload (
cb4b1f0a1
) -
fix: type-level back-compat for default slot and children prop (
a3bc7d569
)
-
feat: add type of
$effect.active
(#9624) -
fix: correct bind this multiple bindings (#9617)
-
chore: reuse common templates (#9601)
-
fix: handle undefined bubble events (#9614)
-
fix: dont error on stores looking like runes when runes explicitly turned off (#9615)
-
fix: improve member expression mutation logic (#9625)
-
chore: untrack keyed validation logic (#9618)
-
fix: ensure snippets have correct scope (#9623)
-
fix: better attribute casing logic (#9626)
-
chore: add inline new class warning (#9583)
-
fix: prevent false positives when detecting runes mode (#9599)
-
fix: deconflict generated names against globals (#9570)
-
chore: bump esrap (#9590)
-
feat: add $effect.active rune (#9591)
-
feat: add Snippet type (#9584)
-
fix: adjust event delegation heuristics (#9581)
-
chore: remove unused code (#9593)
-
fix: adjust regex (#9572)
- chore: rename internal object properties (#9532)
-
chore: more signal perf tuning (#9531)
-
fix: address intro transition bugs (#9528)
-
chore: tweak signals for better runtime perf (#9529)
- fix: do not propagate global intro transitions (#9515)
-
fix: tweak script/style tag parsing/preprocessing logic (#9502)
-
fix: emit useful error on invalid binding to derived state (#9497)
-
fix: address unowned propagation signal issue (#9510)
-
fix: add top level snippets to instance scope (#9467)
-
fix: only treat instance context exports as accessors (#9500)
-
fix: allow setting files binding for
<input type="file" />
(#9463) -
fix: add missing visitor for assignments during compilation (#9511)
- revert: address bug in before/after update (#9480)
-
chore: use internal
get_descriptors
helper (#9389) -
chore: improve bundle code size (#9476)
-
fix: coerce attribute value to string before comparison (#9475)
-
fix: handle private fields in
class
in.svelte.js
files (#9394) -
chore: make operations lazy (#9468)
-
fix: allow svelte:self in snippets (#9439)
-
fix: check that snippet is not rendered as a component (#9423)
-
patch: ensure keyed each block fallback to indexed each block (#9441)
-
fix: allow member access on directives (#9462)
-
fix: handle dynamic selects with falsy select values (#9471)
-
fix: ensure dynamic attributes containing call expressions update (#9443)
-
fix: corrects a beforeUpdate/afterUpdate bug (#9448)
-
fix: add missing files binding (#9415)
-
fix: only escape attribute values for elements, not components (#9456)
-
fix: handle event attribute spreading with event delegation (#9433)
-
fix: support class exports (#9465)
-
fix: treat
slot
the same as other props (#9457)
-
breaking: remove selector api (#9426)
-
fix: correct update_block index type (#9425)
-
fix: tighten up signals implementation (#9417)
-
fix: exclude internal props from spread attributes (#9384)
-
chore: improve keyblock treeshaking (#9422)
-
breaking: remove Component type, keep using SvelteComponent instead (#9413)
-
fix: add snippet marker symbol to children prop (#9395)
- breaking: svelte 5 alpha (#9381)