chore(deps): update dependency svelte to v5 #9

Open
System wants to merge 1 commits from renovate/svelte-5.x into master
Owner

This PR contains the following updates:

Package Type Update Change
svelte (source) devDependencies major ^4.2.19 -> ^5.0.0

Release Notes

sveltejs/svelte (svelte)

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: use fill: 'forwards' on transition animations to prevent flicker (#​16035)

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 PR becomes conflicted, or you tick the rebase/retry checkbox.

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


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [svelte](https://svelte.dev) ([source](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte)) | devDependencies | major | [`^4.2.19` -> `^5.0.0`](https://renovatebot.com/diffs/npm/svelte/4.2.20/5.34.7) | --- ### Release Notes <details> <summary>sveltejs/svelte (svelte)</summary> ### [`v5.34.7`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5347) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.34.6...svelte@5.34.7) ##### Patch Changes - fix: address css class matching regression ([#&#8203;16204](https://github.com/sveltejs/svelte/pull/16204)) ### [`v5.34.6`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5346) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.34.5...svelte@5.34.6) ##### Patch Changes - fix: match class and style directives against attribute selector ([#&#8203;16179](https://github.com/sveltejs/svelte/pull/16179)) ### [`v5.34.5`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5345) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.34.4...svelte@5.34.5) ##### Patch Changes - fix: keep spread non-delegated event handlers up to date ([#&#8203;16180](https://github.com/sveltejs/svelte/pull/16180)) - fix: remove undefined attributes on hydration ([#&#8203;16178](https://github.com/sveltejs/svelte/pull/16178)) - fix: ensure sources within nested effects still register correctly ([#&#8203;16193](https://github.com/sveltejs/svelte/pull/16193)) - fix: avoid shadowing a variable in dynamic components ([#&#8203;16185](https://github.com/sveltejs/svelte/pull/16185)) ### [`v5.34.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5344) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.34.3...svelte@5.34.4) ##### Patch Changes - fix: don't set state withing `with_parent` in proxy ([#&#8203;16176](https://github.com/sveltejs/svelte/pull/16176)) - fix: use compiler-driven reactivity in legacy mode template expressions ([#&#8203;16100](https://github.com/sveltejs/svelte/pull/16100)) ### [`v5.34.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5343) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.34.2...svelte@5.34.3) ##### Patch Changes - fix: don't eagerly execute deriveds on resume ([#&#8203;16150](https://github.com/sveltejs/svelte/pull/16150)) - fix: prevent memory leaking signals in legacy mode ([#&#8203;16145](https://github.com/sveltejs/svelte/pull/16145)) - fix: don't define `error.message` if it's not configurable ([#&#8203;16149](https://github.com/sveltejs/svelte/pull/16149)) ### [`v5.34.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5342) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.34.1...svelte@5.34.2) ##### Patch Changes - fix: add missing typings for some dimension bindings ([#&#8203;16142](https://github.com/sveltejs/svelte/pull/16142)) - fix: prune typescript class field declarations ([#&#8203;16154](https://github.com/sveltejs/svelte/pull/16154)) ### [`v5.34.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5341) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.34.0...svelte@5.34.1) ##### Patch Changes - fix: correctly tag private class state fields ([#&#8203;16132](https://github.com/sveltejs/svelte/pull/16132)) ### [`v5.34.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5340) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.19...svelte@5.34.0) ##### Minor Changes - feat: add source name logging to `$inspect.trace` ([#&#8203;16060](https://github.com/sveltejs/svelte/pull/16060)) ##### Patch Changes - fix: add `command` and `commandfor` to `HTMLButtonAttributes` ([#&#8203;16117](https://github.com/sveltejs/svelte/pull/16117)) - fix: better `$inspect.trace()` output ([#&#8203;16131](https://github.com/sveltejs/svelte/pull/16131)) - fix: properly hydrate dynamic css props components and remove element removal ([#&#8203;16118](https://github.com/sveltejs/svelte/pull/16118)) ### [`v5.33.19`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#53319) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.18...svelte@5.33.19) ##### Patch Changes - fix: reset `is_flushing` if `flushSync` is called and there's no scheduled effect ([#&#8203;16119](https://github.com/sveltejs/svelte/pull/16119)) ### [`v5.33.18`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#53318) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.17...svelte@5.33.18) ##### Patch Changes - chore: bump `esrap` dependency ([#&#8203;16106](https://github.com/sveltejs/svelte/pull/16106)) - fix: destructuring state in ssr ([#&#8203;16102](https://github.com/sveltejs/svelte/pull/16102)) ### [`v5.33.17`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#53317) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.16...svelte@5.33.17) ##### Patch Changes - chore: update acorn parser `ecmaVersion` to parse import attributes ([#&#8203;16098](https://github.com/sveltejs/svelte/pull/16098)) ### [`v5.33.16`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#53316) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.15...svelte@5.33.16) ##### Patch Changes - fix: visit expression when destructuring state declarations ([#&#8203;16081](https://github.com/sveltejs/svelte/pull/16081)) - fix: move xmlns attribute from SVGAttributes to to DOMAttributes ([#&#8203;16080](https://github.com/sveltejs/svelte/pull/16080)) ### [`v5.33.15`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#53315) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.14...svelte@5.33.15) ##### Patch Changes - fix: invoke parent boundary of deriveds that throw ([#&#8203;16091](https://github.com/sveltejs/svelte/pull/16091)) ### [`v5.33.14`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#53314) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.13...svelte@5.33.14) ##### Patch Changes - Revert "feat: enable TS autocomplete for Svelte HTML element definitions" ([#&#8203;16063](https://github.com/sveltejs/svelte/pull/16063)) - fix: destructuring snippet arguments ([#&#8203;16068](https://github.com/sveltejs/svelte/pull/16068)) ### [`v5.33.13`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#53313) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.12...svelte@5.33.13) ##### Patch Changes - fix: avoid recursion error in `EachBlock` visitor ([#&#8203;16058](https://github.com/sveltejs/svelte/pull/16058)) ### [`v5.33.12`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#53312) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.11...svelte@5.33.12) ##### Patch Changes - fix: correctly transform reassignments to class fields in SSR mode ([#&#8203;16051](https://github.com/sveltejs/svelte/pull/16051)) ### [`v5.33.11`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#53311) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.10...svelte@5.33.11) ##### Patch Changes - fix: treat transitive dependencies of each blocks as mutable in legacy mode if item is mutated ([#&#8203;16038](https://github.com/sveltejs/svelte/pull/16038)) ### [`v5.33.10`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#53310) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.9...svelte@5.33.10) ##### Patch Changes - fix: use `fill: 'forwards'` on transition animations to prevent flicker ([#&#8203;16035](https://github.com/sveltejs/svelte/pull/16035)) ### [`v5.33.9`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5339) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.8...svelte@5.33.9) ##### Patch Changes - fix: put expressions in effects unless known to be static ([#&#8203;15792](https://github.com/sveltejs/svelte/pull/15792)) ### [`v5.33.8`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5338) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.7...svelte@5.33.8) ##### Patch Changes - fix: only `select_option` if `'value'` is in `next` ([#&#8203;16032](https://github.com/sveltejs/svelte/pull/16032)) ### [`v5.33.7`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5337) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.6...svelte@5.33.7) ##### Patch Changes - fix: `bind:value` to select with stores ([#&#8203;16028](https://github.com/sveltejs/svelte/pull/16028)) ### [`v5.33.6`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5336) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.5...svelte@5.33.6) ##### Patch Changes - fix: falsy attachments on components ([#&#8203;16021](https://github.com/sveltejs/svelte/pull/16021)) - fix: correctly mark <option> elements as selected during SSR ([#&#8203;16017](https://github.com/sveltejs/svelte/pull/16017)) ### [`v5.33.5`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5335) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.4...svelte@5.33.5) ##### Patch Changes - fix: handle derived destructured iterators ([#&#8203;16015](https://github.com/sveltejs/svelte/pull/16015)) - fix: avoid rerunning attachments when unrelated spread attributes change ([#&#8203;15961](https://github.com/sveltejs/svelte/pull/15961)) ### [`v5.33.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5334) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.3...svelte@5.33.4) ##### Patch Changes - fix: narrow `defaultChecked` to boolean ([#&#8203;16009](https://github.com/sveltejs/svelte/pull/16009)) - fix: warn when using rest or identifier in custom elements without props option ([#&#8203;16003](https://github.com/sveltejs/svelte/pull/16003)) ### [`v5.33.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5333) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.2...svelte@5.33.3) ##### Patch Changes - fix: allow using typescript in `customElement.extend` option ([#&#8203;16001](https://github.com/sveltejs/svelte/pull/16001)) - fix: cleanup event handlers on media elements ([#&#8203;16005](https://github.com/sveltejs/svelte/pull/16005)) ### [`v5.33.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5332) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.1...svelte@5.33.2) ##### Patch Changes - fix: correctly parse escaped unicode characters in css selector ([#&#8203;15976](https://github.com/sveltejs/svelte/pull/15976)) - fix: don't mark deriveds as clean if updating during teardown ([#&#8203;15997](https://github.com/sveltejs/svelte/pull/15997)) ### [`v5.33.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#53310) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.33.0...svelte@5.33.1) ##### Patch Changes - fix: use `fill: 'forwards'` on transition animations to prevent flicker ([#&#8203;16035](https://github.com/sveltejs/svelte/pull/16035)) ### [`v5.33.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5330) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.32.2...svelte@5.33.0) ##### Minor Changes - feat: XHTML compliance ([#&#8203;15538](https://github.com/sveltejs/svelte/pull/15538)) - feat: add `fragments: 'html' | 'tree'` option for wider CSP compliance ([#&#8203;15538](https://github.com/sveltejs/svelte/pull/15538)) ### [`v5.32.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5322) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.32.1...svelte@5.32.2) ##### Patch Changes - chore: simplify `<pre>` cleaning ([#&#8203;15980](https://github.com/sveltejs/svelte/pull/15980)) - fix: attach `__svelte_meta` correctly to elements following a CSS wrapper ([#&#8203;15982](https://github.com/sveltejs/svelte/pull/15982)) - fix: import untrack directly from client in `svelte/attachments` ([#&#8203;15974](https://github.com/sveltejs/svelte/pull/15974)) ### [`v5.32.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5321) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.32.0...svelte@5.32.1) ##### Patch Changes - Warn when an invalid `<select multiple>` value is given ([#&#8203;14816](https://github.com/sveltejs/svelte/pull/14816)) ### [`v5.32.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5320) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.31.1...svelte@5.32.0) ##### Minor Changes - feat: warn on implicitly closed tags ([#&#8203;15932](https://github.com/sveltejs/svelte/pull/15932)) - feat: attachments `fromAction` utility ([#&#8203;15933](https://github.com/sveltejs/svelte/pull/15933)) ##### Patch Changes - fix: only re-run directly applied attachment if it changed ([#&#8203;15962](https://github.com/sveltejs/svelte/pull/15962)) ### [`v5.31.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5311) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.31.0...svelte@5.31.1) ##### Patch Changes - fix: avoid auto-parenthesis for special-keywords-only `MediaQuery` ([#&#8203;15937](https://github.com/sveltejs/svelte/pull/15937)) ### [`v5.31.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5310) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.30.2...svelte@5.31.0) ##### Minor Changes - feat: allow state fields to be declared inside class constructors ([#&#8203;15820](https://github.com/sveltejs/svelte/pull/15820)) ##### Patch Changes - fix: Add missing `AttachTag` in `Tag` union type inside the `AST` namespace from `"svelte/compiler"` ([#&#8203;15946](https://github.com/sveltejs/svelte/pull/15946)) ### [`v5.30.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5302) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.30.1...svelte@5.30.2) ##### Patch Changes - fix: falsy attachments types ([#&#8203;15939](https://github.com/sveltejs/svelte/pull/15939)) - fix: handle more hydration mismatches ([#&#8203;15851](https://github.com/sveltejs/svelte/pull/15851)) ### [`v5.30.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5301) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.30.0...svelte@5.30.1) ##### Patch Changes - fix: add `typeParams` to `SnippetBlock` for legacy parser ([#&#8203;15921](https://github.com/sveltejs/svelte/pull/15921)) ### [`v5.30.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5300) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.29.0...svelte@5.30.0) ##### Minor Changes - feat: allow generics on snippets ([#&#8203;15915](https://github.com/sveltejs/svelte/pull/15915)) ### [`v5.29.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5290) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.28.7...svelte@5.29.0) ##### Minor Changes - feat: attachments ([#&#8203;15000](https://github.com/sveltejs/svelte/pull/15000)) ### [`v5.28.7`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5287) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.28.6...svelte@5.28.7) ##### Patch Changes - fix: remove unncessary guards that require CSP privilege when removing event attributes ([#&#8203;15846](https://github.com/sveltejs/svelte/pull/15846)) - fix: rewrite destructuring logic to handle iterators ([#&#8203;15813](https://github.com/sveltejs/svelte/pull/15813)) ### [`v5.28.6`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5286) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.28.5...svelte@5.28.6) ##### Patch Changes - fix: use `transform.read` for `ownership_validator.mutation` array ([#&#8203;15848](https://github.com/sveltejs/svelte/pull/15848)) - fix: don't redeclare `$slots` ([#&#8203;15849](https://github.com/sveltejs/svelte/pull/15849)) ### [`v5.28.5`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5285) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.28.4...svelte@5.28.5) ##### Patch Changes - fix: proxify the value in assignment shorthands to the private field ([#&#8203;15862](https://github.com/sveltejs/svelte/pull/15862)) - fix: more frequently update `bind:buffered` to actual value ([#&#8203;15874](https://github.com/sveltejs/svelte/pull/15874)) ### [`v5.28.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5284) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.28.3...svelte@5.28.4) ##### Patch Changes - fix: treat nullish expression as empty string ([#&#8203;15901](https://github.com/sveltejs/svelte/pull/15901)) - fix: prevent invalid BigInt calls from blowing up at compile time ([#&#8203;15900](https://github.com/sveltejs/svelte/pull/15900)) - fix: warn on bidirectional control characters ([#&#8203;15893](https://github.com/sveltejs/svelte/pull/15893)) - fix: emit right error for a shadowed invalid rune ([#&#8203;15892](https://github.com/sveltejs/svelte/pull/15892)) ### [`v5.28.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5283) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.28.2...svelte@5.28.3) ##### Patch Changes - chore: avoid microtasks when flushing sync ([#&#8203;15895](https://github.com/sveltejs/svelte/pull/15895)) - fix: improve error message for migration errors when slot would be renamed ([#&#8203;15841](https://github.com/sveltejs/svelte/pull/15841)) - fix: allow characters in the supplementary special-purpose plane ([#&#8203;15823](https://github.com/sveltejs/svelte/pull/15823)) ### [`v5.28.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5282) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.28.1...svelte@5.28.2) ##### Patch Changes - fix: don't mark selector lists inside `:global` with multiple items as unused ([#&#8203;15817](https://github.com/sveltejs/svelte/pull/15817)) ### [`v5.28.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5281) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.28.0...svelte@5.28.1) ##### Patch Changes - fix: ensure `<svelte:boundary>` properly removes error content in production mode ([#&#8203;15793](https://github.com/sveltejs/svelte/pull/15793)) - fix: `update_version` after `delete` if `source` is `undefined` and `prop` in `target` ([#&#8203;15796](https://github.com/sveltejs/svelte/pull/15796)) - fix: emit error on wrong placement of the `:global` block selector ([#&#8203;15794](https://github.com/sveltejs/svelte/pull/15794)) ### [`v5.28.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5280) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.27.3...svelte@5.28.0) ##### Minor Changes - feat: partially evaluate more expressions ([#&#8203;15781](https://github.com/sveltejs/svelte/pull/15781)) ### [`v5.27.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5273) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.27.2...svelte@5.27.3) ##### Patch Changes - fix: use function declaration for snippets in server output to avoid TDZ violation ([#&#8203;15789](https://github.com/sveltejs/svelte/pull/15789)) ### [`v5.27.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5272) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.27.1...svelte@5.27.2) ##### Patch Changes - chore: use pkg.imports for common modules ([#&#8203;15787](https://github.com/sveltejs/svelte/pull/15787)) ### [`v5.27.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5271) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.27.0...svelte@5.27.1) ##### Patch Changes - chore: default params for html blocks ([#&#8203;15778](https://github.com/sveltejs/svelte/pull/15778)) - fix: correct suggested type for custom events without detail ([#&#8203;15763](https://github.com/sveltejs/svelte/pull/15763)) - fix: Throw on unrendered snippets in `dev` ([#&#8203;15766](https://github.com/sveltejs/svelte/pull/15766)) - fix: avoid unnecessary read version increments ([#&#8203;15777](https://github.com/sveltejs/svelte/pull/15777)) ### [`v5.27.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5270) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.26.3...svelte@5.27.0) ##### Minor Changes - feat: partially evaluate certain expressions ([#&#8203;15494](https://github.com/sveltejs/svelte/pull/15494)) ##### Patch Changes - fix: relax `:global` selector list validation ([#&#8203;15762](https://github.com/sveltejs/svelte/pull/15762)) ### [`v5.26.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5263) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.26.2...svelte@5.26.3) ##### Patch Changes - fix: correctly validate head snippets on the server ([#&#8203;15755](https://github.com/sveltejs/svelte/pull/15755)) - fix: ignore mutation validation for props that are not proxies in more cases ([#&#8203;15759](https://github.com/sveltejs/svelte/pull/15759)) - fix: allow self-closing tags within math namespace ([#&#8203;15761](https://github.com/sveltejs/svelte/pull/15761)) ### [`v5.26.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5262) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.26.1...svelte@5.26.2) ##### Patch Changes - fix: correctly validate `undefined` snippet params with default value ([#&#8203;15750](https://github.com/sveltejs/svelte/pull/15750)) ### [`v5.26.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5261) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.26.0...svelte@5.26.1) ##### Patch Changes - fix: update `state_referenced_locally` message ([#&#8203;15733](https://github.com/sveltejs/svelte/pull/15733)) ### [`v5.26.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5260) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.25.12...svelte@5.26.0) ##### Minor Changes - feat: add `css.hasGlobal` to `compile` output ([#&#8203;15450](https://github.com/sveltejs/svelte/pull/15450)) ##### Patch Changes - fix: add snippet argument validation in dev ([#&#8203;15521](https://github.com/sveltejs/svelte/pull/15521)) ### [`v5.25.12`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#52512) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.25.11...svelte@5.25.12) ##### Patch Changes - fix: improve internal_set versioning mechanic ([#&#8203;15724](https://github.com/sveltejs/svelte/pull/15724)) - fix: don't transform reassigned state in labeled statement in `$derived` ([#&#8203;15725](https://github.com/sveltejs/svelte/pull/15725)) ### [`v5.25.11`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#52511) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.25.10...svelte@5.25.11) ##### Patch Changes - fix: handle hydration mismatches in await blocks ([#&#8203;15708](https://github.com/sveltejs/svelte/pull/15708)) - fix: prevent ownership warnings if the fallback of a bindable is used ([#&#8203;15720](https://github.com/sveltejs/svelte/pull/15720)) ### [`v5.25.10`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#52510) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.25.9...svelte@5.25.10) ##### Patch Changes - fix: set deriveds as `CLEAN` if they are assigned to ([#&#8203;15592](https://github.com/sveltejs/svelte/pull/15592)) - fix: better scope `:global()` with nesting selector `&` ([#&#8203;15671](https://github.com/sveltejs/svelte/pull/15671)) ### [`v5.25.9`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5259) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.25.8...svelte@5.25.9) ##### Patch Changes - fix: allow `$.state` and `$.derived` to be treeshaken ([#&#8203;15702](https://github.com/sveltejs/svelte/pull/15702)) - fix: rework binding ownership validation ([#&#8203;15678](https://github.com/sveltejs/svelte/pull/15678)) ### [`v5.25.8`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5258) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.25.7...svelte@5.25.8) ##### Patch Changes - fix: address untracked_writes memory leak ([#&#8203;15694](https://github.com/sveltejs/svelte/pull/15694)) ### [`v5.25.7`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5257) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.25.6...svelte@5.25.7) ##### Patch Changes - fix: ensure clearing of old values happens independent of root flushes ([#&#8203;15664](https://github.com/sveltejs/svelte/pull/15664)) ### [`v5.25.6`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5256) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.25.5...svelte@5.25.6) ##### Patch Changes - fix: ignore generic type arguments while creating AST ([#&#8203;15659](https://github.com/sveltejs/svelte/pull/15659)) - fix: better consider component and its snippets during css pruning ([#&#8203;15630](https://github.com/sveltejs/svelte/pull/15630)) ### [`v5.25.5`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5255) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.25.4...svelte@5.25.5) ##### Patch Changes - fix: add setters to `$derived` class properties ([#&#8203;15628](https://github.com/sveltejs/svelte/pull/15628)) - fix: silence assignment warning on more function bindings ([#&#8203;15644](https://github.com/sveltejs/svelte/pull/15644)) - fix: make sure CSS is preserved during SSR with bindings ([#&#8203;15645](https://github.com/sveltejs/svelte/pull/15645)) ### [`v5.25.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5254) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.25.3...svelte@5.25.4) ##### Patch Changes - fix: support TS type assertions ([#&#8203;15642](https://github.com/sveltejs/svelte/pull/15642)) - fix: ensure `undefined` class still applies scoping class, if necessary ([#&#8203;15643](https://github.com/sveltejs/svelte/pull/15643)) ### [`v5.25.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5253) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.25.2...svelte@5.25.3) ##### Patch Changes - fix: prevent state runes from being called with spread ([#&#8203;15585](https://github.com/sveltejs/svelte/pull/15585)) ### [`v5.25.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5252) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.25.1...svelte@5.25.2) ##### Patch Changes - feat: migrate reassigned deriveds to `$derived` ([#&#8203;15581](https://github.com/sveltejs/svelte/pull/15581)) ### [`v5.25.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#52512) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.25.0...svelte@5.25.1) ##### Patch Changes - fix: improve internal_set versioning mechanic ([#&#8203;15724](https://github.com/sveltejs/svelte/pull/15724)) - fix: don't transform reassigned state in labeled statement in `$derived` ([#&#8203;15725](https://github.com/sveltejs/svelte/pull/15725)) ### [`v5.25.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5250) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.24.1...svelte@5.25.0) ##### Minor Changes - feat: make deriveds writable ([#&#8203;15570](https://github.com/sveltejs/svelte/pull/15570)) ### [`v5.24.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5241) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.24.0...svelte@5.24.1) ##### Patch Changes - fix: use `get` in constructor for deriveds ([#&#8203;15300](https://github.com/sveltejs/svelte/pull/15300)) - fix: ensure toStore root effect is connected to correct parent effect ([#&#8203;15574](https://github.com/sveltejs/svelte/pull/15574)) ### [`v5.24.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5240) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.23.2...svelte@5.24.0) ##### Minor Changes - feat: allow state created in deriveds/effects to be written/read locally without self-invalidation ([#&#8203;15553](https://github.com/sveltejs/svelte/pull/15553)) ##### Patch Changes - fix: check if DOM prototypes are extensible ([#&#8203;15569](https://github.com/sveltejs/svelte/pull/15569)) - Keep inlined trailing JSDoc comments of properties when running svelte-migrate ([#&#8203;15567](https://github.com/sveltejs/svelte/pull/15567)) - fix: simplify set calls for proxyable values ([#&#8203;15548](https://github.com/sveltejs/svelte/pull/15548)) - fix: don't depend on deriveds created inside the current reaction ([#&#8203;15564](https://github.com/sveltejs/svelte/pull/15564)) ### [`v5.23.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5232) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.23.1...svelte@5.23.2) ##### Patch Changes - fix: don't hoist listeners that access non hoistable snippets ([#&#8203;15534](https://github.com/sveltejs/svelte/pull/15534)) ### [`v5.23.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5231) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.23.0...svelte@5.23.1) ##### Patch Changes - fix: invalidate parent effects when child effects update parent dependencies ([#&#8203;15506](https://github.com/sveltejs/svelte/pull/15506)) - fix: correctly match `:has()` selector during css pruning ([#&#8203;15277](https://github.com/sveltejs/svelte/pull/15277)) - fix: replace `undefined` with `void 0` to avoid edge case ([#&#8203;15511](https://github.com/sveltejs/svelte/pull/15511)) - fix: allow global-like pseudo-selectors refinement ([#&#8203;15313](https://github.com/sveltejs/svelte/pull/15313)) - chore: don't distribute unused types definitions ([#&#8203;15473](https://github.com/sveltejs/svelte/pull/15473)) - fix: add `files` and `group` to HTMLInputAttributes in elements.d.ts ([#&#8203;15492](https://github.com/sveltejs/svelte/pull/15492)) - fix: throw rune_invalid_arguments_length when $state.raw() is used with more than 1 arg ([#&#8203;15516](https://github.com/sveltejs/svelte/pull/15516)) ### [`v5.23.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5230) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.22.6...svelte@5.23.0) ##### Minor Changes - fix: make values consistent between effects and their cleanup functions ([#&#8203;15469](https://github.com/sveltejs/svelte/pull/15469)) ### [`v5.22.6`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5226) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.22.5...svelte@5.22.6) ##### Patch Changes - fix: skip `log_if_contains_state` if only logging literals ([#&#8203;15468](https://github.com/sveltejs/svelte/pull/15468)) - fix: Add `closedby` property to HTMLDialogAttributes type ([#&#8203;15458](https://github.com/sveltejs/svelte/pull/15458)) - fix: null and warnings for local handlers ([#&#8203;15460](https://github.com/sveltejs/svelte/pull/15460)) ### [`v5.22.5`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5225) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.22.4...svelte@5.22.5) ##### Patch Changes - fix: memoize `clsx` calls ([#&#8203;15456](https://github.com/sveltejs/svelte/pull/15456)) - fix: respect `svelte-ignore hydration_attribute_changed` on elements with spread attributes ([#&#8203;15443](https://github.com/sveltejs/svelte/pull/15443)) - fix: always use `setAttribute` when setting `style` ([#&#8203;15323](https://github.com/sveltejs/svelte/pull/15323)) - fix: make `style:` directive and CSS handling more robust ([#&#8203;15418](https://github.com/sveltejs/svelte/pull/15418)) ### [`v5.22.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5224) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.22.3...svelte@5.22.4) ##### Patch Changes - fix: never deduplicate expressions in templates ([#&#8203;15451](https://github.com/sveltejs/svelte/pull/15451)) ### [`v5.22.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5223) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.22.2...svelte@5.22.3) ##### Patch Changes - fix: run effect roots in tree order ([#&#8203;15446](https://github.com/sveltejs/svelte/pull/15446)) ### [`v5.22.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5222) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.22.1...svelte@5.22.2) ##### Patch Changes - fix: correctly set `is_updating` before flushing root effects ([#&#8203;15442](https://github.com/sveltejs/svelte/pull/15442)) ### [`v5.22.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5221) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.22.0...svelte@5.22.1) ##### Patch Changes - chore: switch acorn-typescript plugin ([#&#8203;15393](https://github.com/sveltejs/svelte/pull/15393)) ### [`v5.22.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5220) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.21.0...svelte@5.22.0) ##### Minor Changes - feat: Add `idPrefix` option to `render` ([#&#8203;15428](https://github.com/sveltejs/svelte/pull/15428)) ##### Patch Changes - fix: make dialog element and role interactive ([#&#8203;15429](https://github.com/sveltejs/svelte/pull/15429)) ### [`v5.21.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5210) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.20.5...svelte@5.21.0) ##### Minor Changes - chore: Reduce hydration comment for {:else if} ([#&#8203;15250](https://github.com/sveltejs/svelte/pull/15250)) ##### Patch Changes - fix: disallow `bind:group` to snippet parameters ([#&#8203;15401](https://github.com/sveltejs/svelte/pull/15401)) ### [`v5.20.5`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5205) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.20.4...svelte@5.20.5) ##### Patch Changes - fix: allow double hyphen css selector names ([#&#8203;15384](https://github.com/sveltejs/svelte/pull/15384)) - fix: class:directive not working with $restProps [#&#8203;15386](https://github.com/sveltejs/svelte/issues/15386) ([#&#8203;15389](https://github.com/sveltejs/svelte/pull/15389)) fix: spread add an useless cssHash on non-scoped element - fix: catch error on [@&#8203;const](https://github.com/const) tag in svelte:boundary in DEV mode ([#&#8203;15369](https://github.com/sveltejs/svelte/pull/15369)) - fix: allow for duplicate `var` declarations ([#&#8203;15382](https://github.com/sveltejs/svelte/pull/15382)) - fix : bug "$0 is not defined" on svelte:element with a function call on class ([#&#8203;15396](https://github.com/sveltejs/svelte/pull/15396)) ### [`v5.20.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5204) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.20.3...svelte@5.20.4) ##### Patch Changes - fix: update types and inline docs for flushSync ([#&#8203;15348](https://github.com/sveltejs/svelte/pull/15348)) ### [`v5.20.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5203) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.20.2...svelte@5.20.3) ##### Patch Changes - fix: allow `@const` inside `#key` ([#&#8203;15377](https://github.com/sveltejs/svelte/pull/15377)) - fix: remove unnecessary `?? ''` on some expressions ([#&#8203;15287](https://github.com/sveltejs/svelte/pull/15287)) - fix: correctly override class attributes with class directives ([#&#8203;15352](https://github.com/sveltejs/svelte/pull/15352)) ### [`v5.20.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5202) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.20.1...svelte@5.20.2) ##### Patch Changes - chore: remove unused `options.uid` in `render` ([#&#8203;15302](https://github.com/sveltejs/svelte/pull/15302)) - fix: do not warn for `binding_property_non_reactive` if binding is a store in an each ([#&#8203;15318](https://github.com/sveltejs/svelte/pull/15318)) - fix: prevent writable store value from becoming a proxy when reassigning using $-prefix ([#&#8203;15283](https://github.com/sveltejs/svelte/pull/15283)) - fix: `muted` reactive without `bind` and select/autofocus attributes working with function calls ([#&#8203;15326](https://github.com/sveltejs/svelte/pull/15326)) - fix: ensure input elements and elements with `dir` attribute are marked as non-static ([#&#8203;15259](https://github.com/sveltejs/svelte/pull/15259)) - fix: fire delegated events on target even it was disabled in the meantime ([#&#8203;15319](https://github.com/sveltejs/svelte/pull/15319)) ### [`v5.20.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5201) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.20.0...svelte@5.20.1) ##### Patch Changes - fix: ensure AST analysis on `svelte.js` modules succeeds ([#&#8203;15297](https://github.com/sveltejs/svelte/pull/15297)) - fix: ignore typescript abstract methods ([#&#8203;15267](https://github.com/sveltejs/svelte/pull/15267)) - fix: correctly ssr component in `svelte:head` with `$props.id()` or `css='injected'` ([#&#8203;15291](https://github.com/sveltejs/svelte/pull/15291)) ### [`v5.20.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5200) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.19.10...svelte@5.20.0) ##### Minor Changes - feat: SSR-safe ID generation with `$props.id()` ([#&#8203;15185](https://github.com/sveltejs/svelte/pull/15185)) ##### Patch Changes - fix: take private and public into account for `constant_assignment` of derived state ([#&#8203;15276](https://github.com/sveltejs/svelte/pull/15276)) - fix: value/checked not correctly set using spread ([#&#8203;15239](https://github.com/sveltejs/svelte/pull/15239)) - chore: tweak effect self invalidation logic, run transition dispatches without reactive context ([#&#8203;15275](https://github.com/sveltejs/svelte/pull/15275)) - fix: use `importNode` to clone templates for Firefox ([#&#8203;15272](https://github.com/sveltejs/svelte/pull/15272)) - fix: recurse into `$derived` for ownership validation ([#&#8203;15166](https://github.com/sveltejs/svelte/pull/15166)) ### [`v5.19.10`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#51910) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.19.9...svelte@5.19.10) ##### Patch Changes - fix: when re-connecting unowned deriveds, remove their unowned flag ([#&#8203;15255](https://github.com/sveltejs/svelte/pull/15255)) - fix: allow mutation of private derived state ([#&#8203;15228](https://github.com/sveltejs/svelte/pull/15228)) ### [`v5.19.9`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5199) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.19.8...svelte@5.19.9) ##### Patch Changes - fix: ensure unowned derived dependencies are not duplicated when reactions are skipped ([#&#8203;15232](https://github.com/sveltejs/svelte/pull/15232)) - fix: hydrate `href` that is part of spread attributes ([#&#8203;15226](https://github.com/sveltejs/svelte/pull/15226)) ### [`v5.19.8`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5198) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.19.7...svelte@5.19.8) ##### Patch Changes - fix: properly set `value` property of custom elements ([#&#8203;15206](https://github.com/sveltejs/svelte/pull/15206)) - fix: ensure custom element updates don't run in hydration mode ([#&#8203;15217](https://github.com/sveltejs/svelte/pull/15217)) - fix: ensure tracking returns true, even if in unowned ([#&#8203;15214](https://github.com/sveltejs/svelte/pull/15214)) ### [`v5.19.7`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5197) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.19.6...svelte@5.19.7) ##### Patch Changes - chore: remove unused code from signal logic ([#&#8203;15195](https://github.com/sveltejs/svelte/pull/15195)) - fix: encounter svelte:element in blocks as sibling during pruning css ([#&#8203;15165](https://github.com/sveltejs/svelte/pull/15165)) ### [`v5.19.6`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5196) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.19.5...svelte@5.19.6) ##### Patch Changes - fix: do not prune selectors like `:global(.foo):has(.scoped)` ([#&#8203;15140](https://github.com/sveltejs/svelte/pull/15140)) - fix: don't error on slot prop inside block inside other component ([#&#8203;15148](https://github.com/sveltejs/svelte/pull/15148)) - fix: ensure reactions are correctly attached for unowned deriveds ([#&#8203;15158](https://github.com/sveltejs/svelte/pull/15158)) - fix: silence a11y attribute warnings when spread attributes present ([#&#8203;15150](https://github.com/sveltejs/svelte/pull/15150)) - fix: prevent false-positive ownership validations due to hot reload ([#&#8203;15154](https://github.com/sveltejs/svelte/pull/15154)) - fix: widen ownership when calling setContext ([#&#8203;15153](https://github.com/sveltejs/svelte/pull/15153)) ### [`v5.19.5`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5195) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.19.4...svelte@5.19.5) ##### Patch Changes - fix: improve derived connection to ownership graph ([#&#8203;15137](https://github.com/sveltejs/svelte/pull/15137)) - fix: correctly look for sibling elements inside blocks and components when pruning CSS ([#&#8203;15106](https://github.com/sveltejs/svelte/pull/15106)) ### [`v5.19.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5194) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.19.3...svelte@5.19.4) ##### Patch Changes - fix: Add `bind:focused` property to `HTMLAttributes` type ([#&#8203;15122](https://github.com/sveltejs/svelte/pull/15122)) - fix: lazily connect derievds (in deriveds) to their parent ([#&#8203;15129](https://github.com/sveltejs/svelte/pull/15129)) - fix: disallow $state/$derived in const tags ([#&#8203;15115](https://github.com/sveltejs/svelte/pull/15115)) ### [`v5.19.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5193) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.19.2...svelte@5.19.3) ##### Patch Changes - fix: don't throw for `undefined` non delegated event handlers ([#&#8203;15087](https://github.com/sveltejs/svelte/pull/15087)) - fix: consistently set value to blank string when value attribute is undefined ([#&#8203;15057](https://github.com/sveltejs/svelte/pull/15057)) - fix: optimise || expressions in template ([#&#8203;15092](https://github.com/sveltejs/svelte/pull/15092)) - fix: correctly handle `novalidate` attribute casing ([#&#8203;15083](https://github.com/sveltejs/svelte/pull/15083)) - fix: expand boolean attribute support ([#&#8203;15095](https://github.com/sveltejs/svelte/pull/15095)) - fix: avoid double deriveds in component props ([#&#8203;15089](https://github.com/sveltejs/svelte/pull/15089)) - fix: add check for `is` attribute to correctly detect custom elements ([#&#8203;15086](https://github.com/sveltejs/svelte/pull/15086)) ### [`v5.19.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5192) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.19.1...svelte@5.19.2) ##### Patch Changes - fix: address regression with untrack ([#&#8203;15079](https://github.com/sveltejs/svelte/pull/15079)) ### [`v5.19.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#51910) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.19.0...svelte@5.19.1) ##### Patch Changes - fix: when re-connecting unowned deriveds, remove their unowned flag ([#&#8203;15255](https://github.com/sveltejs/svelte/pull/15255)) - fix: allow mutation of private derived state ([#&#8203;15228](https://github.com/sveltejs/svelte/pull/15228)) ### [`v5.19.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5190) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.18.0...svelte@5.19.0) ##### Minor Changes - feat: Expose `ClassValue` from `svelte/elements` ([#&#8203;15035](https://github.com/sveltejs/svelte/pull/15035)) ##### Patch Changes - fix: create fewer deriveds for concatenated strings ([#&#8203;15041](https://github.com/sveltejs/svelte/pull/15041)) - fix: correctly parse leading comments in function binding ([#&#8203;15020](https://github.com/sveltejs/svelte/pull/15020)) ### [`v5.18.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5180) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.17.5...svelte@5.18.0) ##### Minor Changes - feat: allow `<template>` elements to contain any child ([#&#8203;15007](https://github.com/sveltejs/svelte/pull/15007)) ##### Patch Changes - fix: ensure resume effects are scheduled in topological order ([#&#8203;15012](https://github.com/sveltejs/svelte/pull/15012)) - fix: bump esrap ([#&#8203;15015](https://github.com/sveltejs/svelte/pull/15015)) - fix: remove listener on `bind_current_time` teardown ([#&#8203;15013](https://github.com/sveltejs/svelte/pull/15013)) ### [`v5.17.5`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5175) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.17.4...svelte@5.17.5) ##### Patch Changes - feat: allow const tag inside `svelte:boundary` ([#&#8203;14993](https://github.com/sveltejs/svelte/pull/14993)) - fix: ensure signal write invalidation within effects is consistent ([#&#8203;14989](https://github.com/sveltejs/svelte/pull/14989)) ### [`v5.17.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5174) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.17.3...svelte@5.17.4) ##### Patch Changes - fix: never consider inert boundary effects ([#&#8203;14999](https://github.com/sveltejs/svelte/pull/14999)) - fix: store access on component destroy ([#&#8203;14968](https://github.com/sveltejs/svelte/pull/14968)) - fix: correctly transform `pre` with no content ([#&#8203;14973](https://github.com/sveltejs/svelte/pull/14973)) - fix: wrap each block expression in derived to encapsulate effects ([#&#8203;14967](https://github.com/sveltejs/svelte/pull/14967)) ### [`v5.17.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5173) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.17.2...svelte@5.17.3) ##### Patch Changes - fix: reset dependency read versions after reaction execution ([#&#8203;14964](https://github.com/sveltejs/svelte/pull/14964)) ### [`v5.17.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5172) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.17.1...svelte@5.17.2) ##### Patch Changes - fix: account for parent scale when animating elements ([#&#8203;14957](https://github.com/sveltejs/svelte/pull/14957)) - fix: apply `overflow: hidden` style when transitioning elements, where necessary ([#&#8203;14930](https://github.com/sveltejs/svelte/pull/14930)) - fix: properly add owners to function bindings ([#&#8203;14962](https://github.com/sveltejs/svelte/pull/14962)) ### [`v5.17.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5171) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.17.0...svelte@5.17.1) ##### Patch Changes - fix: remove bindable prop validation ([#&#8203;14946](https://github.com/sveltejs/svelte/pull/14946)) - chore: tweak "invalid assignment" compiler error message ([#&#8203;14955](https://github.com/sveltejs/svelte/pull/14955)) - fix: silence false-positive stale value warning ([#&#8203;14958](https://github.com/sveltejs/svelte/pull/14958)) ### [`v5.17.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5170) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.16.6...svelte@5.17.0) ##### Minor Changes - feat: allow non-numeric values to be tweened by snapping immediately to new value ([#&#8203;14941](https://github.com/sveltejs/svelte/pull/14941)) ##### Patch Changes - fix: handle default values in object destructuring within "each" blocks when using characters like "}" and "]" ([#&#8203;14554](https://github.com/sveltejs/svelte/pull/14554)) - fix: account for min-width/height in `slide` transition ([#&#8203;14942](https://github.com/sveltejs/svelte/pull/14942)) - fix: prevent long delays causing erratic spring behaviour ([#&#8203;14940](https://github.com/sveltejs/svelte/pull/14940)) - feat: warn on using `slide` transition with table elements ([#&#8203;14936](https://github.com/sveltejs/svelte/pull/14936)) - chore: improve signal performance by reducing duplicate deps ([#&#8203;14945](https://github.com/sveltejs/svelte/pull/14945)) ### [`v5.16.6`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5166) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.16.5...svelte@5.16.6) ##### Patch Changes - fix: Make Tween duration 0 set current to target immediately ([#&#8203;14937](https://github.com/sveltejs/svelte/pull/14937)) - fix: guard against `customElements` being unavailable in browser extension contexts ([#&#8203;14933](https://github.com/sveltejs/svelte/pull/14933)) - fix: treat `inert` as a boolean attribute ([#&#8203;14935](https://github.com/sveltejs/svelte/pull/14935)) - fix: remove leading newline from `<pre>` contents ([#&#8203;14922](https://github.com/sveltejs/svelte/pull/14922)) ### [`v5.16.5`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5165) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.16.4...svelte@5.16.5) ##### Patch Changes - fix: inherit correct namespace for `<title>` elements ([#&#8203;14817](https://github.com/sveltejs/svelte/pull/14817)) - fix: don't throw `bind_invalid_export` if there's also a bindable prop with the same name ([#&#8203;14813](https://github.com/sveltejs/svelte/pull/14813)) ### [`v5.16.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5164) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.16.3...svelte@5.16.4) ##### Patch Changes - fix: use cached indexOf array prototype method internally ([#&#8203;14912](https://github.com/sveltejs/svelte/pull/14912)) - fix: make Tween work with continuous target changes ([#&#8203;14895](https://github.com/sveltejs/svelte/pull/14895)) ### [`v5.16.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5163) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.16.2...svelte@5.16.3) ##### Patch Changes - fix: correctly parse `each` with loose parser ([#&#8203;14887](https://github.com/sveltejs/svelte/pull/14887)) - fix: apply `clsx` logic to custom element `class` attributes ([#&#8203;14907](https://github.com/sveltejs/svelte/pull/14907)) ### [`v5.16.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5162) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.16.1...svelte@5.16.2) ##### Patch Changes - fix: ensure disconnected deriveds correctly connect again ([#&#8203;14899](https://github.com/sveltejs/svelte/pull/14899)) - fix: correctly highlight sources reassigned inside `trace` ([#&#8203;14811](https://github.com/sveltejs/svelte/pull/14811)) ### [`v5.16.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5161) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.16.0...svelte@5.16.1) ##### Patch Changes - fix: ensure unowned deriveds correctly get re-linked to the graph ([#&#8203;14855](https://github.com/sveltejs/svelte/pull/14855)) - fix: ensure $inspect.trace works correctly with null values ([#&#8203;14853](https://github.com/sveltejs/svelte/pull/14853)) ### [`v5.16.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5160) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.15.0...svelte@5.16.0) ##### Minor Changes - feat: allow `class` attribute to be an object or array, using `clsx` ([#&#8203;14714](https://github.com/sveltejs/svelte/pull/14714)) ##### Patch Changes - fix: don't include keyframes in global scope in the keyframes to rename ([#&#8203;14822](https://github.com/sveltejs/svelte/pull/14822)) ### [`v5.15.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5150) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.14.6...svelte@5.15.0) ##### Minor Changes - feat: add "worker" exports condition to better support bundling for worker-based environments ([#&#8203;14779](https://github.com/sveltejs/svelte/pull/14779)) ### [`v5.14.6`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5146) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.14.5...svelte@5.14.6) ##### Patch Changes - fix: treeshake `$inspect.trace` code if unused in modules ([#&#8203;14774](https://github.com/sveltejs/svelte/pull/14774)) - fix: Improve typescript DX for $inspect, $props, $bindable, and $host ([#&#8203;14777](https://github.com/sveltejs/svelte/pull/14777)) ### [`v5.14.5`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5145) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.14.4...svelte@5.14.5) ##### Patch Changes - fix: bump esrap dependency ([#&#8203;14765](https://github.com/sveltejs/svelte/pull/14765)) - fix: ensure svg namespace for `<a>` elements is correct ([#&#8203;14756](https://github.com/sveltejs/svelte/pull/14756)) - fix: treeshake `$inspect.trace` code if unused ([#&#8203;14770](https://github.com/sveltejs/svelte/pull/14770)) ### [`v5.14.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5144) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.14.3...svelte@5.14.4) ##### Patch Changes - fix: remove implements from class declarations ([#&#8203;14749](https://github.com/sveltejs/svelte/pull/14749)) - fix: remove unwanted properties from both replaced and unreplaced nodes ([#&#8203;14744](https://github.com/sveltejs/svelte/pull/14744)) ### [`v5.14.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5143) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.14.2...svelte@5.14.3) ##### Patch Changes - fix: bump esrap, prevent malformed AST ([#&#8203;14742](https://github.com/sveltejs/svelte/pull/14742)) - fix: compare array contents for equality mismatch detections, not the arrays themselves ([#&#8203;14738](https://github.com/sveltejs/svelte/pull/14738)) ### [`v5.14.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5142) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.14.1...svelte@5.14.2) ##### Patch Changes - fix: correctly highlight first rerun of `$inspect.trace` ([#&#8203;14734](https://github.com/sveltejs/svelte/pull/14734)) - chore: more loose parser improvements ([#&#8203;14733](https://github.com/sveltejs/svelte/pull/14733)) ### [`v5.14.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5141) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.14.0...svelte@5.14.1) ##### Patch Changes - fix: improve unowned derived performance ([#&#8203;14724](https://github.com/sveltejs/svelte/pull/14724)) ### [`v5.14.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5140) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.13.0...svelte@5.14.0) ##### Minor Changes - feat: adds $inspect.trace rune ([#&#8203;14290](https://github.com/sveltejs/svelte/pull/14290)) ### [`v5.13.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5130) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.12.0...svelte@5.13.0) ##### Minor Changes - feat: add `outro` option to `unmount` ([#&#8203;14540](https://github.com/sveltejs/svelte/pull/14540)) - feat: provide loose parser mode ([#&#8203;14691](https://github.com/sveltejs/svelte/pull/14691)) ### [`v5.12.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5120) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.11.3...svelte@5.12.0) ##### Minor Changes - feat: expose more AST types from `"svelte/compiler"` ([#&#8203;14601](https://github.com/sveltejs/svelte/pull/14601)) ##### Patch Changes - fix: don't add parenthesis to media query if already present ([#&#8203;14699](https://github.com/sveltejs/svelte/pull/14699)) - fix: ensure if block paths retain correct template namespacing ([#&#8203;14685](https://github.com/sveltejs/svelte/pull/14685)) ### [`v5.11.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5113) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.11.2...svelte@5.11.3) ##### Patch Changes - fix: allow unquoted slash in attributes ([#&#8203;14615](https://github.com/sveltejs/svelte/pull/14615)) - fix: better handle hydration of script/style elements ([#&#8203;14683](https://github.com/sveltejs/svelte/pull/14683)) - fix: make `defaultValue` work with spread ([#&#8203;14640](https://github.com/sveltejs/svelte/pull/14640)) - fix: avoid mutation validation for invalidate_inner_signals ([#&#8203;14688](https://github.com/sveltejs/svelte/pull/14688)) ### [`v5.11.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5112) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.11.1...svelte@5.11.2) ##### Patch Changes - fix: correctly handle ssr for `reactivity/window` ([#&#8203;14681](https://github.com/sveltejs/svelte/pull/14681)) ### [`v5.11.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5111) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.11.0...svelte@5.11.1) ##### Patch Changes - fix: account for global block in `is_empty` ([#&#8203;14677](https://github.com/sveltejs/svelte/pull/14677)) - fix: remove overzealous `reactive_declaration_non_reactive_property` warning ([#&#8203;14663](https://github.com/sveltejs/svelte/pull/14663)) ### [`v5.11.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5110) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.10.1...svelte@5.11.0) ##### Minor Changes - feat: add `svelte/reactivity/window` module ([#&#8203;14660](https://github.com/sveltejs/svelte/pull/14660)) ##### Patch Changes - fix: take into account registration state when setting custom element props ([#&#8203;14508](https://github.com/sveltejs/svelte/pull/14508)) ### [`v5.10.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5101) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.10.0...svelte@5.10.1) ##### Patch Changes - fix: ensure snippet hoisting works in the correct scope ([#&#8203;14642](https://github.com/sveltejs/svelte/pull/14642)) - fix: ensure $state.snapshot clones holey arrays correctly ([#&#8203;14657](https://github.com/sveltejs/svelte/pull/14657)) - fix: restore input binding selection position ([#&#8203;14649](https://github.com/sveltejs/svelte/pull/14649)) - fix: transform everything that is not a selector inside `:global` ([#&#8203;14577](https://github.com/sveltejs/svelte/pull/14577)) - Overwrite Spring.#last_value when using .set() with {instant: true} ([#&#8203;14656](https://github.com/sveltejs/svelte/pull/14656)) - fix: don't emit assignment warnings for bindings ([#&#8203;14651](https://github.com/sveltejs/svelte/pull/14651)) ### [`v5.10.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5100) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.9.1...svelte@5.10.0) ##### Minor Changes - feat: provide links to documentation for errors/warnings ([#&#8203;14629](https://github.com/sveltejs/svelte/pull/14629)) ##### Patch Changes - fix: allow exports with source from script module even if no bind is present ([#&#8203;14620](https://github.com/sveltejs/svelte/pull/14620)) - fix: deconflict `get_name` for literal class properties ([#&#8203;14607](https://github.com/sveltejs/svelte/pull/14607)) ### [`v5.9.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#591) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.9.0...svelte@5.9.1) ##### Patch Changes - fix: mark subtree dynamic for bind with sequence expressions ([#&#8203;14626](https://github.com/sveltejs/svelte/pull/14626)) ### [`v5.9.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#590) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.8.1...svelte@5.9.0) ##### Minor Changes - feat: add support for bind getters/setters ([#&#8203;14307](https://github.com/sveltejs/svelte/pull/14307)) ##### Patch Changes - fix: always run `if` block code the first time ([#&#8203;14597](https://github.com/sveltejs/svelte/pull/14597)) ### [`v5.8.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#581) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.8.0...svelte@5.8.1) ##### Patch Changes - fix: reinstate missing prefersReducedMotion export ([#&#8203;14586](https://github.com/sveltejs/svelte/pull/14586)) ### [`v5.8.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#580) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.7.1...svelte@5.8.0) ##### Minor Changes - feat: add `Spring` and `Tween` classes to `svelte/motion` ([#&#8203;11519](https://github.com/sveltejs/svelte/pull/11519)) ### [`v5.7.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#571) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.7.0...svelte@5.7.1) ##### Patch Changes - fix: ensure bindings always take precedence over spreads ([#&#8203;14575](https://github.com/sveltejs/svelte/pull/14575)) ### [`v5.7.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#570) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.6.2...svelte@5.7.0) ##### Minor Changes - feat: add `createSubscriber` function for creating reactive values that depend on subscriptions ([#&#8203;14422](https://github.com/sveltejs/svelte/pull/14422)) - feat: add reactive `MediaQuery` class, and a `prefersReducedMotion` class instance ([#&#8203;14422](https://github.com/sveltejs/svelte/pull/14422)) ##### Patch Changes - fix: treat `undefined` and `null` the same for the initial input value ([#&#8203;14562](https://github.com/sveltejs/svelte/pull/14562)) ### [`v5.6.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#562) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.6.1...svelte@5.6.2) ##### Patch Changes - chore: make if blocks tree-shakable ([#&#8203;14549](https://github.com/sveltejs/svelte/pull/14549)) ### [`v5.6.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#561) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.6.0...svelte@5.6.1) ##### Patch Changes - fix: handle static form values in combination with default values ([#&#8203;14555](https://github.com/sveltejs/svelte/pull/14555)) ### [`v5.6.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#560) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.5.4...svelte@5.6.0) ##### Minor Changes - feat: support `defaultValue/defaultChecked` for inputs ([#&#8203;14289](https://github.com/sveltejs/svelte/pull/14289)) ### [`v5.5.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#554) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.5.3...svelte@5.5.4) ##### Patch Changes - fix: better error messages for invalid HTML trees ([#&#8203;14445](https://github.com/sveltejs/svelte/pull/14445)) - fix: remove spreaded event handlers when they become nullish ([#&#8203;14546](https://github.com/sveltejs/svelte/pull/14546)) - fix: respect the unidirectional nature of time ([#&#8203;14541](https://github.com/sveltejs/svelte/pull/14541)) ### [`v5.5.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#553) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.5.2...svelte@5.5.3) ##### Patch Changes - fix: don't try to add owners to non-`$state` class fields ([#&#8203;14533](https://github.com/sveltejs/svelte/pull/14533)) - fix: capture infinite_loop_guard in error boundary ([#&#8203;14534](https://github.com/sveltejs/svelte/pull/14534)) - fix: proxify values when assigning using `||=`, `&&=` and `??=` operators ([#&#8203;14273](https://github.com/sveltejs/svelte/pull/14273)) ### [`v5.5.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#552) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.5.0...svelte@5.5.2) ##### Patch Changes - fix: use correct reaction when lazily creating deriveds inside `SvelteDate` ([#&#8203;14525](https://github.com/sveltejs/svelte/pull/14525)) ### [`v5.5.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#550) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.4.0...svelte@5.5.0) ##### Minor Changes - feat: allow snippets to be exported from module scripts ([#&#8203;14315](https://github.com/sveltejs/svelte/pull/14315)) ##### Patch Changes - fix: ignore TypeScript generics on variables ([#&#8203;14509](https://github.com/sveltejs/svelte/pull/14509)) ### [`v5.4.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#540) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.3.2...svelte@5.4.0) ##### Minor Changes - feat: support `#each` without `as` ([#&#8203;14396](https://github.com/sveltejs/svelte/pull/14396)) ### [`v5.3.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#532) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.3.1...svelte@5.3.2) ##### Patch Changes - fix: correctly prune CSS for elements inside snippets ([#&#8203;14494](https://github.com/sveltejs/svelte/pull/14494)) - fix: render attributes during SSR regardless of case ([#&#8203;14492](https://github.com/sveltejs/svelte/pull/14492)) ### [`v5.3.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#531) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.3.0...svelte@5.3.1) ##### Patch Changes - fix: treat spread elements the same as call expressions ([#&#8203;14488](https://github.com/sveltejs/svelte/pull/14488)) - fix: correctly increment/decrement bigints ([#&#8203;14485](https://github.com/sveltejs/svelte/pull/14485)) ### [`v5.3.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#530) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.2.12...svelte@5.3.0) ##### Minor Changes - feat: add error boundaries with `<svelte:boundary>` ([#&#8203;14211](https://github.com/sveltejs/svelte/pull/14211)) ### [`v5.2.12`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5212) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.2.11...svelte@5.2.12) ##### Patch Changes - fix: upgrade to esm-env 1.2.1 to fix issues with non-Vite setups ([#&#8203;14470](https://github.com/sveltejs/svelte/pull/14470)) - fix: prevent infinite loops when pruning CSS ([#&#8203;14474](https://github.com/sveltejs/svelte/pull/14474)) - fix: generate correct code when encountering object expression statement ([#&#8203;14480](https://github.com/sveltejs/svelte/pull/14480)) ### [`v5.2.11`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5211) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.2.10...svelte@5.2.11) ##### Patch Changes - fix: ignore text and expressions outside the template when validating HTML ([#&#8203;14468](https://github.com/sveltejs/svelte/pull/14468)) - fix: better account for render tags when pruning CSS ([#&#8203;14456](https://github.com/sveltejs/svelte/pull/14456)) ### [`v5.2.10`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5210) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.2.9...svelte@5.2.10) ##### Patch Changes - fix: correctly remove unused selectors in middle of selector lists ([#&#8203;14448](https://github.com/sveltejs/svelte/pull/14448)) - chore: upgrade esm-env for Vite 6 support ([#&#8203;14460](https://github.com/sveltejs/svelte/pull/14460)) - fix: strip exported TypeScript function overloads ([#&#8203;14458](https://github.com/sveltejs/svelte/pull/14458)) ### [`v5.2.9`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#529) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.2.8...svelte@5.2.9) ##### Patch Changes - fix: show `:then` block for `null/undefined` value ([#&#8203;14440](https://github.com/sveltejs/svelte/pull/14440)) - fix: relax html parent validation ([#&#8203;14442](https://github.com/sveltejs/svelte/pull/14442)) - fix: prevent memory leak when creating deriveds inside untrack ([#&#8203;14443](https://github.com/sveltejs/svelte/pull/14443)) - fix: disregard TypeScript nodes when pruning CSS ([#&#8203;14446](https://github.com/sveltejs/svelte/pull/14446)) ### [`v5.2.8`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#528) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.2.7...svelte@5.2.8) ##### Patch Changes - fix: correctly prune each blocks ([#&#8203;14403](https://github.com/sveltejs/svelte/pull/14403)) - fix: provide temporary `LegacyComponentType` ([#&#8203;14257](https://github.com/sveltejs/svelte/pull/14257)) - fix: attach spread attribute events synchronously ([#&#8203;14387](https://github.com/sveltejs/svelte/pull/14387)) - fix: ensure last empty text node correctly hydrates ([#&#8203;14425](https://github.com/sveltejs/svelte/pull/14425)) - fix: correctly prune key blocks ([#&#8203;14403](https://github.com/sveltejs/svelte/pull/14403)) ### [`v5.2.7`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#527) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.2.6...svelte@5.2.7) ##### Patch Changes - fix: always use set for private identifiers ([#&#8203;14378](https://github.com/sveltejs/svelte/pull/14378)) ### [`v5.2.6`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#526) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.2.5...svelte@5.2.6) ##### Patch Changes - fix: remove template expression inlining ([#&#8203;14374](https://github.com/sveltejs/svelte/pull/14374)) ### [`v5.2.5`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#525) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.2.4...svelte@5.2.5) ##### Patch Changes - fix: correctly handle srcObject attribute on video elements ([#&#8203;14369](https://github.com/sveltejs/svelte/pull/14369)) - add `contentvisibilityautostatechange` event to element definitions ([#&#8203;14373](https://github.com/sveltejs/svelte/pull/14373)) - fix: tighten up `export default` validation ([#&#8203;14368](https://github.com/sveltejs/svelte/pull/14368)) - fix: include method definitions in class private fields ([#&#8203;14365](https://github.com/sveltejs/svelte/pull/14365)) ### [`v5.2.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#524) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.2.3...svelte@5.2.4) ##### Patch Changes - fix: ensure internal cloning can work circular values ([#&#8203;14347](https://github.com/sveltejs/svelte/pull/14347)) - fix: correctly update dynamic member expressions ([#&#8203;14359](https://github.com/sveltejs/svelte/pull/14359)) - fix: ensure is_pure takes into account $effect.tracking() ([#&#8203;14333](https://github.com/sveltejs/svelte/pull/14333)) - fix: coerce value to number when hydrating range/number input with changed value ([#&#8203;14349](https://github.com/sveltejs/svelte/pull/14349)) ### [`v5.2.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#523) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.2.2...svelte@5.2.3) ##### Patch Changes - fix: ensure dynamic call expressions correctly generate output ([#&#8203;14345](https://github.com/sveltejs/svelte/pull/14345)) ### [`v5.2.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#522) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.2.1...svelte@5.2.2) ##### Patch Changes - fix: treat property accesses of literals as pure ([#&#8203;14325](https://github.com/sveltejs/svelte/pull/14325)) ### [`v5.2.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5212) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.2.0...svelte@5.2.1) ##### Patch Changes - fix: upgrade to esm-env 1.2.1 to fix issues with non-Vite setups ([#&#8203;14470](https://github.com/sveltejs/svelte/pull/14470)) - fix: prevent infinite loops when pruning CSS ([#&#8203;14474](https://github.com/sveltejs/svelte/pull/14474)) - fix: generate correct code when encountering object expression statement ([#&#8203;14480](https://github.com/sveltejs/svelte/pull/14480)) ### [`v5.2.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#520) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.1.17...svelte@5.2.0) ##### Minor Changes - feat: better inlining of static attributes ([#&#8203;14269](https://github.com/sveltejs/svelte/pull/14269)) ### [`v5.1.17`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5117) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.1.16...svelte@5.1.17) ##### Patch Changes - fix: account for `:has(...)` as part of `:root` ([#&#8203;14229](https://github.com/sveltejs/svelte/pull/14229)) - fix: prevent nested pseudo class from being marked as unused ([#&#8203;14229](https://github.com/sveltejs/svelte/pull/14229)) - fix: use strict equality for key block comparisons in runes mode ([#&#8203;14285](https://github.com/sveltejs/svelte/pull/14285)) - fix: bump `is-reference` dependency to fix `import.meta` bug ([#&#8203;14286](https://github.com/sveltejs/svelte/pull/14286)) ### [`v5.1.16`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5116) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.1.15...svelte@5.1.16) ##### Patch Changes - fix: don't wrap pseudo classes inside `:global(...)` with another `:global(...)` during migration ([#&#8203;14267](https://github.com/sveltejs/svelte/pull/14267)) - fix: bail on named slots with that have reserved keywords during migration ([#&#8203;14278](https://github.com/sveltejs/svelte/pull/14278)) ### [`v5.1.15`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5115) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.1.14...svelte@5.1.15) ##### Patch Changes - fix: consider static attributes that are inlined in the template ([#&#8203;14249](https://github.com/sveltejs/svelte/pull/14249)) ### [`v5.1.14`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5114) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.1.13...svelte@5.1.14) ##### Patch Changes - fix: migration script messing with attributes ([#&#8203;14260](https://github.com/sveltejs/svelte/pull/14260)) - fix: do not treat reassigned synthetic binds as state in runes mode ([#&#8203;14236](https://github.com/sveltejs/svelte/pull/14236)) - fix: account for mutations in script module in ownership check ([#&#8203;14253](https://github.com/sveltejs/svelte/pull/14253)) - fix: consider img with loading attribute not static ([#&#8203;14237](https://github.com/sveltejs/svelte/pull/14237)) ### [`v5.1.13`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5113) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.1.12...svelte@5.1.13) ##### Patch Changes - fix: add migration task when there's a variable named that would conflict with a rune ([#&#8203;14216](https://github.com/sveltejs/svelte/pull/14216)) - fix: consider `valueOf` in the reactive methods of `SvelteDate` ([#&#8203;14227](https://github.com/sveltejs/svelte/pull/14227)) - fix: handle sibling combinators within `:has` ([#&#8203;14213](https://github.com/sveltejs/svelte/pull/14213)) - fix: consider variables with synthetic store sub as state ([#&#8203;14195](https://github.com/sveltejs/svelte/pull/14195)) - fix: read index as a source in legacy keyed each block ([#&#8203;14208](https://github.com/sveltejs/svelte/pull/14208)) - fix: account for shadowing children slot during migration ([#&#8203;14224](https://github.com/sveltejs/svelte/pull/14224)) - fix: ensure explicit nesting selector is always applied ([#&#8203;14193](https://github.com/sveltejs/svelte/pull/14193)) - fix: add `lang="ts"` attribute during migration if needed ([#&#8203;14222](https://github.com/sveltejs/svelte/pull/14222)) ### [`v5.1.12`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5112) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.1.11...svelte@5.1.12) ##### Patch Changes - fix: ignore `as` type expressions on property definitions ([#&#8203;14181](https://github.com/sveltejs/svelte/pull/14181)) - fix: restore active reaction if then block throws ([#&#8203;14191](https://github.com/sveltejs/svelte/pull/14191)) - chore: adds legacy mode flag reducing bundle size in runes mode only apps ([#&#8203;14180](https://github.com/sveltejs/svelte/pull/14180)) ### [`v5.1.11`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5111) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.1.10...svelte@5.1.11) ##### Patch Changes - fix: error on TypeScript's `readonly` modifier ([#&#8203;14153](https://github.com/sveltejs/svelte/pull/14153)) - fix: remove scoping for `:not` selectors ([#&#8203;14177](https://github.com/sveltejs/svelte/pull/14177)) ### [`v5.1.10`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5110) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.1.9...svelte@5.1.10) ##### Patch Changes - fix: ensure non-matching elements are scoped for `:not(...)` selector ([#&#8203;13999](https://github.com/sveltejs/svelte/pull/13999)) - fix: ensure video elements autoplay in safari ([#&#8203;14095](https://github.com/sveltejs/svelte/pull/14095)) - fix: ensure trailing multiline comments on props produce correct code ([#&#8203;14143](https://github.com/sveltejs/svelte/issues/14143)#issuecomment-2455702689) ([#&#8203;14143](https://github.com/sveltejs/svelte/pull/14143)) - fix: correctly infer `<a>` tag namespace ([#&#8203;14134](https://github.com/sveltejs/svelte/pull/14134)) - fix: check options namespace for top level `svelte:element`s ([#&#8203;14101](https://github.com/sveltejs/svelte/pull/14101)) - fix: ensure migrate keeps inline/trailing comments in $props type definition ([#&#8203;14143](https://github.com/sveltejs/svelte/pull/14143)) - fix: update links in JSDoc ([#&#8203;14165](https://github.com/sveltejs/svelte/pull/14165)) - fix: ensure SvelteMap and SvelteSet work with generators in dev ([#&#8203;14103](https://github.com/sveltejs/svelte/pull/14103)) - fix: only output the key for each_key_duplicate ([#&#8203;14147](https://github.com/sveltejs/svelte/pull/14147)) - fix: prevent migrated snippet from shadow snippet prop ([#&#8203;14127](https://github.com/sveltejs/svelte/pull/14127)) - fix: pass along `anchor` in legacy class wrappers ([#&#8203;14100](https://github.com/sveltejs/svelte/pull/14100)) - fix: recognize all custom element prop definitions ([#&#8203;14084](https://github.com/sveltejs/svelte/pull/14084)) - fix: migrate multiple declarations with only some exported correctly ([#&#8203;14126](https://github.com/sveltejs/svelte/pull/14126)) ### [`v5.1.9`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#519) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.1.8...svelte@5.1.9) ##### Patch Changes - fix: ensure transitions are applied to nested elements ([#&#8203;14080](https://github.com/sveltejs/svelte/pull/14080)) ### [`v5.1.8`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#518) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.1.7...svelte@5.1.8) ##### Patch Changes - fix: ensure compiler statements are correctly included ([#&#8203;14074](https://github.com/sveltejs/svelte/pull/14074)) ### [`v5.1.7`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#517) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.1.6...svelte@5.1.7) ##### Patch Changes - fix: ensure each block inert items are disposed of if the each block is also inert ([#&#8203;13930](https://github.com/sveltejs/svelte/pull/13930)) - fix: allow `warningFilter` option for `compileModule` ([#&#8203;14066](https://github.com/sveltejs/svelte/pull/14066)) - fix: ensure onMount correctly fires when new expressions are used ([#&#8203;14049](https://github.com/sveltejs/svelte/pull/14049)) - fix: wrap `:id`, `:where``:not` and `:has` with `:global` during migration ([#&#8203;13850](https://github.com/sveltejs/svelte/pull/13850)) - fix: ensure custom element attribute/prop changes are in their own context ([#&#8203;14016](https://github.com/sveltejs/svelte/pull/14016)) ### [`v5.1.6`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#516) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.1.5...svelte@5.1.6) ##### Patch Changes - fix: ensure child effects are destroyed before their deriveds ([#&#8203;14043](https://github.com/sveltejs/svelte/pull/14043)) ### [`v5.1.5`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#515) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.1.4...svelte@5.1.5) ##### Patch Changes - fix: replace typo in compiler error messages ([#&#8203;14044](https://github.com/sveltejs/svelte/pull/14044)) - fix: preserve the separator between selectors when an unused selector is in between ([#&#8203;13954](https://github.com/sveltejs/svelte/pull/13954)) - fix: more robust re-subscribe detection for `fromStore` ([#&#8203;13995](https://github.com/sveltejs/svelte/pull/13995)) - fix: allow to pass in TS preference to migration ([#&#8203;13929](https://github.com/sveltejs/svelte/pull/13929)) - fix: extend derived/state validation error to indirect exports ([#&#8203;14039](https://github.com/sveltejs/svelte/pull/14039)) - fix: minify inject CSS in prod mode ([#&#8203;14006](https://github.com/sveltejs/svelte/pull/14006)) - fix: ensure toStore subscription correctly syncs latest value ([#&#8203;14015](https://github.com/sveltejs/svelte/pull/14015)) - fix: don't access `requestAnimationFrame` until needed to reduce need for mocks during testing ([#&#8203;14040](https://github.com/sveltejs/svelte/pull/14040)) - fix: ensure element effects are executed in the correct order ([#&#8203;14038](https://github.com/sveltejs/svelte/pull/14038)) - fix: make compiler error extend from `Error` ([#&#8203;14036](https://github.com/sveltejs/svelte/pull/14036)) ### [`v5.1.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#514) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.1.3...svelte@5.1.4) ##### Patch Changes - fix: add empty stack to `CompileDiagnostic` to show error on build ([#&#8203;13942](https://github.com/sveltejs/svelte/pull/13942)) - fix: ensure effect_tracking correctly handles tracking reactions ([#&#8203;14005](https://github.com/sveltejs/svelte/pull/14005)) - fix: update broken links ([#&#8203;13944](https://github.com/sveltejs/svelte/pull/13944)) - fix: more exhaustive check during `SvelteMap.set` in deriveds ([#&#8203;13951](https://github.com/sveltejs/svelte/pull/13951)) - fix: trim whitespace while migrating blocks ([#&#8203;13941](https://github.com/sveltejs/svelte/pull/13941)) - fix: update links that previously pointed to preview site ([#&#8203;14001](https://github.com/sveltejs/svelte/pull/14001)) - fix: properly migrate imports types prefixed with $ ([#&#8203;14007](https://github.com/sveltejs/svelte/pull/14007)) ### [`v5.1.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#513) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.1.2...svelte@5.1.3) ##### Patch Changes - fix: rethrow errors from await block if no catch block exists ([#&#8203;13819](https://github.com/sveltejs/svelte/pull/13819)) - fix: ensure SVG element attributes have case preserved ([#&#8203;13935](https://github.com/sveltejs/svelte/pull/13935)) - fix: ensure bind:group works as intended with proxied state objects ([#&#8203;13939](https://github.com/sveltejs/svelte/pull/13939)) - fix: ensure value is correctly set to zero on the progress element ([#&#8203;13924](https://github.com/sveltejs/svelte/pull/13924)) - fix: skip comment nodes in snippet validation logic ([#&#8203;13936](https://github.com/sveltejs/svelte/pull/13936)) - fix: typo in `Action` types ([#&#8203;13874](https://github.com/sveltejs/svelte/pull/13874)) - fix: remove metadata from legacy AST ([#&#8203;13927](https://github.com/sveltejs/svelte/pull/13927)) ### [`v5.1.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#512) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.1.1...svelte@5.1.2) ##### Patch Changes - fix: improve consistency of transitions ([#&#8203;13895](https://github.com/sveltejs/svelte/pull/13895)) - fix: enable bound store props in runes mode components ([#&#8203;13887](https://github.com/sveltejs/svelte/pull/13887)) - fix: ensure each block references to imports are handled correctly ([#&#8203;13892](https://github.com/sveltejs/svelte/pull/13892)) - fix: ensure SvelteMap reactivity persists through deriveds ([#&#8203;13877](https://github.com/sveltejs/svelte/pull/13877)) - fix: ensure snippets after empty text correctly hydrate ([#&#8203;13870](https://github.com/sveltejs/svelte/pull/13870)) - fix: prevent migration script from adding `props.` to the `export let` identifier ([#&#8203;13899](https://github.com/sveltejs/svelte/pull/13899)) - fix: prevent var name clashing for delegated events without params ([#&#8203;13896](https://github.com/sveltejs/svelte/pull/13896)) ### [`v5.1.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5117) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.1.0...svelte@5.1.1) ##### Patch Changes - fix: account for `:has(...)` as part of `:root` ([#&#8203;14229](https://github.com/sveltejs/svelte/pull/14229)) - fix: prevent nested pseudo class from being marked as unused ([#&#8203;14229](https://github.com/sveltejs/svelte/pull/14229)) - fix: use strict equality for key block comparisons in runes mode ([#&#8203;14285](https://github.com/sveltejs/svelte/pull/14285)) - fix: bump `is-reference` dependency to fix `import.meta` bug ([#&#8203;14286](https://github.com/sveltejs/svelte/pull/14286)) ### [`v5.1.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#510) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.0.5...svelte@5.1.0) ##### Minor Changes - feat: export mount() options as the MountOptions type ([#&#8203;13674](https://github.com/sveltejs/svelte/pull/13674)) - feat: allow usage of getContext() within $derived runes ([#&#8203;13830](https://github.com/sveltejs/svelte/pull/13830)) ##### Patch Changes - fix: properly migrate ts with inferred type comments ([#&#8203;13761](https://github.com/sveltejs/svelte/pull/13761)) - fix: correct property name conversion in custom transitions ([#&#8203;13820](https://github.com/sveltejs/svelte/pull/13820)) - fix: ensure $effect.tracking returns false inside transition functions ([#&#8203;13775](https://github.com/sveltejs/svelte/pull/13775)) - fix: migrate default slots to children snippet ([#&#8203;13760](https://github.com/sveltejs/svelte/pull/13760)) - fix: don't print errors on migration errors ([#&#8203;13754](https://github.com/sveltejs/svelte/pull/13754)) - fix: prevent spread attribute from overriding class directive ([#&#8203;13763](https://github.com/sveltejs/svelte/pull/13763)) - fix: ensure `:has` selectors followed by other selectors match ([#&#8203;13824](https://github.com/sveltejs/svelte/pull/13824)) - fix: ensure muted DOM property works correctly in FF ([#&#8203;13751](https://github.com/sveltejs/svelte/pull/13751)) - fix: show filename information in `legacy_recursive_reactive_block` ([#&#8203;13764](https://github.com/sveltejs/svelte/pull/13764)) ### [`v5.0.5`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#505) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.0.4...svelte@5.0.5) ##### Patch Changes - fix: mark `:has` selectors with multiple preceding selectors as used ([#&#8203;13750](https://github.com/sveltejs/svelte/pull/13750)) - fix: ensure event context is reset before invoking callback ([#&#8203;13737](https://github.com/sveltejs/svelte/pull/13737)) - fix: add more robust check for `Element` prototype ([#&#8203;13744](https://github.com/sveltejs/svelte/pull/13744)) - fix: do not comment out unused selectors that are inside an unused selector ([#&#8203;13746](https://github.com/sveltejs/svelte/pull/13746)) - fix: more accurately detect `$derived` migration opportunities ([#&#8203;13740](https://github.com/sveltejs/svelte/pull/13740)) - fix: [@&#8203;debug](https://github.com/debug) does not work with proxied-state ([#&#8203;13690](https://github.com/sveltejs/svelte/pull/13690)) - fix: do not add jsdoc if no types found ([#&#8203;13738](https://github.com/sveltejs/svelte/pull/13738)) ### [`v5.0.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#504) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.0.3...svelte@5.0.4) ##### Patch Changes - fix: webview preload tag can be any string ([#&#8203;13733](https://github.com/sveltejs/svelte/pull/13733)) - fix: better children snippet / default slot interop ([#&#8203;13734](https://github.com/sveltejs/svelte/pull/13734)) ### [`v5.0.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#503) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.0.2...svelte@5.0.3) ##### Patch Changes - chore: ensure transition events are dispatched without current reaction ([#&#8203;13719](https://github.com/sveltejs/svelte/pull/13719)) ### [`v5.0.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#502) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.0.1...svelte@5.0.2) ##### Patch Changes - fix: don't blank css on migration error ([#&#8203;13703](https://github.com/sveltejs/svelte/pull/13703)) ### [`v5.0.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#501) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.0.0...svelte@5.0.1) ##### Patch Changes - fix: use typedef for JSDoc props and maintain comments ([#&#8203;13698](https://github.com/sveltejs/svelte/pull/13698)) ### [`v5.0.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#500) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@4.2.20...svelte@5.0.0) 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](https://svelte-omnisite.vercel.app/) and the [migration guide](https://svelte-omnisite.vercel.app/docs/svelte/v5-migration-guide). </details> --- ### 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 PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
System added 1 commit 2025-05-02 01:31:20 +00:00
chore(deps): update dependency svelte to v5
Some checks failed
FanslySync Build & Test / FanslySync Test Runner (push) Failing after 29m7s
2b39514208
Some checks failed
FanslySync Build & Test / FanslySync Test Runner (push) Failing after 29m7s
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/svelte-5.x:renovate/svelte-5.x
git checkout renovate/svelte-5.x
Sign in to join this conversation.
No description provided.