chore(deps): update dependency svelte to v5

This MR contains the following updates:

Package Change Age Confidence
svelte (source) ^4.2.16 -> ^5.0.0 age confidence

Release Notes

sveltejs/svelte (svelte)

v5.45.5

Compare Source

Patch Changes
  • fix: correctly reconcile each blocks after outroing branches are resumed (#​17258)

  • fix: destroy each items after siblings are resumed (#​17258)

v5.45.4

Compare Source

Patch Changes
  • chore: move DOM-related effect properties to effect.nodes (#​17293)

  • fix: allow $props.id() to occur after an await (#​17285)

  • fix: keep reactions up to date even when read outside of effect (#​17295)

v5.45.3

Compare Source

Patch Changes
  • add props to state_referenced_locally (#​17266)

  • fix: preserve node locations for better sourcemaps (#​17269)

  • fix: handle cross-realm Promises in hydratable (#​17284)

v5.45.2

Compare Source

Patch Changes
  • fix: array destructuring after await (#​17254)

  • fix: throw on invalid {@​tag}s (#​17256)

v5.45.1

Compare Source

Patch Changes
  • fix: link offscreen items and last effect in each block correctly (#​17240)

v5.45.0

Compare Source

Minor Changes

v5.44.1

Compare Source

Patch Changes
  • fix: await blockers before initialising const (#​17226)

  • fix: link offscreen items and last effect in each block correctly (#​17244)

  • fix: generate correct code for simple destructurings (#​17237)

  • fix: ensure each block animations don't mess with transitions (#​17238)

v5.44.0

Compare Source

Minor Changes

v5.43.15

Compare Source

Patch Changes
  • fix: don't execute attachments and attribute effects eagerly (#​17208)

  • chore: lift "flushSync cannot be called in effects" restriction (#​17139)

  • fix: store forked derived values (#​17212)

v5.43.14

Compare Source

Patch Changes
  • fix: correctly migrate named self closing slots (#​17199)

  • fix: error at compile time instead of at runtime on await expressions inside bindings/transitions/animations/attachments (#​17198)

  • fix: take async blockers into account for bindings/transitions/animations/attachments (#​17198)

v5.43.13

Compare Source

Patch Changes
  • fix: don't set derived values during time traveling (#​17200)

v5.43.12

Compare Source

Patch Changes
  • fix: maintain correct linked list of effects when updating each blocks (#​17191)

v5.43.11

Compare Source

Patch Changes
  • perf: don't use tracing overeager during dev (#​17183)

  • fix: don't cancel transition of already outroing elements (#​17186)

v5.43.10

Compare Source

Patch Changes
  • fix: avoid other batches running with queued root effects of main batch (#​17145)

v5.43.9

Compare Source

Patch Changes
  • fix: correctly handle functions when determining async blockers (#​17137)

  • fix: keep deriveds reactive after their original parent effect was destroyed (#​17171)

  • fix: ensure eager effects don't break reactions chain (#​17138)

  • fix: ensure async @const in boundary hydrates correctly (#​17165)

  • fix: take blockers into account when creating #await blocks (#​17137)

  • fix: parallelize async @consts in the template (#​17165)

v5.43.8

Compare Source

Patch Changes
  • fix: each block losing reactivity when items removed while promise pending (#​17150)

v5.43.7

Compare Source

Patch Changes
  • fix: properly defer document title until async work is complete (#​17158)

  • fix: ensure deferred effects can be rescheduled later on (#​17147)

  • fix: take blockers of components into account (#​17153)

v5.43.6

Compare Source

Patch Changes
  • fix: don't deactivate other batches (#​17132)

v5.43.5

Compare Source

Patch Changes
  • fix: ensure async static props/attributes are awaited (#​17120)

  • fix: wait on dependencies of async bindings (#​17120)

  • fix: await dependencies of style directives (#​17120)

v5.43.4

Compare Source

Patch Changes
  • chore: simplify connection/disconnection logic (#​17105)

  • fix: reconnect deriveds to effect tree when time-travelling (#​17105)

v5.43.3

Compare Source

Patch Changes
  • fix: ensure fork always accesses correct values (#​17098)

  • fix: change title only after any pending work has completed (#​17061)

  • fix: preserve symbols when creating derived rest properties (#​17096)

v5.43.2

Compare Source

Patch Changes
  • fix: treat each blocks with async dependencies as uncontrolled (#​17077)

v5.43.1

Compare Source

Patch Changes
  • fix: don't execute attachments and attribute effects eagerly (#​17208)

  • chore: lift "flushSync cannot be called in effects" restriction (#​17139)

  • fix: store forked derived values (#​17212)

v5.43.0

Compare Source

Minor Changes
Patch Changes
  • fix: settle batch after DOM updates (#​17054)

v5.42.3

Compare Source

Patch Changes
  • fix: handle <svelte:head> rendered asynchronously (#​17052)

  • fix: don't restore batch in #await (#​17051)

v5.42.2

Compare Source

Patch Changes
  • fix: better error message for global variable assignments (#​17036)

  • chore: tweak memoizer logic (#​17042)

v5.42.1

Compare Source

Patch Changes
  • fix: ignore fork discard() after commit() (#​17034)

v5.42.0

Compare Source

Minor Changes
Patch Changes
  • fix: always allow setContext before first await in component (#​17031)

  • fix: less confusing names for inspect errors (#​17026)

v5.41.4

Compare Source

Patch Changes
  • fix: take into account static blocks when determining transition locality (#​17018)

  • fix: coordinate mount of snippets with await expressions (#​17021)

  • fix: better optimization of await expressions (#​17025)

  • fix: flush pending changes after rendering failed snippet (#​16995)

v5.41.3

Compare Source

Patch Changes
  • chore: exclude vite optimized deps from stack traces (#​17008)

  • perf: skip repeatedly traversing the same derived (#​17016)

v5.41.2

Compare Source

Patch Changes
  • fix: keep batches alive until all async work is complete (#​16971)

  • fix: don't preserve reactivity context across function boundaries (#​17002)

  • fix: make $inspect logs come from the callsite (#​17001)

  • fix: ensure guards (eg. if, each, key) run before their contents (#​16930)

v5.41.1

Compare Source

Patch Changes
  • fix: place let: declarations before {@&#8203;const} declarations (#​16985)

  • fix: improve each_key_without_as error (#​16983)

  • chore: centralise branch management (#​16977)

v5.41.0

Compare Source

Minor Changes
  • feat: add $state.eager(value) rune (#​16849)
Patch Changes
  • fix: preserve <select> state while focused (#​16958)

  • chore: run boundary async effects in the context of the current batch (#​16968)

  • fix: error if each block has key but no as clause (#​16966)

v5.40.2

Compare Source

Patch Changes
  • fix: add hydration markers in pending branch of SSR boundary (#​16965)

v5.40.1

Compare Source

Patch Changes
  • chore: Remove sync-in-async warning for server rendering (#​16949)

v5.40.0

Compare Source

Minor Changes
  • feat: add createContext utility for type-safe context (#​16948)
Patch Changes
  • chore: simplify batch.apply() (#​16945)

  • fix: don't rerun async effects unnecessarily (#​16944)

v5.39.13

Compare Source

Patch Changes
  • fix: add missing type for fr attribute for radialGradient tags in svg (#​16943)

  • fix: unset context on stale promises (#​16935)

v5.39.12

Compare Source

Patch Changes
  • fix: better input cursor restoration for bind:value (#​16925)

  • fix: track the user's getter of bind:this (#​16916)

  • fix: generate correct SSR code for the case where pending is an attribute (#​16919)

  • fix: generate correct code for each blocks with async body (#​16923)

v5.39.11

Compare Source

Patch Changes
  • fix: flush batches whenever an async value resolves (#​16912)

v5.39.10

Compare Source

Patch Changes
  • fix: hydrate each blocks inside element correctly (#​16908)

  • fix: allow await in if block consequent and alternate (#​16890)

  • fix: don't replace rest props with $$props for excluded props (#​16898)

  • fix: correctly transform $derived private fields on server (#​16894)

  • fix: add UNKNOWN evaluation value before breaking for binding.initial===SnippetBlock (#​16910)

v5.39.9

Compare Source

Patch Changes
  • fix: flush when pending boundaries resolve (#​16897)

v5.39.8

Compare Source

Patch Changes
  • fix: check boundary pending attribute at runtime on server (#​16855)

  • fix: preserve tuple type in $state.snapshot (#​16864)

  • fix: allow await in svelte:boundary without pending (#​16857)

  • fix: update bind:checked error message to clarify usage with radio inputs (#​16874)

v5.39.7

Compare Source

Patch Changes
  • chore: simplify batch logic (#​16847)

  • fix: rebase pending batches when other batches are committed (#​16866)

  • fix: wrap async children in $$renderer.async (#​16862)

  • fix: silence label warning for buttons and anchor tags with title attributes (#​16872)

  • fix: coerce nullish <title> to empty string (#​16863)

v5.39.6

Compare Source

Patch Changes
  • fix: depend on reads of deriveds created within reaction (async mode) (#​16823)

  • fix: SSR regression of processing attributes of <select> and <option> (#​16821)

  • fix: async class: + spread attributes were compiled into sync server-side code (#​16834)

  • fix: ensure tick resolves within a macrotask (#​16825)

v5.39.5

Compare Source

Patch Changes
  • fix: allow {@&#8203;html await ...} and snippets with async content on the server (#​16817)

  • fix: use nginx SSI-compatible comments for $props.id() (#​16820)

v5.39.4

Compare Source

Patch Changes
  • fix: restore hydration state after await in <script> (#​16806)

v5.39.3

Compare Source

Patch Changes

v5.39.2

Compare Source

Patch Changes
  • fix: preserve SSR context when block expressions contain await (#​16791)

  • chore: bump some devDependencies (#​16787)

v5.39.1

Compare Source

Patch Changes
  • fix: add missing type for fr attribute for radialGradient tags in svg (#​16943)

  • fix: unset context on stale promises (#​16935)

v5.39.0

Compare Source

Minor Changes
Patch Changes
  • fix: correctly SSR hidden="until-found" (#​16773)

v5.38.10

Compare Source

Patch Changes
  • fix: flush effects scheduled during boundary's pending phase (#​16738)

v5.38.9

Compare Source

Patch Changes
  • chore: generate CSS hash using the filename (#​16740)

  • fix: correctly analyze <object.property> components (#​16711)

  • fix: clean up scheduling system (#​16741)

  • fix: transform input defaults from spread (#​16481)

  • fix: don't destroy contents of svelte:boundary unless the boundary is an error boundary (#​16746)

v5.38.8

Compare Source

Patch Changes
  • fix: send $effect.pending count to the correct boundary (#​16732)

v5.38.7

Compare Source

Patch Changes
  • fix: replace undefined with void(0) in CallExpressions (#​16693)

  • fix: ensure batch exists when resetting a failed boundary (#​16698)

  • fix: place store setup inside async body (#​16687)

v5.38.6

Compare Source

Patch Changes
  • fix: don't fail on flushSync while flushing effects (#​16674)

v5.38.5

Compare Source

Patch Changes
  • fix: ensure async deriveds always get dependencies from thennable (#​16672)

v5.38.3

Compare Source

Patch Changes
  • fix: ensure correct order of template effect values (#​16655)

  • fix: allow async {@&#8203;const} in more places (#​16643)

  • fix: properly catch top level await errors (#​16619)

  • perf: prune effects without dependencies (#​16625)

  • fix: only emit for_await_track_reactivity_loss in async mode (#​16644)

v5.38.2

Compare Source

Patch Changes
  • perf: run blocks eagerly during flush instead of aborting (#​16631)

  • fix: don't clone non-proxies in $inspect (#​16617)

  • fix: avoid recursion error when tagging circular references (#​16622)

v5.38.1

Compare Source

Patch Changes
  • fix: flush effects scheduled during boundary's pending phase (#​16738)

v5.38.0

Compare Source

Minor Changes
  • feat: allow await inside @const declarations (#​16542)
Patch Changes
  • fix: remount at any hydration error (#​16248)

  • chore: emit await_reactivity_loss in for await loops (#​16521)

  • fix: emit snippet_invalid_export instead of undefined_export for exported snippets (#​16539)

v5.37.3

Compare Source

Patch Changes
  • fix: reset attribute cache after setting corresponding property (#​16543)

v5.37.2

Compare Source

Patch Changes
  • fix: double event processing in firefox due to event object being garbage collected (#​16527)

  • fix: add bindable dimension attributes types to SVG and MathML elements (#​16525)

  • fix: correctly differentiate static fields before emitting duplicate_class_field (#​16526)

  • fix: prevent last_propagated_event from being DCE'd (#​16538)

v5.37.1

Compare Source

Patch Changes
  • chore: remove some todos (#​16515)

  • fix: allow await expressions inside {#await ...} argument (#​16514)

  • fix: append_styles in an effect to make them available on mount (#​16509)

  • chore: remove parser.template_untrimmed (#​16511)

  • fix: always inject styles when compiling as a custom element (#​16509)

v5.37.0

Compare Source

Minor Changes
  • feat: ignore component options in compileModule (#​16362)
Patch Changes
  • fix: always mark props as stateful (#​16504)

v5.36.17

Compare Source

Patch Changes
  • fix: throw on duplicate class field declarations (#​16502)

  • fix: add types for part attribute to svg attributes (#​16499)

v5.36.16

Compare Source

Patch Changes
  • fix: don't update a focused input with values from its own past (#​16491)

  • fix: don't destroy effect roots created inside of deriveds (#​16492)

v5.36.15

Compare Source

Patch Changes
  • fix: preserve dirty status of deferred effects (#​16487)

v5.36.14

Compare Source

Patch Changes
  • fix: keep input in sync when binding updated via effect (#​16482)

  • fix: rename form accept-charset attribute (#​16478)

  • fix: prevent infinite async loop (#​16482)

  • fix: exclude derived writes from effect abort and rescheduling (#​16482)

v5.36.13

Compare Source

Patch Changes
  • fix: ensure subscriptions are picked up correctly by deriveds (#​16466)

v5.36.12

Compare Source

Patch Changes
  • chore: move capture_signals to legacy module (#​16456)

v5.36.10

Compare Source

Patch Changes
  • fix: prevent batches from getting intertwined (#​16446)

v5.36.9

Compare Source

Patch Changes
  • fix: don't reexecute derived with no dependencies on teardown (#​16438)

  • fix: disallow export { foo as default } in <script module> (#​16447)

  • fix: move ownership validation into async component body (#​16449)

  • fix: allow async destructured deriveds (#​16444)

  • fix: move store setup/cleanup outside of async component body (#​16443)

v5.36.8

Compare Source

Patch Changes
  • fix: keep effect in the graph if it has an abort controller (#​16430)

  • chore: Switch payload.out to an array (#​16428)

v5.36.7

Compare Source

Patch Changes
  • fix: allow instrinsic <svelte:...> elements to inherit from SvelteHTMLElements (#​16424)

v5.36.6

Compare Source

Patch Changes
  • fix: delegate functions with shadowed variables if declared locally (#​16417)

  • fix: handle error in correct boundary after reset (#​16171)

  • fix: make <svelte:boundary> reset function a noop after the first call (#​16171)

v5.36.5

Compare Source

Patch Changes
  • fix: silence $inspect errors when the effect is about to be destroyed (#​16391)

  • fix: more informative error when effects run in an infinite loop (#​16405)

v5.36.4

Compare Source

Patch Changes
  • fix: avoid microtask in flushSync (#​16394)

  • fix: ensure compiler state is reset before compilation (#​16396)

v5.36.3

Compare Source

Patch Changes
  • fix: don't log await_reactivity_loss warning when signal is read in untrack (#​16385)

  • fix: better handle $inspect on array mutations (#​16389)

  • fix: leave proxied array length untouched when deleting properties (#​16389)

  • fix: update $effect.pending() immediately after a batch is removed (#​16382)

v5.36.2

Compare Source

Patch Changes
  • fix: add $effect.pending() to types (#​16376)

  • fix: add pending snippet to <svelte:boundary> types (#​16379)

v5.36.1

Compare Source

Patch Changes
  • fix: throw on duplicate class field declarations (#​16502)

  • fix: add types for part attribute to svg attributes (#​16499)

v5.36.0

Compare Source

Minor Changes
  • feat: support await in components when using the experimental.async compiler option (#​15844)
Patch Changes
  • fix: silence a11y warning for inert elements (#​16339)

  • chore: clean up a11y analysis code (#​16345)

v5.35.7

Compare Source

Patch Changes
  • fix: silence autofocus a11y warning inside <dialog> (#​16341)

  • fix: don't show adjusted error messages in boundaries (#​16360)

  • chore: replace inline regex with variable (#​16340)

v5.35.6

Compare Source

Patch Changes
  • chore: simplify reaction/source ownership tracking (#​16333)

  • chore: simplify internal component pop() (#​16331)

v5.35.5

Compare Source

Patch Changes
  • fix: associate sources in Spring/Tween/SvelteMap/SvelteSet with correct reaction (#​16325)

  • fix: re-evaluate derived props during teardown (#​16278)

v5.35.4

Compare Source

Patch Changes
  • fix: abort and reschedule effect processing after state change in user effect (#​16280)

v5.35.3

Compare Source

Patch Changes
  • fix: account for mounting when select_option in attribute_effect (#​16309)

  • fix: do not proxify the value assigned to a derived (#​16302)

v5.35.2

Compare Source

Patch Changes

v5.35.1

Compare Source

Patch Changes
  • feat: add parent hierarchy to __svelte_meta objects (#​16255)

v5.35.0

Compare Source

Minor Changes
Patch Changes

v5.34.9

Compare Source

Patch Changes
  • fix: ensure unowned deriveds can add themselves as reactions while connected (#​16249)

v5.34.8

Compare Source

Patch Changes
  • fix: untrack $inspect.with and add check for unsafe mutation (#​16209)

  • fix: use fine grained for template if the component is not explicitly in legacy mode (#​16232)

  • lift unsafe_state_mutation constraints for SvelteSet, SvelteMap, SvelteDate, SvelteURL and SvelteURLSearchParams created inside the derived (#​16221)

v5.34.7

Compare Source

Patch Changes
  • fix: address css class matching regression (#​16204)

v5.34.6

Compare Source

Patch Changes
  • fix: match class and style directives against attribute selector (#​16179)

v5.34.5

Compare Source

Patch Changes
  • fix: keep spread non-delegated event handlers up to date (#​16180)

  • fix: remove undefined attributes on hydration (#​16178)

  • fix: ensure sources within nested effects still register correctly (#​16193)

  • fix: avoid shadowing a variable in dynamic components (#​16185)

v5.34.4

Compare Source

Patch Changes
  • fix: don't set state withing with_parent in proxy (#​16176)

  • fix: use compiler-driven reactivity in legacy mode template expressions (#​16100)

v5.34.3

Compare Source

Patch Changes
  • fix: don't eagerly execute deriveds on resume (#​16150)

  • fix: prevent memory leaking signals in legacy mode (#​16145)

  • fix: don't define error.message if it's not configurable (#​16149)

v5.34.2

Compare Source

Patch Changes
  • fix: add missing typings for some dimension bindings (#​16142)

  • fix: prune typescript class field declarations (#​16154)

v5.34.1

Compare Source

Patch Changes
  • fix: correctly tag private class state fields (#​16132)

v5.34.0

Compare Source

Minor Changes
  • feat: add source name logging to $inspect.trace (#​16060)
Patch Changes
  • fix: add command and commandfor to HTMLButtonAttributes (#​16117)

  • fix: better $inspect.trace() output (#​16131)

  • fix: properly hydrate dynamic css props components and remove element removal (#​16118)

v5.33.19

Compare Source

Patch Changes
  • fix: reset is_flushing if flushSync is called and there's no scheduled effect (#​16119)

v5.33.18

Compare Source

Patch Changes

v5.33.17

Compare Source

Patch Changes
  • chore: update acorn parser ecmaVersion to parse import attributes (#​16098)

v5.33.16

Compare Source

Patch Changes
  • fix: visit expression when destructuring state declarations (#​16081)

  • fix: move xmlns attribute from SVGAttributes to to DOMAttributes (#​16080)

v5.33.15

Compare Source

Patch Changes
  • fix: invoke parent boundary of deriveds that throw (#​16091)

v5.33.14

Compare Source

Patch Changes
  • Revert "feat: enable TS autocomplete for Svelte HTML element definitions" (#​16063)

  • fix: destructuring snippet arguments (#​16068)

v5.33.13

Compare Source

Patch Changes
  • fix: avoid recursion error in EachBlock visitor (#​16058)

v5.33.12

Compare Source

Patch Changes
  • fix: correctly transform reassignments to class fields in SSR mode (#​16051)

v5.33.11

Compare Source

Patch Changes
  • fix: treat transitive dependencies of each blocks as mutable in legacy mode if item is mutated (#​16038)

v5.33.10

Compare Source

Patch Changes
  • fix: use fill: 'forwards' on transition animations to prevent flicker (#​16035)

v5.33.9

Compare Source

Patch Changes
  • fix: put expressions in effects unless known to be static (#​15792)

v5.33.8

Compare Source

Patch Changes
  • fix: only select_option if 'value' is in next (#​16032)

v5.33.7

Compare Source

Patch Changes
  • fix: bind:value to select with stores (#​16028)

v5.33.6

Compare Source

Patch Changes
  • fix: falsy attachments on components (#​16021)

  • fix: correctly mark elements as selected during SSR (#​16017)

v5.33.5

Compare Source

Patch Changes
  • fix: handle derived destructured iterators (#​16015)

  • fix: avoid rerunning attachments when unrelated spread attributes change (#​15961)

v5.33.4

Compare Source

Patch Changes
  • fix: narrow defaultChecked to boolean (#​16009)

  • fix: warn when using rest or identifier in custom elements without props option (#​16003)

v5.33.3

Compare Source

Patch Changes
  • fix: allow using typescript in customElement.extend option (#​16001)

  • fix: cleanup event handlers on media elements (#​16005)

v5.33.2

Compare Source

Patch Changes
  • fix: correctly parse escaped unicode characters in css selector (#​15976)

  • fix: don't mark deriveds as clean if updating during teardown (#​15997)

v5.33.1

Compare Source

Patch Changes
  • fix: reset is_flushing if flushSync is called and there's no scheduled effect (#​16119)

v5.33.0

Compare Source

Minor Changes
  • feat: XHTML compliance (#​15538)

  • feat: add fragments: 'html' | 'tree' option for wider CSP compliance (#​15538)

v5.32.2

Compare Source

Patch Changes
  • chore: simplify <pre> cleaning (#​15980)

  • fix: attach __svelte_meta correctly to elements following a CSS wrapper (#​15982)

  • fix: import untrack directly from client in svelte/attachments (#​15974)

v5.32.1

Compare Source

Patch Changes
  • Warn when an invalid <select multiple> value is given (#​14816)

v5.32.0

Compare Source

Minor Changes
  • feat: warn on implicitly closed tags (#​15932)

  • feat: attachments fromAction utility (#​15933)

Patch Changes
  • fix: only re-run directly applied attachment if it changed (#​15962)

v5.31.1

Compare Source

Patch Changes
  • fix: avoid auto-parenthesis for special-keywords-only MediaQuery (#​15937)

v5.31.0

Compare Source

Minor Changes
  • feat: allow state fields to be declared inside class constructors (#​15820)
Patch Changes
  • fix: Add missing AttachTag in Tag union type inside the AST namespace from "svelte/compiler" (#​15946)

v5.30.2

Compare Source

Patch Changes
  • fix: falsy attachments types (#​15939)

  • fix: handle more hydration mismatches (#​15851)

v5.30.1

Compare Source

Patch Changes
  • fix: add typeParams to SnippetBlock for legacy parser (#​15921)

v5.30.0

Compare Source

Minor Changes
  • feat: allow generics on snippets (#​15915)

v5.29.0

Compare Source

Minor Changes

v5.28.7

Compare Source

Patch Changes
  • fix: remove unncessary guards that require CSP privilege when removing event attributes (#​15846)

  • fix: rewrite destructuring logic to handle iterators (#​15813)

v5.28.6

Compare Source

Patch Changes
  • fix: use transform.read for ownership_validator.mutation array (#​15848)

  • fix: don't redeclare $slots (#​15849)

v5.28.5

Compare Source

Patch Changes
  • fix: proxify the value in assignment shorthands to the private field (#​15862)

  • fix: more frequently update bind:buffered to actual value (#​15874)

v5.28.4

Compare Source

Patch Changes
  • fix: treat nullish expression as empty string (#​15901)

  • fix: prevent invalid BigInt calls from blowing up at compile time (#​15900)

  • fix: warn on bidirectional control characters (#​15893)

  • fix: emit right error for a shadowed invalid rune (#​15892)

v5.28.3

Compare Source

Patch Changes
  • chore: avoid microtasks when flushing sync (#​15895)

  • fix: improve error message for migration errors when slot would be renamed (#​15841)

  • fix: allow characters in the supplementary special-purpose plane (#​15823)

v5.28.2

Compare Source

Patch Changes
  • fix: don't mark selector lists inside :global with multiple items as unused (#​15817)

v5.28.1

Compare Source

Patch Changes
  • fix: ensure <svelte:boundary> properly removes error content in production mode (#​15793)

  • fix: update_version after delete if source is undefined and prop in target (#​15796)

  • fix: emit error on wrong placement of the :global block selector (#​15794)

v5.28.0

Compare Source

Minor Changes
  • feat: partially evaluate more expressions (#​15781)

v5.27.3

Compare Source

Patch Changes
  • fix: use function declaration for snippets in server output to avoid TDZ violation (#​15789)

v5.27.2

Compare Source

Patch Changes
  • chore: use pkg.imports for common modules (#​15787)

v5.27.1

Compare Source

Patch Changes
  • chore: default params for html blocks (#​15778)

  • fix: correct suggested type for custom events without detail (#​15763)

  • fix: Throw on unrendered snippets in dev (#​15766)

  • fix: avoid unnecessary read version increments (#​15777)

v5.27.0

Compare Source

Minor Changes
  • feat: partially evaluate certain expressions (#​15494)
Patch Changes
  • fix: relax :global selector list validation (#​15762)

v5.26.3

Compare Source

Patch Changes
  • fix: correctly validate head snippets on the server (#​15755)

  • fix: ignore mutation validation for props that are not proxies in more cases (#​15759)

  • fix: allow self-closing tags within math namespace (#​15761)

v5.26.2

Compare Source

Patch Changes
  • fix: correctly validate undefined snippet params with default value (#​15750)

v5.26.1

Compare Source

Patch Changes
  • fix: update state_referenced_locally message (#​15733)

v5.26.0

Compare Source

Minor Changes
  • feat: add css.hasGlobal to compile output (#​15450)
Patch Changes
  • fix: add snippet argument validation in dev (#​15521)

v5.25.12

Compare Source

Patch Changes
  • fix: improve internal_set versioning mechanic (#​15724)

  • fix: don't transform reassigned state in labeled statement in $derived (#​15725)

v5.25.11

Compare Source

Patch Changes
  • fix: handle hydration mismatches in await blocks (#​15708)

  • fix: prevent ownership warnings if the fallback of a bindable is used (#​15720)

v5.25.10

Compare Source

Patch Changes
  • fix: set deriveds as CLEAN if they are assigned to (#​15592)

  • fix: better scope :global() with nesting selector & (#​15671)

v5.25.9

Compare Source

Patch Changes
  • fix: allow $.state and $.derived to be treeshaken (#​15702)

  • fix: rework binding ownership validation (#​15678)

v5.25.8

Compare Source

Patch Changes
  • fix: address untracked_writes memory leak (#​15694)

v5.25.7

Compare Source

Patch Changes
  • fix: ensure clearing of old values happens independent of root flushes (#​15664)

v5.25.6

Compare Source

Patch Changes
  • fix: ignore generic type arguments while creating AST (#​15659)

  • fix: better consider component and its snippets during css pruning (#​15630)

v5.25.5

Compare Source

Patch Changes
  • fix: add setters to $derived class properties (#​15628)

  • fix: silence assignment warning on more function bindings (#​15644)

  • fix: make sure CSS is preserved during SSR with bindings (#​15645)

v5.25.4

Compare Source

Patch Changes
  • fix: support TS type assertions (#​15642)

  • fix: ensure undefined class still applies scoping class, if necessary (#​15643)

v5.25.3

Compare Source

Patch Changes
  • fix: prevent state runes from being called with spread (#​15585)

v5.25.2

Compare Source

Patch Changes
  • feat: migrate reassigned deriveds to $derived (#​15581)

v5.25.1

Compare Source

Patch Changes
  • fix: improve internal_set versioning mechanic (#​15724)

  • fix: don't transform reassigned state in labeled statement in $derived (#​15725)

v5.25.0

Compare Source

Minor Changes

v5.24.1

Compare Source

Patch Changes
  • fix: use get in constructor for deriveds (#​15300)

  • fix: ensure toStore root effect is connected to correct parent effect (#​15574)

v5.24.0

Compare Source

Minor Changes
  • feat: allow state created in deriveds/effects to be written/read locally without self-invalidation (#​15553)
Patch Changes
  • fix: check if DOM prototypes are extensible (#​15569)

  • Keep inlined trailing JSDoc comments of properties when running svelte-migrate (#​15567)

  • fix: simplify set calls for proxyable values (#​15548)

  • fix: don't depend on deriveds created inside the current reaction (#​15564)

v5.23.2

Compare Source

Patch Changes
  • fix: don't hoist listeners that access non hoistable snippets (#​15534)

v5.23.1

Compare Source

Patch Changes
  • fix: invalidate parent effects when child effects update parent dependencies (#​15506)

  • fix: correctly match :has() selector during css pruning (#​15277)

  • fix: replace undefined with void 0 to avoid edge case (#​15511)

  • fix: allow global-like pseudo-selectors refinement (#​15313)

  • chore: don't distribute unused types definitions (#​15473)

  • fix: add files and group to HTMLInputAttributes in elements.d.ts (#​15492)

  • fix: throw rune_invalid_arguments_length when $state.raw() is used with more than 1 arg (#​15516)

v5.23.0

Compare Source

Minor Changes
  • fix: make values consistent between effects and their cleanup functions (#​15469)

v5.22.6

Compare Source

Patch Changes
  • fix: skip log_if_contains_state if only logging literals (#​15468)

  • fix: Add closedby property to HTMLDialogAttributes type (#​15458)

  • fix: null and warnings for local handlers (#​15460)

v5.22.5

Compare Source

Patch Changes
  • fix: memoize clsx calls (#​15456)

  • fix: respect svelte-ignore hydration_attribute_changed on elements with spread attributes (#​15443)

  • fix: always use setAttribute when setting style (#​15323)

  • fix: make style: directive and CSS handling more robust (#​15418)

v5.22.4

Compare Source

Patch Changes
  • fix: never deduplicate expressions in templates (#​15451)

v5.22.3

Compare Source

Patch Changes
  • fix: run effect roots in tree order (#​15446)

v5.22.2

Compare Source

Patch Changes
  • fix: correctly set is_updating before flushing root effects (#​15442)

v5.22.1

Compare Source

Patch Changes
  • chore: switch acorn-typescript plugin (#​15393)

v5.22.0

Compare Source

Minor Changes
  • feat: Add idPrefix option to render (#​15428)
Patch Changes
  • fix: make dialog element and role interactive (#​15429)

v5.21.0

Compare Source

Minor Changes
  • chore: Reduce hydration comment for {:else if} (#​15250)
Patch Changes
  • fix: disallow bind:group to snippet parameters (#​15401)

v5.20.5

Compare Source

Patch Changes
  • fix: allow double hyphen css selector names (#​15384)

  • fix: class:directive not working with $restProps #​15386 (#​15389) fix: spread add an useless cssHash on non-scoped element

  • fix: catch error on @​const tag in svelte:boundary in DEV mode (#​15369)

  • fix: allow for duplicate var declarations (#​15382)

  • fix : bug "$0 is not defined" on svelte:element with a function call on class (#​15396)

v5.20.4

Compare Source

Patch Changes
  • fix: update types and inline docs for flushSync (#​15348)

v5.20.3

Compare Source

Patch Changes
  • fix: allow @const inside #key (#​15377)

  • fix: remove unnecessary ?? '' on some expressions (#​15287)

  • fix: correctly override class attributes with class directives (#​15352)

v5.20.2

Compare Source

Patch Changes
  • chore: remove unused options.uid in render (#​15302)

  • fix: do not warn for binding_property_non_reactive if binding is a store in an each (#​15318)

  • fix: prevent writable store value from becoming a proxy when reassigning using $-prefix (#​15283)

  • fix: muted reactive without bind and select/autofocus attributes working with function calls (#​15326)

  • fix: ensure input elements and elements with dir attribute are marked as non-static (#​15259)

  • fix: fire delegated events on target even it was disabled in the meantime (#​15319)

v5.20.1

Compare Source

Patch Changes
  • fix: ensure AST analysis on svelte.js modules succeeds (#​15297)

  • fix: ignore typescript abstract methods (#​15267)

  • fix: correctly ssr component in svelte:head with $props.id() or css='injected' (#​15291)

v5.20.0

Compare Source

Minor Changes
  • feat: SSR-safe ID generation with $props.id() (#​15185)
Patch Changes
  • fix: take private and public into account for constant_assignment of derived state (#​15276)

  • fix: value/checked not correctly set using spread (#​15239)

  • chore: tweak effect self invalidation logic, run transition dispatches without reactive context (#​15275)

  • fix: use importNode to clone templates for Firefox (#​15272)

  • fix: recurse into $derived for ownership validation (#​15166)

v5.19.10

Compare Source

Patch Changes
  • fix: when re-connecting unowned deriveds, remove their unowned flag (#​15255)

  • fix: allow mutation of private derived state (#​15228)

v5.19.9

Compare Source

Patch Changes
  • fix: ensure unowned derived dependencies are not duplicated when reactions are skipped (#​15232)

  • fix: hydrate href that is part of spread attributes (#​15226)

v5.19.8

Compare Source

Patch Changes
  • fix: properly set value property of custom elements (#​15206)

  • fix: ensure custom element updates don't run in hydration mode (#​15217)

  • fix: ensure tracking returns true, even if in unowned (#​15214)

v5.19.7

Compare Source

Patch Changes
  • chore: remove unused code from signal logic (#​15195)

  • fix: encounter svelte:element in blocks as sibling during pruning css (#​15165)

v5.19.6

Compare Source

Patch Changes
  • fix: do not prune selectors like :global(.foo):has(.scoped) (#​15140)

  • fix: don't error on slot prop inside block inside other component (#​15148)

  • fix: ensure reactions are correctly attached for unowned deriveds (#​15158)

  • fix: silence a11y attribute warnings when spread attributes present (#​15150)

  • fix: prevent false-positive ownership validations due to hot reload (#​15154)

  • fix: widen ownership when calling setContext (#​15153)

v5.19.5

Compare Source

Patch Changes
  • fix: improve derived connection to ownership graph (#​15137)

  • fix: correctly look for sibling elements inside blocks and components when pruning CSS (#​15106)

v5.19.4

Compare Source

Patch Changes
  • fix: Add bind:focused property to HTMLAttributes type (#​15122)

  • fix: lazily connect derievds (in deriveds) to their parent (#​15129)

  • fix: disallow state/derived in const tags (#​15115)

v5.19.3

Compare Source

Patch Changes
  • fix: don't throw for undefined non delegated event handlers (#​15087)

  • fix: consistently set value to blank string when value attribute is undefined (#​15057)

  • fix: optimise || expressions in template (#​15092)

  • fix: correctly handle novalidate attribute casing (#​15083)

  • fix: expand boolean attribute support (#​15095)

  • fix: avoid double deriveds in component props (#​15089)

  • fix: add check for is attribute to correctly detect custom elements (#​15086)

v5.19.2

Compare Source

Patch Changes
  • fix: address regression with untrack (#​15079)

v5.19.1

Compare Source

Patch Changes
  • fix: when re-connecting unowned deriveds, remove their unowned flag (#​15255)

  • fix: allow mutation of private derived state (#​15228)

v5.19.0

Compare Source

Minor Changes
  • feat: Expose ClassValue from svelte/elements (#​15035)
Patch Changes
  • fix: create fewer deriveds for concatenated strings (#​15041)

  • fix: correctly parse leading comments in function binding (#​15020)

v5.18.0

Compare Source

Minor Changes
  • feat: allow <template> elements to contain any child (#​15007)
Patch Changes
  • fix: ensure resume effects are scheduled in topological order (#​15012)

  • fix: bump esrap (#​15015)

  • fix: remove listener on bind_current_time teardown (#​15013)

v5.17.5

Compare Source

Patch Changes
  • feat: allow const tag inside svelte:boundary (#​14993)

  • fix: ensure signal write invalidation within effects is consistent (#​14989)

v5.17.4

Compare Source

Patch Changes
  • fix: never consider inert boundary effects (#​14999)

  • fix: store access on component destroy (#​14968)

  • fix: correctly transform pre with no content (#​14973)

  • fix: wrap each block expression in derived to encapsulate effects (#​14967)

v5.17.3

Compare Source

Patch Changes
  • fix: reset dependency read versions after reaction execution (#​14964)

v5.17.2

Compare Source

Patch Changes
  • fix: account for parent scale when animating elements (#​14957)

  • fix: apply overflow: hidden style when transitioning elements, where necessary (#​14930)

  • fix: properly add owners to function bindings (#​14962)

v5.17.1

Compare Source

Patch Changes
  • fix: remove bindable prop validation (#​14946)

  • chore: tweak "invalid assignment" compiler error message (#​14955)

  • fix: silence false-positive stale value warning (#​14958)

v5.17.0

Compare Source

Minor Changes
  • feat: allow non-numeric values to be tweened by snapping immediately to new value (#​14941)
Patch Changes
  • fix: handle default values in object destructuring within "each" blocks when using characters like "}" and "]" (#​14554)

  • fix: account for min-width/height in slide transition (#​14942)

  • fix: prevent long delays causing erratic spring behaviour (#​14940)

  • feat: warn on using slide transition with table elements (#​14936)

  • chore: improve signal performance by reducing duplicate deps (#​14945)

v5.16.6

Compare Source

Patch Changes
  • fix: Make Tween duration 0 set current to target immediately (#​14937)

  • fix: guard against customElements being unavailable in browser extension contexts (#​14933)

  • fix: treat inert as a boolean attribute (#​14935)

  • fix: remove leading newline from <pre> contents (#​14922)

v5.16.5

Compare Source

Patch Changes
  • fix: inherit correct namespace for <title> elements (#​14817)

  • fix: don't throw bind_invalid_export if there's also a bindable prop with the same name (#​14813)

v5.16.4

Compare Source

Patch Changes
  • fix: use cached indexOf array prototype method internally (#​14912)

  • fix: make Tween work with continuous target changes (#​14895)

v5.16.3

Compare Source

Patch Changes
  • fix: correctly parse each with loose parser (#​14887)

  • fix: apply clsx logic to custom element class attributes (#​14907)

v5.16.2

Compare Source

Patch Changes
  • fix: ensure disconnected deriveds correctly connect again (#​14899)

  • fix: correctly highlight sources reassigned inside trace (#​14811)

v5.16.1

Compare Source

Patch Changes
  • fix: ensure unowned deriveds correctly get re-linked to the graph (#​14855)

  • fix: ensure $inspect.trace works correctly with null values (#​14853)

v5.16.0

Compare Source

Minor Changes
  • feat: allow class attribute to be an object or array, using clsx (#​14714)
Patch Changes
  • fix: don't include keyframes in global scope in the keyframes to rename (#​14822)

v5.15.0

Compare Source

Minor Changes
  • feat: add "worker" exports condition to better support bundling for worker-based environments (#​14779)

v5.14.6

Compare Source

Patch Changes
  • fix: treeshake $inspect.trace code if unused in modules (#​14774)

  • fix: Improve typescript DX for $inspect, $props, $bindable, and $host (#​14777)

v5.14.5

Compare Source

Patch Changes
  • fix: bump esrap dependency (#​14765)

  • fix: ensure svg namespace for <a> elements is correct (#​14756)

  • fix: treeshake $inspect.trace code if unused (#​14770)

v5.14.4

Compare Source

Patch Changes
  • fix: remove implements from class declarations (#​14749)

  • fix: remove unwanted properties from both replaced and unreplaced nodes (#​14744)

v5.14.3

Compare Source

Patch Changes
  • fix: bump esrap, prevent malformed AST (#​14742)

  • fix: compare array contents for equality mismatch detections, not the arrays themselves (#​14738)

v5.14.2

Compare Source

Patch Changes
  • fix: correctly highlight first rerun of $inspect.trace (#​14734)

  • chore: more loose parser improvements (#​14733)

v5.14.1

Compare Source

Patch Changes
  • fix: improve unowned derived performance (#​14724)

v5.14.0

Compare Source

Minor Changes

v5.13.0

Compare Source

Minor Changes
  • feat: add outro option to unmount (#​14540)

  • feat: provide loose parser mode (#​14691)

v5.12.0

Compare Source

Minor Changes
  • feat: expose more AST types from "svelte/compiler" (#​14601)
Patch Changes
  • fix: don't add parenthesis to media query if already present (#​14699)

  • fix: ensure if block paths retain correct template namespacing (#​14685)

v5.11.3

Compare Source

Patch Changes
  • fix: allow unquoted slash in attributes (#​14615)

  • fix: better handle hydration of script/style elements (#​14683)

  • fix: make defaultValue work with spread (#​14640)

  • fix: avoid mutation validation for invalidate_inner_signals (#​14688)

v5.11.2

Compare Source

Patch Changes
  • fix: correctly handle ssr for reactivity/window (#​14681)

v5.11.1

Compare Source

Patch Changes
  • fix: account for global block in is_empty (#​14677)

  • fix: remove overzealous reactive_declaration_non_reactive_property warning (#​14663)

v5.11.0

Compare Source

Minor Changes
  • feat: add svelte/reactivity/window module (#​14660)
Patch Changes
  • fix: take into account registration state when setting custom element props (#​14508)

v5.10.1

Compare Source

Patch Changes
  • fix: ensure snippet hoisting works in the correct scope (#​14642)

  • fix: ensure $state.snapshot clones holey arrays correctly (#​14657)

  • fix: restore input binding selection position (#​14649)

  • fix: transform everything that is not a selector inside :global (#​14577)

  • Overwrite Spring.#last_value when using .set() with {instant: true} (#​14656)

  • fix: don't emit assignment warnings for bindings (#​14651)

v5.10.0

Compare Source

Minor Changes
  • feat: provide links to documentation for errors/warnings (#​14629)
Patch Changes
  • fix: allow exports with source from script module even if no bind is present (#​14620)

  • fix: deconflict get_name for literal class properties (#​14607)

v5.9.1

Compare Source

Patch Changes
  • fix: mark subtree dynamic for bind with sequence expressions (#​14626)

v5.9.0

Compare Source

Minor Changes
  • feat: add support for bind getters/setters (#​14307)
Patch Changes
  • fix: always run if block code the first time (#​14597)

v5.8.1

Compare Source

Patch Changes
  • fix: reinstate missing prefersReducedMotion export (#​14586)

v5.8.0

Compare Source

Minor Changes
  • feat: add Spring and Tween classes to svelte/motion (#​11519)

v5.7.1

Compare Source

Patch Changes
  • fix: ensure bindings always take precedence over spreads (#​14575)

v5.7.0

Compare Source

Minor Changes
  • feat: add createSubscriber function for creating reactive values that depend on subscriptions (#​14422)

  • feat: add reactive MediaQuery class, and a prefersReducedMotion class instance (#​14422)

Patch Changes
  • fix: treat undefined and null the same for the initial input value (#​14562)

v5.6.2

Compare Source

Patch Changes
  • chore: make if blocks tree-shakable (#​14549)

v5.6.1

Compare Source

Patch Changes
  • fix: handle static form values in combination with default values (#​14555)

v5.6.0

Compare Source

Minor Changes
  • feat: support defaultValue/defaultChecked for inputs (#​14289)

v5.5.4

Compare Source

Patch Changes
  • fix: better error messages for invalid HTML trees (#​14445)

  • fix: remove spreaded event handlers when they become nullish (#​14546)

  • fix: respect the unidirectional nature of time (#​14541)

v5.5.3

Compare Source

Patch Changes
  • fix: don't try to add owners to non-$state class fields (#​14533)

  • fix: capture infinite_loop_guard in error boundary (#​14534)

  • fix: proxify values when assigning using ||=, &&= and ??= operators (#​14273)

v5.5.2

Compare Source

Patch Changes
  • fix: use correct reaction when lazily creating deriveds inside SvelteDate (#​14525)

v5.5.0

Compare Source

Minor Changes
  • feat: allow snippets to be exported from module scripts (#​14315)
Patch Changes
  • fix: ignore TypeScript generics on variables (#​14509)

v5.4.0

Compare Source

Minor Changes

v5.3.2

Compare Source

Patch Changes
  • fix: correctly prune CSS for elements inside snippets (#​14494)

  • fix: render attributes during SSR regardless of case (#​14492)

v5.3.1

Compare Source

Patch Changes
  • fix: treat spread elements the same as call expressions (#​14488)

  • fix: correctly increment/decrement bigints (#​14485)

v5.3.0

Compare Source

Minor Changes
  • feat: add error boundaries with <svelte:boundary> (#​14211)

v5.2.12

Compare Source

Patch Changes
  • fix: upgrade to esm-env 1.2.1 to fix issues with non-Vite setups (#​14470)

  • fix: prevent infinite loops when pruning CSS (#​14474)

  • fix: generate correct code when encountering object expression statement (#​14480)

v5.2.11

Compare Source

Patch Changes
  • fix: ignore text and expressions outside the template when validating HTML (#​14468)

  • fix: better account for render tags when pruning CSS (#​14456)

v5.2.10

Compare Source

Patch Changes
  • fix: correctly remove unused selectors in middle of selector lists (#​14448)

  • chore: upgrade esm-env for Vite 6 support (#​14460)

  • fix: strip exported TypeScript function overloads (#​14458)

v5.2.9

Compare Source

Patch Changes
  • fix: show :then block for null/undefined value (#​14440)

  • fix: relax html parent validation (#​14442)

  • fix: prevent memory leak when creating deriveds inside untrack (#​14443)

  • fix: disregard TypeScript nodes when pruning CSS (#​14446)

v5.2.8

Compare Source

Patch Changes
  • fix: correctly prune each blocks (#​14403)

  • fix: provide temporary LegacyComponentType (#​14257)

  • fix: attach spread attribute events synchronously (#​14387)

  • fix: ensure last empty text node correctly hydrates (#​14425)

  • fix: correctly prune key blocks (#​14403)

v5.2.7

Compare Source

Patch Changes
  • fix: always use set for private identifiers (#​14378)

v5.2.6

Compare Source

Patch Changes
  • fix: remove template expression inlining (#​14374)

v5.2.5

Compare Source

Patch Changes
  • fix: correctly handle srcObject attribute on video elements (#​14369)

  • add contentvisibilityautostatechange event to element definitions (#​14373)

  • fix: tighten up export default validation (#​14368)

  • fix: include method definitions in class private fields (#​14365)

v5.2.4

Compare Source

Patch Changes
  • fix: ensure internal cloning can work circular values (#​14347)

  • fix: correctly update dynamic member expressions (#​14359)

  • fix: ensure is_pure takes into account $effect.tracking() (#​14333)

  • fix: coerce value to number when hydrating range/number input with changed value (#​14349)

v5.2.3

Compare Source

Patch Changes
  • fix: ensure dynamic call expressions correctly generate output (#​14345)

v5.2.2

Compare Source

Patch Changes
  • fix: treat property accesses of literals as pure (#​14325)

v5.2.1

Compare Source

Patch Changes
  • fix: upgrade to esm-env 1.2.1 to fix issues with non-Vite setups (#​14470)

  • fix: prevent infinite loops when pruning CSS (#​14474)

  • fix: generate correct code when encountering object expression statement (#​14480)

v5.2.0

Compare Source

Minor Changes
  • feat: better inlining of static attributes (#​14269)

v5.1.17

Compare Source

Patch Changes
  • fix: account for :has(...) as part of :root (#​14229)

  • fix: prevent nested pseudo class from being marked as unused (#​14229)

  • fix: use strict equality for key block comparisons in runes mode (#​14285)

  • fix: bump is-reference dependency to fix import.meta bug (#​14286)

v5.1.16

Compare Source

Patch Changes
  • fix: don't wrap pseudo classes inside :global(...) with another :global(...) during migration (#​14267)

  • fix: bail on named slots with that have reserved keywords during migration (#​14278)

v5.1.15

Compare Source

Patch Changes
  • fix: consider static attributes that are inlined in the template (#​14249)

v5.1.14

Compare Source

Patch Changes
  • fix: migration script messing with attributes (#​14260)

  • fix: do not treat reassigned synthetic binds as state in runes mode (#​14236)

  • fix: account for mutations in script module in ownership check (#​14253)

  • fix: consider img with loading attribute not static (#​14237)

v5.1.13

Compare Source

Patch Changes
  • fix: add migration task when there's a variable named that would conflict with a rune (#​14216)

  • fix: consider valueOf in the reactive methods of SvelteDate (#​14227)

  • fix: handle sibling combinators within :has (#​14213)

  • fix: consider variables with synthetic store sub as state (#​14195)

  • fix: read index as a source in legacy keyed each block (#​14208)

  • fix: account for shadowing children slot during migration (#​14224)

  • fix: ensure explicit nesting selector is always applied (#​14193)

  • fix: add lang="ts" attribute during migration if needed (#​14222)

v5.1.12

Compare Source

Patch Changes
  • fix: ignore as type expressions on property definitions (#​14181)

  • fix: restore active reaction if then block throws (#​14191)

  • chore: adds legacy mode flag reducing bundle size in runes mode only apps (#​14180)

v5.1.11

Compare Source

Patch Changes
  • fix: error on TypeScript's readonly modifier (#​14153)

  • fix: remove scoping for :not selectors (#​14177)

v5.1.10

Compare Source

Patch Changes
  • fix: ensure non-matching elements are scoped for :not(...) selector (#​13999)

  • fix: ensure video elements autoplay in safari (#​14095)

  • fix: ensure trailing multiline comments on props produce correct code (#​14143#issuecomment-2455702689) (#​14143)

  • fix: correctly infer <a> tag namespace (#​14134)

  • fix: check options namespace for top level svelte:elements (#​14101)

  • fix: ensure migrate keeps inline/trailing comments in $props type definition (#​14143)

  • fix: update links in JSDoc (#​14165)

  • fix: ensure SvelteMap and SvelteSet work with generators in dev (#​14103)

  • fix: only output the key for each_key_duplicate (#​14147)

  • fix: prevent migrated snippet from shadow snippet prop (#​14127)

  • fix: pass along anchor in legacy class wrappers (#​14100)

  • fix: recognize all custom element prop definitions (#​14084)

  • fix: migrate multiple declarations with only some exported correctly (#​14126)

v5.1.9

Compare Source

Patch Changes
  • fix: ensure transitions are applied to nested elements (#​14080)

v5.1.8

Compare Source

Patch Changes
  • fix: ensure compiler statements are correctly included (#​14074)

v5.1.7

Compare Source

Patch Changes
  • fix: ensure each block inert items are disposed of if the each block is also inert (#​13930)

  • fix: allow warningFilter option for compileModule (#​14066)

  • fix: ensure onMount correctly fires when new expressions are used (#​14049)

  • fix: wrap :id, :where``:not and :has with :global during migration (#​13850)

  • fix: ensure custom element attribute/prop changes are in their own context (#​14016)

v5.1.6

Compare Source

Patch Changes
  • fix: ensure child effects are destroyed before their deriveds (#​14043)

v5.1.5

Compare Source

Patch Changes
  • fix: replace typo in compiler error messages (#​14044)

  • fix: preserve the separator between selectors when an unused selector is in between (#​13954)

  • fix: more robust re-subscribe detection for fromStore (#​13995)

  • fix: allow to pass in TS preference to migration (#​13929)

  • fix: extend derived/state validation error to indirect exports (#​14039)

  • fix: minify inject CSS in prod mode (#​14006)

  • fix: ensure toStore subscription correctly syncs latest value (#​14015)

  • fix: don't access requestAnimationFrame until needed to reduce need for mocks during testing (#​14040)

  • fix: ensure element effects are executed in the correct order (#​14038)

  • fix: make compiler error extend from Error (#​14036)

v5.1.4

Compare Source

Patch Changes
  • fix: add empty stack to CompileDiagnostic to show error on build (#​13942)

  • fix: ensure effect_tracking correctly handles tracking reactions (#​14005)

  • fix: update broken links (#​13944)

  • fix: more exhaustive check during SvelteMap.set in deriveds (#​13951)

  • fix: trim whitespace while migrating blocks (#​13941)

  • fix: update links that previously pointed to preview site (#​14001)

  • fix: properly migrate imports types prefixed with $ (#​14007)

v5.1.3

Compare Source

Patch Changes
  • fix: rethrow errors from await block if no catch block exists (#​13819)

  • fix: ensure SVG element attributes have case preserved (#​13935)

  • fix: ensure bind:group works as intended with proxied state objects (#​13939)

  • fix: ensure value is correctly set to zero on the progress element (#​13924)

  • fix: skip comment nodes in snippet validation logic (#​13936)

  • fix: typo in Action types (#​13874)

  • fix: remove metadata from legacy AST (#​13927)

v5.1.2

Compare Source

Patch Changes
  • fix: improve consistency of transitions (#​13895)

  • fix: enable bound store props in runes mode components (#​13887)

  • fix: ensure each block references to imports are handled correctly (#​13892)

  • fix: ensure SvelteMap reactivity persists through deriveds (#​13877)

  • fix: ensure snippets after empty text correctly hydrate (#​13870)

  • fix: prevent migration script from adding props. to the export let identifier (#​13899)

  • fix: prevent var name clashing for delegated events without params (#​13896)

v5.1.1

Compare Source

Patch Changes
  • fix: account for :has(...) as part of :root (#​14229)

  • fix: prevent nested pseudo class from being marked as unused (#​14229)

  • fix: use strict equality for key block comparisons in runes mode (#​14285)

  • fix: bump is-reference dependency to fix import.meta bug (#​14286)

v5.1.0

Compare Source

Minor Changes
  • feat: export mount() options as the MountOptions type (#​13674)

  • feat: allow usage of getContext() within $derived runes (#​13830)

Patch Changes
  • fix: properly migrate ts with inferred type comments (#​13761)

  • fix: correct property name conversion in custom transitions (#​13820)

  • fix: ensure $effect.tracking returns false inside transition functions (#​13775)

  • fix: migrate default slots to children snippet (#​13760)

  • fix: don't print errors on migration errors (#​13754)

  • fix: prevent spread attribute from overriding class directive (#​13763)

  • fix: ensure :has selectors followed by other selectors match (#​13824)

  • fix: ensure muted DOM property works correctly in FF (#​13751)

  • fix: show filename information in legacy_recursive_reactive_block (#​13764)

v5.0.5

Compare Source

Patch Changes
  • fix: mark :has selectors with multiple preceding selectors as used (#​13750)

  • fix: ensure event context is reset before invoking callback (#​13737)

  • fix: add more robust check for Element prototype (#​13744)

  • fix: do not comment out unused selectors that are inside an unused selector (#​13746)

  • fix: more accurately detect $derived migration opportunities (#​13740)

  • fix: @​debug does not work with proxied-state (#​13690)

  • fix: do not add jsdoc if no types found (#​13738)

v5.0.4

Compare Source

Patch Changes
  • fix: webview preload tag can be any string (#​13733)

  • fix: better children snippet / default slot interop (#​13734)

v5.0.3

Compare Source

Patch Changes
  • chore: ensure transition events are dispatched without current reaction (#​13719)

v5.0.2

Compare Source

Patch Changes
  • fix: don't blank css on migration error (#​13703)

v5.0.1

Compare Source

Patch Changes
  • fix: use typedef for JSDoc props and maintain comments (#​13698)

v5.0.0

Compare Source

A new major version of Svelte has been released! 🎉

The new version brings:

  • even better performance,
  • a more granular reactivity system with runes,
  • more expressive template syntax with snippets and event attributes,
  • native TypeScript support,
  • and backwards compatibility with the previous syntax!

For more details check out the Svelte docs and the migration guide.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • [ ] If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by Renovate Bot

Merge request reports

Loading