chore(deps): update dependency svelte to v5.55.7 [security] #3

Open
update-kitten-bot wants to merge 1 commit from renovate/npm-svelte-vulnerability into main

This PR contains the following updates:

Package Change Age Confidence
svelte (source) 5.43.65.55.7 age confidence

Svelte SSR attribute spreading includes inherited properties from prototype chain

CVE-2026-27125 / GHSA-crpf-4hrx-3jrp

More information

Details

In server-side rendering, attribute spreading on elements (e.g. <div {...attrs}>) enumerates inherited properties from the object's prototype chain rather than only own properties. In environments where Object.prototype has already been polluted — a precondition outside of Svelte's control — this can cause unexpected attributes to appear in SSR output or cause SSR to throw errors. Client-side rendering is not affected.

Severity

  • CVSS Score: 5.3 / 10 (Medium)
  • Vector String: CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:L/VI:L/VA:N/SC:H/SI:H/SA:N

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Svelte affected by cross-site scripting via spread attributes in Svelte SSR

CVE-2026-27121 / GHSA-f7gr-6p89-r883

More information

Details

Versions of svelte prior to 5.51.5 are vulnerable to cross-site scripting (XSS) during server-side rendering. When using spread syntax to render attributes from untrusted data, event handler properties are included in the rendered HTML output. If an application spreads user-controlled or external data as element attributes, an attacker can inject malicious event handlers that execute in victims' browsers.

Severity

  • CVSS Score: 5.1 / 10 (Medium)
  • Vector String: CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:L/VI:N/VA:N/SC:H/SI:H/SA:N

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Svelte affected by XSS in SSR <option> element

CVE-2026-27119 / GHSA-h7h7-mm68-gmrc

More information

Details

In certain circumstances, the server-side rendering output of an <option> element does not properly escape its content, potentially allowing HTML injection in the SSR output. Client-side rendering is not affected.

Severity

  • CVSS Score: 5.1 / 10 (Medium)
  • Vector String: CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:L/VI:N/VA:N/SC:H/SI:H/SA:N

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Svelte SSR does not validate dynamic element tag names in <svelte:element>

CVE-2026-27122 / GHSA-m56q-vw4c-c2cp

More information

Details

When using <svelte:element this={tag}> in server-side rendering, the provided tag name is not validated or sanitized before being emitted into the HTML output. If the tag string contains unexpected characters, it can result in HTML injection in the SSR output. Client-side rendering is not affected.

Severity

  • CVSS Score: 5.1 / 10 (Medium)
  • Vector String: CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:L/VI:N/VA:N/SC:H/SI:H/SA:N

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Svelte vulnerable to XSS during SSR with contenteditable bind:innerText and bind:textContent

CVE-2026-27901 / GHSA-phwv-c562-gvmh

More information

Details

The contents of bind:innerText and bind:textContent on contenteditable elements were not properly escaped. This could enable HTML injection and Cross-site Scripting (XSS) if rendering untrusted data as the binding's initial value on the server.

Severity

  • CVSS Score: 5.3 / 10 (Medium)
  • Vector String: CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:H/SI:H/SA:N

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Svelte SSR vulnerable to cross-site scripting via spread attributes

CVE-2026-42599 / GHSA-pr6f-5x2q-rwfp

More information

Details

When using spread syntax to render attributes from untrusted data, event handler properties are included in the rendered HTML output. If an application spreads user-controlled or external data as element attributes, an attacker can inject malicious event handlers that execute in victims' browsers. Note that this vulnerability only triggers if the user's browser has JavaScript enabled but Svelte's hydration mechanism does not reach the vulnerable element before the event fires.

This is similar to but different from CVE-2026-27121.

Severity

  • CVSS Score: 5.1 / 10 (Medium)
  • Vector String: CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Svelte Vulnerable to XSS via DOM Clobbering of Internal Framework State

CVE-2026-42573 / GHSA-rcqx-6q8c-2c42

More information

Details

Svelte was vulnerable to DOM clobbering of its internal framework state on elements, potentially leading to XSS attacks.

You are vulnerable if all of the following is true:

  • you are using attribute spreading on a form element
  • you are using attribute spreading or allow a dynamic value for the name attribute on an input or button element within that form
  • both of these are simultaneously user-controllable
<form {...spread1}>
  <input {...spread2}>
</form>

Severity

  • CVSS Score: 5.3 / 10 (Medium)
  • Vector String: CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:H/SI:H/SA:N

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Release Notes

sveltejs/svelte (svelte)

v5.55.7

Compare Source

Patch Changes

v5.55.6

Compare Source

Patch Changes
  • fix: leave stale promises to wait for a later resolution, instead of rejecting (#​18180)

  • fix: keep dependencies of $state.eager/pending (#​18218)

  • fix: reapply context after transforming error during SSR (#​18099)

  • fix: don't rebase just-created batches (#​18117)

  • chore: allow null for pending in typings (#​18201)

  • fix: flush eager effects in production (#​18107)

  • fix: rethrow error of failed iterable after calling return() (#​18169)

  • fix: account for proxified instance when updating bind:this (#​18147)

  • fix: ensure scheduled batch is flushed if not obsolete (#​18131)

  • fix: resolve stale deriveds with latest value (#​18167)

  • chore: remove unnecessary increment_pending calls (#​18183)

  • fix: correctly compile component member expressions for SSR (#​18192)

  • fix: reset source.updated stack traces after flush (#​18196)

  • fix: replacing async 'blocking' strategy with 'merging' (#​18205)

  • fix: allow @debug tags to reference awaited variables (#​18138)

  • fix: re-run fallback props if dependencies update (#​18146)

  • fix: abort running obsolete async branches (#​18118)

  • fix: ignore comments when reading CSS values (#​18153)

  • fix: wrap Promise.all in save during SSR (#​18178)

  • fix: ignore false-positive errors of $inspect dependencies (#​18106)

v5.55.5

Compare Source

Patch Changes
  • fix: don't mark deriveds while an effect is updating (#​18124)

  • fix: do not dispatch introstart event with animation of animate directive (#​18122)

v5.55.4

Compare Source

Patch Changes
  • fix: never mark a child effect root as inert (#​18111)

  • fix: reset context after waiting on blockers of @const expressions (#​18100)

  • fix: keep flushing new eager effects (#​18102)

v5.55.3

Compare Source

Patch Changes
  • fix: ensure proper HMR updates for dynamic components (#​18079)

  • fix: correctly calculate @const blockers (#​18039)

  • fix: freeze deriveds once their containing effects are destroyed (#​17921)

  • fix: defer error boundary rendering in forks (#​18076)

  • fix: avoid false positives for reactivity loss warning (#​18088)

v5.55.2

Compare Source

Patch Changes
  • fix: invalidate @const tags based on visible references in legacy mode (#​18041)

  • fix: handle parens in template expressions more robustly (#​18075)

  • fix: disallow -- in idPrefix (#​18038)

  • fix: correct types for ontoggle on <details> elements (#​18063)

  • fix: don't override $destroy/set/on instance methods in dev mode (#​18034)

  • fix: unskip branches of earlier batches after commit (#​18048)

  • fix: never set derived.v inside fork (#​18037)

  • fix: skip rebase logic in non-async mode (#​18040)

  • fix: don't reset status of uninitialized deriveds (#​18054)

v5.55.1

Compare Source

Patch Changes
  • fix: unlink errored and otherwise finished batch (#​18264)

  • perf: walk composedPath() directly in delegated event propagation (#​18268)

  • fix: transfer effects when merging batches (#​18254)

  • fix: allow $derived(await ...) in disconnected effect roots (#​18273)

  • fix: remove temporary raw-text hydration markers (#​18269)

  • fix: propagate async @const blockers through closure references so template expressions like {(() => host)()} correctly wait for the awaited value (#​18309)

  • fix: properly unlink batches (#​18298)

  • fix: settle discarded batch (#​18290)

  • fix: declare let: directives before {@const} declarations on slotted elements (#​18271)

  • fix: resume outro-ed branches if they were kept around (#​18291)

  • fix: avoid waterfall-warning when async resolves to same value (#​18297)

  • fix: correctly coordinate component-level effects inside async blocks (#​18260)

  • fix: make unnecessary commit work less likely (#​18263)

  • chore: add tag name to a11y_click_events_have_key_events warning (#​18272)

  • fix: catch rejected promises while merging/committing (#​18266)

v5.55.0

Compare Source

Minor Changes
  • feat: export TweenOptions, SpringOptions, SpringUpdateOptions and Updater from svelte/motion (#​17967)
Patch Changes
  • fix: ensure HMR wrapper forwards correct start/end nodes to active effect (#​17985)

v5.54.1

Compare Source

Patch Changes
  • fix: hydration comments during hmr (#​17975)

  • fix: null out effect.b in destroy_effect (#​17980)

  • fix: group sync statements (#​17977)

  • fix: defer batch resolution until earlier intersecting batches have committed (#​17162)

  • fix: properly invoke iterator.return() during reactivity loss check (#​17966)

  • fix: remove trailing semicolon from {@​const} tag printer (#​17962)

v5.54.0

Compare Source

Minor Changes
  • feat: allow css, runes, customElement compiler options to be functions (#​17951)
Patch Changes
  • fix: reinstate reactivity loss tracking (#​17801)

v5.53.13

Compare Source

Patch Changes
  • fix: ensure $inspect after top level await doesn't break builds (#​17943)

  • fix: resume inert effects when they come from offscreen (#​17942)

  • fix: don't eagerly access not-yet-initialized functions in template (#​17938)

  • fix: discard batches made obsolete by commit (#​17934)

  • fix: ensure "is standalone child" is correctly reset (#​17944)

  • fix: remove nodes in boundary when work is pending and HMR is active (#​17932)

v5.53.12

Compare Source

Patch Changes
  • fix: update select.__value on change (#​17745)

  • chore: add invariant helper for debugging (#​17929)

  • fix: ensure deriveds values are correct across batches (#​17917)

  • fix: handle async RHS in assignment_value_stale (#​17925)

  • fix: avoid traversing clean roots (#​17928)

v5.53.11

Compare Source

Patch Changes
  • fix: remove untrack circular dependency (#​17910)

  • fix: recover from errors that leave a corrupted effect tree (#​17888)

  • fix: properly lazily evaluate RHS when checking for assignment_value_stale (#​17906)

  • fix: resolve boundary in correct batch when hydrating (#​17914)

  • chore: rebase batches after process, not during (#​17900)

v5.53.10

Compare Source

Patch Changes
  • fix: re-process batch if new root effects were scheduled (#​17895)

v5.53.9

Compare Source

Patch Changes
  • fix: better bind:this cleanup timing (#​17885)

v5.53.8

Compare Source

Patch Changes
  • fix: {@html} no longer duplicates content inside contenteditable elements (#​17853)

  • fix: don't access inert block effects (#​17882)

  • fix: handle asnyc updates within pending boundary (#​17873)

  • perf: avoid re-traversing the effect tree after $: assignments (#​17848)

  • chore: simplify scheduling logic (#​17805)

v5.53.7

Compare Source

Patch Changes
  • fix: correctly add __svelte_meta after else-if chains (#​17830)

  • perf: cache element interactivity and source line splitting in compiler (#​17839)

  • chore: avoid rescheduling effects during branch commit (#​17837)

  • perf: optimize CSS selector pruning (#​17846)

  • fix: preserve original boundary errors when keyed each rows are removed during async updates (#​17843)

  • perf: avoid O(n²) name scanning in scope generate and unique (#​17844)

  • fix: preserve each items that are needed by pending batches (#​17819)

v5.53.6

Compare Source

Patch Changes
  • perf: optimize parser hot paths for faster compilation (#​17811)

  • fix: SvelteMap incorrectly handles keys with undefined values (#​17826)

  • fix: SvelteURL search setter now returns the normalized value, matching native URL behavior (#​17828)

  • fix: visit synthetic value node during ssr (#​17824)

  • fix: always case insensitive event handlers during ssr (#​17822)

  • chore: more efficient effect scheduling (#​17808)

  • perf: optimize compiler analysis phase (#​17823)

  • fix: skip redundant batch.apply (#​17816)

  • chore: null out current_batch before committing branches (#​17809)

v5.53.5

Compare Source

Patch Changes

v5.53.4

Compare Source

Patch Changes
  • fix: set server context after async transformError (#​17799)

  • fix: hydrate if blocks correctly (#​17784)

  • fix: handle default parameters scope leaks (#​17788)

  • fix: prevent flushed effects from running again (#​17787)

v5.53.3

Compare Source

Patch Changes
  • fix: render :catch of #await block with correct key (#​17769)

  • chore: pin aria-query@​5.3.1 (#​17772)

  • fix: make string coercion consistent to toString (#​17774)

v5.53.2

Compare Source

Patch Changes
  • fix: update expressions on server deriveds (#​17767)

  • fix: further obfuscate node:crypto import from overzealous static analysis (#​17763)

v5.53.1

Compare Source

Patch Changes
  • fix: ensure $inspect after top level await doesn't break builds (#​17943)

  • fix: resume inert effects when they come from offscreen (#​17942)

  • fix: don't eagerly access not-yet-initialized functions in template (#​17938)

  • fix: discard batches made obsolete by commit (#​17934)

  • fix: ensure "is standalone child" is correctly reset (#​17944)

  • fix: remove nodes in boundary when work is pending and HMR is active (#​17932)

v5.53.0

Compare Source

Minor Changes
  • feat: allow comments in tags (#​17671)

  • feat: allow error boundaries to work on the server (#​17672)

Patch Changes
  • fix: use TrustedHTML to test for customizable <select> support, where necessary (#​17743)

  • fix: ensure head effects are kept in the effect tree (#​17746)

  • chore: deactivate current_batch by default in unset_context (#​17738)

v5.52.0

Compare Source

Minor Changes
  • feat: support TrustedHTML in {@html} expressions (#​17701)
Patch Changes
  • fix: repair dynamic component truthy/falsy hydration mismatches (#​17737)

  • fix: re-run non-render-bound deriveds on the server (#​17674)

v5.51.5

Compare Source

Patch Changes

v5.51.4

Compare Source

Patch Changes
  • chore: proactively defer effects in pending boundary (#​17734)

  • fix: detect and error on non-idempotent each block keys in dev mode (#​17732)

v5.51.3

Compare Source

Patch Changes
  • fix: prevent event delegation logic conflicting between svelte instances (#​17728)

  • fix: treat CSS attribute selectors as case-insensitive for HTML enumerated attributes (#​17712)

  • fix: locate Rollup annontaion friendly to JS downgraders (#​17724)

  • fix: run effects in pending snippets (#​17719)

v5.51.2

Compare Source

Patch Changes
  • fix: take async into consideration for dev delegated handlers (#​17710)

  • fix: emit state_referenced_locally warning for non-destructured props (#​17708)

v5.51.1

Compare Source

Patch Changes
  • fix: don't crash on undefined document.contentType (#​17707)

  • fix: use symbols for encapsulated event delegation (#​17703)

v5.51.0

Compare Source

Minor Changes
  • feat: Use TrustedTypes for HTML handling where supported (#​16271)
Patch Changes
  • fix: sanitize template-literal-special-characters in SSR attribute values (#​17692)

  • fix: follow-up formatting in print() — flush block-level elements into separate sequences (#​17699)

  • fix: preserve delegated event handlers as long as one or more root components are using them (#​17695)

v5.50.3

Compare Source

Patch Changes
  • fix: take into account nodeName case sensitivity on XHTML pages (#​17689)

  • fix: render multiple and selected attributes as empty strings for XHTML compliance (#​17689)

  • fix: always lowercase HTML elements, for XHTML compliance (#​17664)

  • fix: freeze effects-inside-deriveds when disconnecting, unfreeze on reconnect (#​17682)

  • fix: propagate $effect errors to <svelte:boundary> (#​17684)

v5.50.2

Compare Source

Patch Changes
  • fix: resolve effect_update_depth_exceeded when using bind:value on <select> with derived state in legacy mode (#​17645)

  • fix: don't swallow DOMException when media.play() fails in bind:paused (#​17656)

  • chore: provide proper public type for parseCss result (#​17654)

  • fix: robustify blocker calculation (#​17676)

  • fix: reduce if block nesting (#​17662)

v5.50.1

Compare Source

Patch Changes
  • fix: render boolean attribute values as empty strings for XHTML compliance (#​17648)

  • fix: prevent async render tag hydration mismatches (#​17652)

v5.50.0

Compare Source

Minor Changes
  • feat: allow use of createContext when instantiating components programmatically (#​17575)
Patch Changes
  • fix: ensure infinite effect loops are cleared after flushing (#​17601)

  • fix: allow {#key NaN} (#​17642)

  • fix: detect store in each block expression regardless of AST shape (#​17636)

  • fix: treat <menu> like <ul>/<ol> for a11y role checks (#​17638)

  • fix: add vite-ignore comment inside dynamic crypto import (#​17623)

  • chore: wrap JSDoc URLs in @see and @link tags (#​17617)

  • fix: properly hydrate already-resolved async blocks (#​17641)

  • fix: emit each_key_duplicate error in production (#​16724)

  • fix: exit resolved async blocks on correct node when hydrating (#​17640)

v5.49.2

Compare Source

Patch Changes
  • chore: remove SvelteKit data attributes from elements.d.ts (#​17613)

  • fix: avoid erroneous async derived expressions for blocks (#​17604)

  • fix: avoid Cloudflare warnings about not having the "node:crypto" module (#​17612)

  • fix: reschedule effects inside unskipped branches (#​17604)

v5.49.1

Compare Source

Patch Changes
  • fix: merge consecutive large text nodes (#​17587)

  • fix: only create async functions in SSR output when necessary (#​17593)

  • fix: properly separate multiline html blocks from each other in print() (#​17319)

  • fix: prevent unhandled exceptions arising from dangling promises in

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [svelte](https://svelte.dev) ([source](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte)) | [`5.43.6` → `5.55.7`](https://renovatebot.com/diffs/npm/svelte/5.43.6/5.55.7) | ![age](https://developer.mend.io/api/mc/badges/age/npm/svelte/5.55.7?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/svelte/5.43.6/5.55.7?slim=true) | --- ### Svelte SSR attribute spreading includes inherited properties from prototype chain [CVE-2026-27125](https://nvd.nist.gov/vuln/detail/CVE-2026-27125) / [GHSA-crpf-4hrx-3jrp](https://github.com/advisories/GHSA-crpf-4hrx-3jrp) <details> <summary>More information</summary> #### Details In server-side rendering, attribute spreading on elements (e.g. `<div {...attrs}>`) enumerates inherited properties from the object's prototype chain rather than only own properties. In environments where `Object.prototype` has already been polluted — a precondition outside of Svelte's control — this can cause unexpected attributes to appear in SSR output or cause SSR to throw errors. Client-side rendering is not affected. #### Severity - CVSS Score: 5.3 / 10 (Medium) - Vector String: `CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:L/VI:L/VA:N/SC:H/SI:H/SA:N` #### References - [https://github.com/sveltejs/svelte/security/advisories/GHSA-crpf-4hrx-3jrp](https://github.com/sveltejs/svelte/security/advisories/GHSA-crpf-4hrx-3jrp) - [https://nvd.nist.gov/vuln/detail/CVE-2026-27125](https://nvd.nist.gov/vuln/detail/CVE-2026-27125) - [https://github.com/sveltejs/svelte/commit/73098bb26c6f06e7fd1b0746d817d2c5ee90755f](https://github.com/sveltejs/svelte/commit/73098bb26c6f06e7fd1b0746d817d2c5ee90755f) - [https://github.com/sveltejs/svelte](https://github.com/sveltejs/svelte) - [https://github.com/sveltejs/svelte/releases/tag/svelte@5.51.5](https://github.com/sveltejs/svelte/releases/tag/svelte@5.51.5) This data is provided by [OSV](https://osv.dev/vulnerability/GHSA-crpf-4hrx-3jrp) and the [GitHub Advisory Database](https://github.com/github/advisory-database) ([CC-BY 4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md)). </details> --- ### Svelte affected by cross-site scripting via spread attributes in Svelte SSR [CVE-2026-27121](https://nvd.nist.gov/vuln/detail/CVE-2026-27121) / [GHSA-f7gr-6p89-r883](https://github.com/advisories/GHSA-f7gr-6p89-r883) <details> <summary>More information</summary> #### Details Versions of svelte prior to 5.51.5 are vulnerable to cross-site scripting (XSS) during server-side rendering. When using spread syntax to render attributes from untrusted data, event handler properties are included in the rendered HTML output. If an application spreads user-controlled or external data as element attributes, an attacker can inject malicious event handlers that execute in victims' browsers. #### Severity - CVSS Score: 5.1 / 10 (Medium) - Vector String: `CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:L/VI:N/VA:N/SC:H/SI:H/SA:N` #### References - [https://github.com/sveltejs/svelte/security/advisories/GHSA-f7gr-6p89-r883](https://github.com/sveltejs/svelte/security/advisories/GHSA-f7gr-6p89-r883) - [https://nvd.nist.gov/vuln/detail/CVE-2026-27121](https://nvd.nist.gov/vuln/detail/CVE-2026-27121) - [https://github.com/sveltejs/svelte](https://github.com/sveltejs/svelte) This data is provided by [OSV](https://osv.dev/vulnerability/GHSA-f7gr-6p89-r883) and the [GitHub Advisory Database](https://github.com/github/advisory-database) ([CC-BY 4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md)). </details> --- ### Svelte affected by XSS in SSR `<option>` element [CVE-2026-27119](https://nvd.nist.gov/vuln/detail/CVE-2026-27119) / [GHSA-h7h7-mm68-gmrc](https://github.com/advisories/GHSA-h7h7-mm68-gmrc) <details> <summary>More information</summary> #### Details In certain circumstances, the server-side rendering output of an `<option>` element does not properly escape its content, potentially allowing HTML injection in the SSR output. Client-side rendering is not affected. #### Severity - CVSS Score: 5.1 / 10 (Medium) - Vector String: `CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:L/VI:N/VA:N/SC:H/SI:H/SA:N` #### References - [https://github.com/sveltejs/svelte/security/advisories/GHSA-h7h7-mm68-gmrc](https://github.com/sveltejs/svelte/security/advisories/GHSA-h7h7-mm68-gmrc) - [https://nvd.nist.gov/vuln/detail/CVE-2026-27119](https://nvd.nist.gov/vuln/detail/CVE-2026-27119) - [https://github.com/sveltejs/svelte](https://github.com/sveltejs/svelte) This data is provided by [OSV](https://osv.dev/vulnerability/GHSA-h7h7-mm68-gmrc) and the [GitHub Advisory Database](https://github.com/github/advisory-database) ([CC-BY 4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md)). </details> --- ### Svelte SSR does not validate dynamic element tag names in `<svelte:element>` [CVE-2026-27122](https://nvd.nist.gov/vuln/detail/CVE-2026-27122) / [GHSA-m56q-vw4c-c2cp](https://github.com/advisories/GHSA-m56q-vw4c-c2cp) <details> <summary>More information</summary> #### Details When using `<svelte:element this={tag}>` in server-side rendering, the provided tag name is not validated or sanitized before being emitted into the HTML output. If the tag string contains unexpected characters, it can result in HTML injection in the SSR output. Client-side rendering is not affected. #### Severity - CVSS Score: 5.1 / 10 (Medium) - Vector String: `CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:L/VI:N/VA:N/SC:H/SI:H/SA:N` #### References - [https://github.com/sveltejs/svelte/security/advisories/GHSA-m56q-vw4c-c2cp](https://github.com/sveltejs/svelte/security/advisories/GHSA-m56q-vw4c-c2cp) - [https://nvd.nist.gov/vuln/detail/CVE-2026-27122](https://nvd.nist.gov/vuln/detail/CVE-2026-27122) - [https://github.com/sveltejs/svelte](https://github.com/sveltejs/svelte) This data is provided by [OSV](https://osv.dev/vulnerability/GHSA-m56q-vw4c-c2cp) and the [GitHub Advisory Database](https://github.com/github/advisory-database) ([CC-BY 4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md)). </details> --- ### Svelte vulnerable to XSS during SSR with contenteditable `bind:innerText` and `bind:textContent` [CVE-2026-27901](https://nvd.nist.gov/vuln/detail/CVE-2026-27901) / [GHSA-phwv-c562-gvmh](https://github.com/advisories/GHSA-phwv-c562-gvmh) <details> <summary>More information</summary> #### Details The contents of `bind:innerText` and `bind:textContent` on `contenteditable` elements were not properly escaped. This could enable HTML injection and Cross-site Scripting (XSS) if rendering untrusted data as the binding's initial value on the server. #### Severity - CVSS Score: 5.3 / 10 (Medium) - Vector String: `CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:H/SI:H/SA:N` #### References - [https://github.com/sveltejs/svelte/security/advisories/GHSA-phwv-c562-gvmh](https://github.com/sveltejs/svelte/security/advisories/GHSA-phwv-c562-gvmh) - [https://nvd.nist.gov/vuln/detail/CVE-2026-27901](https://nvd.nist.gov/vuln/detail/CVE-2026-27901) - [https://github.com/sveltejs/svelte/commit/0df5abcae223058ceb95491470372065fb87951d](https://github.com/sveltejs/svelte/commit/0df5abcae223058ceb95491470372065fb87951d) - [https://github.com/sveltejs/svelte](https://github.com/sveltejs/svelte) - [https://github.com/sveltejs/svelte/releases/tag/svelte@5.53.5](https://github.com/sveltejs/svelte/releases/tag/svelte@5.53.5) This data is provided by [OSV](https://osv.dev/vulnerability/GHSA-phwv-c562-gvmh) and the [GitHub Advisory Database](https://github.com/github/advisory-database) ([CC-BY 4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md)). </details> --- ### Svelte SSR vulnerable to cross-site scripting via spread attributes [CVE-2026-42599](https://nvd.nist.gov/vuln/detail/CVE-2026-42599) / [GHSA-pr6f-5x2q-rwfp](https://github.com/advisories/GHSA-pr6f-5x2q-rwfp) <details> <summary>More information</summary> #### Details When using spread syntax to render attributes from untrusted data, event handler properties are included in the rendered HTML output. If an application spreads user-controlled or external data as element attributes, an attacker can inject malicious event handlers that execute in victims' browsers. Note that this vulnerability _only_ triggers if the user's browser has JavaScript enabled but Svelte's hydration mechanism does not reach the vulnerable element before the event fires. This is similar to but different from [CVE-2026-27121](https://nvd.nist.gov/vuln/detail/CVE-2026-27121). #### Severity - CVSS Score: 5.1 / 10 (Medium) - Vector String: `CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N` #### References - [https://github.com/sveltejs/svelte/security/advisories/GHSA-pr6f-5x2q-rwfp](https://github.com/sveltejs/svelte/security/advisories/GHSA-pr6f-5x2q-rwfp) - [https://nvd.nist.gov/vuln/detail/CVE-2026-27121](https://nvd.nist.gov/vuln/detail/CVE-2026-27121) - [https://nvd.nist.gov/vuln/detail/CVE-2026-42599](https://nvd.nist.gov/vuln/detail/CVE-2026-42599) - [https://github.com/sveltejs/svelte](https://github.com/sveltejs/svelte) - [https://github.com/sveltejs/svelte/releases/tag/svelte%405.55.7](https://github.com/sveltejs/svelte/releases/tag/svelte%405.55.7) This data is provided by [OSV](https://osv.dev/vulnerability/GHSA-pr6f-5x2q-rwfp) and the [GitHub Advisory Database](https://github.com/github/advisory-database) ([CC-BY 4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md)). </details> --- ### Svelte Vulnerable to XSS via DOM Clobbering of Internal Framework State [CVE-2026-42573](https://nvd.nist.gov/vuln/detail/CVE-2026-42573) / [GHSA-rcqx-6q8c-2c42](https://github.com/advisories/GHSA-rcqx-6q8c-2c42) <details> <summary>More information</summary> #### Details Svelte was vulnerable to DOM clobbering of its internal framework state on elements, potentially leading to XSS attacks. You are vulnerable if all of the following is true: - you are using attribute spreading on a form element - you are using attribute spreading or allow a dynamic value for the `name` attribute on an input or button element within that form - both of these are simultaneously user-controllable ```svelte <form {...spread1}> <input {...spread2}> </form> ``` #### Severity - CVSS Score: 5.3 / 10 (Medium) - Vector String: `CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:H/SI:H/SA:N` #### References - [https://github.com/sveltejs/svelte/security/advisories/GHSA-rcqx-6q8c-2c42](https://github.com/sveltejs/svelte/security/advisories/GHSA-rcqx-6q8c-2c42) - [https://nvd.nist.gov/vuln/detail/CVE-2026-42573](https://nvd.nist.gov/vuln/detail/CVE-2026-42573) - [https://github.com/sveltejs/svelte](https://github.com/sveltejs/svelte) - [https://github.com/sveltejs/svelte/releases/tag/svelte%405.55.7](https://github.com/sveltejs/svelte/releases/tag/svelte%405.55.7) This data is provided by [OSV](https://osv.dev/vulnerability/GHSA-rcqx-6q8c-2c42) and the [GitHub Advisory Database](https://github.com/github/advisory-database) ([CC-BY 4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md)). </details> --- ### Release Notes <details> <summary>sveltejs/svelte (svelte)</summary> ### [`v5.55.7`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5557) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.55.6...svelte@5.55.7) ##### Patch Changes - fix: prevent XSS on `hydratable` from user contents ([`a16ebc67bbcf8f708360195687e1b2719463e1a4`](https://github.com/sveltejs/svelte/commit/a16ebc67bbcf8f708360195687e1b2719463e1a4)) - chore: bump devalue ([#&#8203;18219](https://github.com/sveltejs/svelte/pull/18219)) - fix: disallow empty attribute names during SSR ([`547853e2406a2147ad7fb5ffeba95b01bd9642da`](https://github.com/sveltejs/svelte/commit/547853e2406a2147ad7fb5ffeba95b01bd9642da)) - fix: harden regex ([`d2375e2ebcab5c88feb5652f1a9d621b8f06b259`](https://github.com/sveltejs/svelte/commit/d2375e2ebcab5c88feb5652f1a9d621b8f06b259)) - fix: move Svelte runtime properties to symbols ([`e1cbbd96441e82c9eb8a23a2903c0d06d3cda991`](https://github.com/sveltejs/svelte/commit/e1cbbd96441e82c9eb8a23a2903c0d06d3cda991)) ### [`v5.55.6`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5556) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.55.5...svelte@5.55.6) ##### Patch Changes - fix: leave stale promises to wait for a later resolution, instead of rejecting ([#&#8203;18180](https://github.com/sveltejs/svelte/pull/18180)) - fix: keep dependencies of `$state.eager/pending` ([#&#8203;18218](https://github.com/sveltejs/svelte/pull/18218)) - fix: reapply context after transforming error during SSR ([#&#8203;18099](https://github.com/sveltejs/svelte/pull/18099)) - fix: don't rebase just-created batches ([#&#8203;18117](https://github.com/sveltejs/svelte/pull/18117)) - chore: allow `null` for `pending` in typings ([#&#8203;18201](https://github.com/sveltejs/svelte/pull/18201)) - fix: flush eager effects in production ([#&#8203;18107](https://github.com/sveltejs/svelte/pull/18107)) - fix: rethrow error of failed iterable after calling `return()` ([#&#8203;18169](https://github.com/sveltejs/svelte/pull/18169)) - fix: account for proxified instance when updating `bind:this` ([#&#8203;18147](https://github.com/sveltejs/svelte/pull/18147)) - fix: ensure scheduled batch is flushed if not obsolete ([#&#8203;18131](https://github.com/sveltejs/svelte/pull/18131)) - fix: resolve stale deriveds with latest value ([#&#8203;18167](https://github.com/sveltejs/svelte/pull/18167)) - chore: remove unnecessary `increment_pending` calls ([#&#8203;18183](https://github.com/sveltejs/svelte/pull/18183)) - fix: correctly compile component member expressions for SSR ([#&#8203;18192](https://github.com/sveltejs/svelte/pull/18192)) - fix: reset `source.updated` stack traces after `flush` ([#&#8203;18196](https://github.com/sveltejs/svelte/pull/18196)) - fix: replacing async 'blocking' strategy with 'merging' ([#&#8203;18205](https://github.com/sveltejs/svelte/pull/18205)) - fix: allow `@debug` tags to reference awaited variables ([#&#8203;18138](https://github.com/sveltejs/svelte/pull/18138)) - fix: re-run fallback props if dependencies update ([#&#8203;18146](https://github.com/sveltejs/svelte/pull/18146)) - fix: abort running obsolete async branches ([#&#8203;18118](https://github.com/sveltejs/svelte/pull/18118)) - fix: ignore comments when reading CSS values ([#&#8203;18153](https://github.com/sveltejs/svelte/pull/18153)) - fix: wrap `Promise.all` in `save` during SSR ([#&#8203;18178](https://github.com/sveltejs/svelte/pull/18178)) - fix: ignore false-positive errors of `$inspect` dependencies ([#&#8203;18106](https://github.com/sveltejs/svelte/pull/18106)) ### [`v5.55.5`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5555) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.55.4...svelte@5.55.5) ##### Patch Changes - fix: don't mark deriveds while an effect is updating ([#&#8203;18124](https://github.com/sveltejs/svelte/pull/18124)) - fix: do not dispatch introstart event with animation of animate directive ([#&#8203;18122](https://github.com/sveltejs/svelte/pull/18122)) ### [`v5.55.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5554) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.55.3...svelte@5.55.4) ##### Patch Changes - fix: never mark a child effect root as inert ([#&#8203;18111](https://github.com/sveltejs/svelte/pull/18111)) - fix: reset context after waiting on blockers of `@const` expressions ([#&#8203;18100](https://github.com/sveltejs/svelte/pull/18100)) - fix: keep flushing new eager effects ([#&#8203;18102](https://github.com/sveltejs/svelte/pull/18102)) ### [`v5.55.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5553) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.55.2...svelte@5.55.3) ##### Patch Changes - fix: ensure proper HMR updates for dynamic components ([#&#8203;18079](https://github.com/sveltejs/svelte/pull/18079)) - fix: correctly calculate `@const` blockers ([#&#8203;18039](https://github.com/sveltejs/svelte/pull/18039)) - fix: freeze deriveds once their containing effects are destroyed ([#&#8203;17921](https://github.com/sveltejs/svelte/pull/17921)) - fix: defer error boundary rendering in forks ([#&#8203;18076](https://github.com/sveltejs/svelte/pull/18076)) - fix: avoid false positives for reactivity loss warning ([#&#8203;18088](https://github.com/sveltejs/svelte/pull/18088)) ### [`v5.55.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5552) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.55.1...svelte@5.55.2) ##### Patch Changes - fix: invalidate `@const` tags based on visible references in legacy mode ([#&#8203;18041](https://github.com/sveltejs/svelte/pull/18041)) - fix: handle parens in template expressions more robustly ([#&#8203;18075](https://github.com/sveltejs/svelte/pull/18075)) - fix: disallow `--` in `idPrefix` ([#&#8203;18038](https://github.com/sveltejs/svelte/pull/18038)) - fix: correct types for `ontoggle` on `<details>` elements ([#&#8203;18063](https://github.com/sveltejs/svelte/pull/18063)) - fix: don't override `$destroy/set/on` instance methods in dev mode ([#&#8203;18034](https://github.com/sveltejs/svelte/pull/18034)) - fix: unskip branches of earlier batches after commit ([#&#8203;18048](https://github.com/sveltejs/svelte/pull/18048)) - fix: never set derived.v inside fork ([#&#8203;18037](https://github.com/sveltejs/svelte/pull/18037)) - fix: skip rebase logic in non-async mode ([#&#8203;18040](https://github.com/sveltejs/svelte/pull/18040)) - fix: don't reset status of uninitialized deriveds ([#&#8203;18054](https://github.com/sveltejs/svelte/pull/18054)) ### [`v5.55.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#55510) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.55.0...svelte@5.55.1) ##### Patch Changes - fix: unlink errored and otherwise finished batch ([#&#8203;18264](https://github.com/sveltejs/svelte/pull/18264)) - perf: walk composedPath() directly in delegated event propagation ([#&#8203;18268](https://github.com/sveltejs/svelte/pull/18268)) - fix: transfer effects when merging batches ([#&#8203;18254](https://github.com/sveltejs/svelte/pull/18254)) - fix: allow `$derived(await ...)` in disconnected effect roots ([#&#8203;18273](https://github.com/sveltejs/svelte/pull/18273)) - fix: remove temporary raw-text hydration markers ([#&#8203;18269](https://github.com/sveltejs/svelte/pull/18269)) - fix: propagate async `@const` blockers through closure references so template expressions like `{(() => host)()}` correctly wait for the awaited value ([#&#8203;18309](https://github.com/sveltejs/svelte/pull/18309)) - fix: properly unlink batches ([#&#8203;18298](https://github.com/sveltejs/svelte/pull/18298)) - fix: settle discarded batch ([#&#8203;18290](https://github.com/sveltejs/svelte/pull/18290)) - fix: declare `let:` directives before `{@const}` declarations on slotted elements ([#&#8203;18271](https://github.com/sveltejs/svelte/pull/18271)) - fix: resume outro-ed branches if they were kept around ([#&#8203;18291](https://github.com/sveltejs/svelte/pull/18291)) - fix: avoid waterfall-warning when async resolves to same value ([#&#8203;18297](https://github.com/sveltejs/svelte/pull/18297)) - fix: correctly coordinate component-level effects inside async blocks ([#&#8203;18260](https://github.com/sveltejs/svelte/pull/18260)) - fix: make unnecessary commit work less likely ([#&#8203;18263](https://github.com/sveltejs/svelte/pull/18263)) - chore: add tag name to `a11y_click_events_have_key_events` warning ([#&#8203;18272](https://github.com/sveltejs/svelte/pull/18272)) - fix: catch rejected promises while merging/committing ([#&#8203;18266](https://github.com/sveltejs/svelte/pull/18266)) ### [`v5.55.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5550) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.54.1...svelte@5.55.0) ##### Minor Changes - feat: export TweenOptions, SpringOptions, SpringUpdateOptions and Updater from svelte/motion ([#&#8203;17967](https://github.com/sveltejs/svelte/pull/17967)) ##### Patch Changes - fix: ensure HMR wrapper forwards correct start/end nodes to active effect ([#&#8203;17985](https://github.com/sveltejs/svelte/pull/17985)) ### [`v5.54.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5541) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.54.0...svelte@5.54.1) ##### Patch Changes - fix: hydration comments during hmr ([#&#8203;17975](https://github.com/sveltejs/svelte/pull/17975)) - fix: null out `effect.b` in `destroy_effect` ([#&#8203;17980](https://github.com/sveltejs/svelte/pull/17980)) - fix: group sync statements ([#&#8203;17977](https://github.com/sveltejs/svelte/pull/17977)) - fix: defer batch resolution until earlier intersecting batches have committed ([#&#8203;17162](https://github.com/sveltejs/svelte/pull/17162)) - fix: properly invoke `iterator.return()` during reactivity loss check ([#&#8203;17966](https://github.com/sveltejs/svelte/pull/17966)) - fix: remove trailing semicolon from {[@&#8203;const](https://github.com/const)} tag printer ([#&#8203;17962](https://github.com/sveltejs/svelte/pull/17962)) ### [`v5.54.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5540) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.53.13...svelte@5.54.0) ##### Minor Changes - feat: allow `css`, `runes`, `customElement` compiler options to be functions ([#&#8203;17951](https://github.com/sveltejs/svelte/pull/17951)) ##### Patch Changes - fix: reinstate reactivity loss tracking ([#&#8203;17801](https://github.com/sveltejs/svelte/pull/17801)) ### [`v5.53.13`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#55313) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.53.12...svelte@5.53.13) ##### Patch Changes - fix: ensure `$inspect` after top level await doesn't break builds ([#&#8203;17943](https://github.com/sveltejs/svelte/pull/17943)) - fix: resume inert effects when they come from offscreen ([#&#8203;17942](https://github.com/sveltejs/svelte/pull/17942)) - fix: don't eagerly access not-yet-initialized functions in template ([#&#8203;17938](https://github.com/sveltejs/svelte/pull/17938)) - fix: discard batches made obsolete by commit ([#&#8203;17934](https://github.com/sveltejs/svelte/pull/17934)) - fix: ensure "is standalone child" is correctly reset ([#&#8203;17944](https://github.com/sveltejs/svelte/pull/17944)) - fix: remove nodes in boundary when work is pending and HMR is active ([#&#8203;17932](https://github.com/sveltejs/svelte/pull/17932)) ### [`v5.53.12`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#55312) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.53.11...svelte@5.53.12) ##### Patch Changes - fix: update `select.__value` on `change` ([#&#8203;17745](https://github.com/sveltejs/svelte/pull/17745)) - chore: add `invariant` helper for debugging ([#&#8203;17929](https://github.com/sveltejs/svelte/pull/17929)) - fix: ensure deriveds values are correct across batches ([#&#8203;17917](https://github.com/sveltejs/svelte/pull/17917)) - fix: handle async RHS in `assignment_value_stale` ([#&#8203;17925](https://github.com/sveltejs/svelte/pull/17925)) - fix: avoid traversing clean roots ([#&#8203;17928](https://github.com/sveltejs/svelte/pull/17928)) ### [`v5.53.11`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#55311) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.53.10...svelte@5.53.11) ##### Patch Changes - fix: remove `untrack` circular dependency ([#&#8203;17910](https://github.com/sveltejs/svelte/pull/17910)) - fix: recover from errors that leave a corrupted effect tree ([#&#8203;17888](https://github.com/sveltejs/svelte/pull/17888)) - fix: properly lazily evaluate RHS when checking for `assignment_value_stale` ([#&#8203;17906](https://github.com/sveltejs/svelte/pull/17906)) - fix: resolve boundary in correct batch when hydrating ([#&#8203;17914](https://github.com/sveltejs/svelte/pull/17914)) - chore: rebase batches after process, not during ([#&#8203;17900](https://github.com/sveltejs/svelte/pull/17900)) ### [`v5.53.10`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#55310) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.53.9...svelte@5.53.10) ##### Patch Changes - fix: re-process batch if new root effects were scheduled ([#&#8203;17895](https://github.com/sveltejs/svelte/pull/17895)) ### [`v5.53.9`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5539) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.53.8...svelte@5.53.9) ##### Patch Changes - fix: better `bind:this` cleanup timing ([#&#8203;17885](https://github.com/sveltejs/svelte/pull/17885)) ### [`v5.53.8`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5538) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.53.7...svelte@5.53.8) ##### Patch Changes - fix: `{@html}` no longer duplicates content inside `contenteditable` elements ([#&#8203;17853](https://github.com/sveltejs/svelte/pull/17853)) - fix: don't access inert block effects ([#&#8203;17882](https://github.com/sveltejs/svelte/pull/17882)) - fix: handle asnyc updates within pending boundary ([#&#8203;17873](https://github.com/sveltejs/svelte/pull/17873)) - perf: avoid re-traversing the effect tree after `$:` assignments ([#&#8203;17848](https://github.com/sveltejs/svelte/pull/17848)) - chore: simplify scheduling logic ([#&#8203;17805](https://github.com/sveltejs/svelte/pull/17805)) ### [`v5.53.7`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5537) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.53.6...svelte@5.53.7) ##### Patch Changes - fix: correctly add \_\_svelte\_meta after else-if chains ([#&#8203;17830](https://github.com/sveltejs/svelte/pull/17830)) - perf: cache element interactivity and source line splitting in compiler ([#&#8203;17839](https://github.com/sveltejs/svelte/pull/17839)) - chore: avoid rescheduling effects during branch commit ([#&#8203;17837](https://github.com/sveltejs/svelte/pull/17837)) - perf: optimize CSS selector pruning ([#&#8203;17846](https://github.com/sveltejs/svelte/pull/17846)) - fix: preserve original boundary errors when keyed each rows are removed during async updates ([#&#8203;17843](https://github.com/sveltejs/svelte/pull/17843)) - perf: avoid O(n²) name scanning in scope `generate` and `unique` ([#&#8203;17844](https://github.com/sveltejs/svelte/pull/17844)) - fix: preserve each items that are needed by pending batches ([#&#8203;17819](https://github.com/sveltejs/svelte/pull/17819)) ### [`v5.53.6`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5536) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.53.5...svelte@5.53.6) ##### Patch Changes - perf: optimize parser hot paths for faster compilation ([#&#8203;17811](https://github.com/sveltejs/svelte/pull/17811)) - fix: `SvelteMap` incorrectly handles keys with `undefined` values ([#&#8203;17826](https://github.com/sveltejs/svelte/pull/17826)) - fix: SvelteURL `search` setter now returns the normalized value, matching native URL behavior ([#&#8203;17828](https://github.com/sveltejs/svelte/pull/17828)) - fix: visit synthetic value node during ssr ([#&#8203;17824](https://github.com/sveltejs/svelte/pull/17824)) - fix: always case insensitive event handlers during ssr ([#&#8203;17822](https://github.com/sveltejs/svelte/pull/17822)) - chore: more efficient effect scheduling ([#&#8203;17808](https://github.com/sveltejs/svelte/pull/17808)) - perf: optimize compiler analysis phase ([#&#8203;17823](https://github.com/sveltejs/svelte/pull/17823)) - fix: skip redundant batch.apply ([#&#8203;17816](https://github.com/sveltejs/svelte/pull/17816)) - chore: null out current\_batch before committing branches ([#&#8203;17809](https://github.com/sveltejs/svelte/pull/17809)) ### [`v5.53.5`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5535) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.53.4...svelte@5.53.5) ##### Patch Changes - fix: escape `innerText` and `textContent` bindings of `contenteditable` ([`0df5abcae223058ceb95491470372065fb87951d`](https://github.com/sveltejs/svelte/commit/0df5abcae223058ceb95491470372065fb87951d)) - fix: sanitize `transformError` values prior to embedding in HTML comments ([`0298e979371bb583855c9810db79a70a551d22b9`](https://github.com/sveltejs/svelte/commit/0298e979371bb583855c9810db79a70a551d22b9)) ### [`v5.53.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5534) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.53.3...svelte@5.53.4) ##### Patch Changes - fix: set server context after async transformError ([#&#8203;17799](https://github.com/sveltejs/svelte/pull/17799)) - fix: hydrate if blocks correctly ([#&#8203;17784](https://github.com/sveltejs/svelte/pull/17784)) - fix: handle default parameters scope leaks ([#&#8203;17788](https://github.com/sveltejs/svelte/pull/17788)) - fix: prevent flushed effects from running again ([#&#8203;17787](https://github.com/sveltejs/svelte/pull/17787)) ### [`v5.53.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5533) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.53.2...svelte@5.53.3) ##### Patch Changes - fix: render `:catch` of `#await` block with correct key ([#&#8203;17769](https://github.com/sveltejs/svelte/pull/17769)) - chore: pin aria-query\@&#8203;5.3.1 ([#&#8203;17772](https://github.com/sveltejs/svelte/pull/17772)) - fix: make string coercion consistent to `toString` ([#&#8203;17774](https://github.com/sveltejs/svelte/pull/17774)) ### [`v5.53.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5532) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.53.1...svelte@5.53.2) ##### Patch Changes - fix: update expressions on server deriveds ([#&#8203;17767](https://github.com/sveltejs/svelte/pull/17767)) - fix: further obfuscate `node:crypto` import from overzealous static analysis ([#&#8203;17763](https://github.com/sveltejs/svelte/pull/17763)) ### [`v5.53.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#55313) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.53.0...svelte@5.53.1) ##### Patch Changes - fix: ensure `$inspect` after top level await doesn't break builds ([#&#8203;17943](https://github.com/sveltejs/svelte/pull/17943)) - fix: resume inert effects when they come from offscreen ([#&#8203;17942](https://github.com/sveltejs/svelte/pull/17942)) - fix: don't eagerly access not-yet-initialized functions in template ([#&#8203;17938](https://github.com/sveltejs/svelte/pull/17938)) - fix: discard batches made obsolete by commit ([#&#8203;17934](https://github.com/sveltejs/svelte/pull/17934)) - fix: ensure "is standalone child" is correctly reset ([#&#8203;17944](https://github.com/sveltejs/svelte/pull/17944)) - fix: remove nodes in boundary when work is pending and HMR is active ([#&#8203;17932](https://github.com/sveltejs/svelte/pull/17932)) ### [`v5.53.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5530) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.52.0...svelte@5.53.0) ##### Minor Changes - feat: allow comments in tags ([#&#8203;17671](https://github.com/sveltejs/svelte/pull/17671)) - feat: allow error boundaries to work on the server ([#&#8203;17672](https://github.com/sveltejs/svelte/pull/17672)) ##### Patch Changes - fix: use TrustedHTML to test for customizable `<select>` support, where necessary ([#&#8203;17743](https://github.com/sveltejs/svelte/pull/17743)) - fix: ensure head effects are kept in the effect tree ([#&#8203;17746](https://github.com/sveltejs/svelte/pull/17746)) - chore: deactivate current\_batch by default in unset\_context ([#&#8203;17738](https://github.com/sveltejs/svelte/pull/17738)) ### [`v5.52.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5520) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.51.5...svelte@5.52.0) ##### Minor Changes - feat: support TrustedHTML in `{@html}` expressions ([#&#8203;17701](https://github.com/sveltejs/svelte/pull/17701)) ##### Patch Changes - fix: repair dynamic component truthy/falsy hydration mismatches ([#&#8203;17737](https://github.com/sveltejs/svelte/pull/17737)) - fix: re-run non-render-bound deriveds on the server ([#&#8203;17674](https://github.com/sveltejs/svelte/pull/17674)) ### [`v5.51.5`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5515) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.51.4...svelte@5.51.5) ##### Patch Changes - fix: check to make sure `svelte:element` tags are valid during SSR ([`73098bb26c6f06e7fd1b0746d817d2c5ee90755f`](https://github.com/sveltejs/svelte/commit/73098bb26c6f06e7fd1b0746d817d2c5ee90755f)) - fix: misc option escaping and backwards compatibility ([#&#8203;17741](https://github.com/sveltejs/svelte/pull/17741)) - fix: strip event handlers during SSR ([`a0c7f289156e9fafaeaf5ca14af6c06fe9b9eae5`](https://github.com/sveltejs/svelte/commit/a0c7f289156e9fafaeaf5ca14af6c06fe9b9eae5)) - fix: replace usage of `for in` with `for of Object.keys` ([`f89c7ddd7eebaa1ef3cc540400bec2c9140b330c`](https://github.com/sveltejs/svelte/commit/f89c7ddd7eebaa1ef3cc540400bec2c9140b330c)) - fix: always escape option body in SSR ([`f7c80da18c215e3727c2a611b0b8744cc6e504c5`](https://github.com/sveltejs/svelte/commit/f7c80da18c215e3727c2a611b0b8744cc6e504c5)) - chore: upgrade `devalue` ([#&#8203;17739](https://github.com/sveltejs/svelte/pull/17739)) ### [`v5.51.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5514) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.51.3...svelte@5.51.4) ##### Patch Changes - chore: proactively defer effects in pending boundary ([#&#8203;17734](https://github.com/sveltejs/svelte/pull/17734)) - fix: detect and error on non-idempotent each block keys in dev mode ([#&#8203;17732](https://github.com/sveltejs/svelte/pull/17732)) ### [`v5.51.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5513) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.51.2...svelte@5.51.3) ##### Patch Changes - fix: prevent event delegation logic conflicting between svelte instances ([#&#8203;17728](https://github.com/sveltejs/svelte/pull/17728)) - fix: treat CSS attribute selectors as case-insensitive for HTML enumerated attributes ([#&#8203;17712](https://github.com/sveltejs/svelte/pull/17712)) - fix: locate Rollup annontaion friendly to JS downgraders ([#&#8203;17724](https://github.com/sveltejs/svelte/pull/17724)) - fix: run effects in pending snippets ([#&#8203;17719](https://github.com/sveltejs/svelte/pull/17719)) ### [`v5.51.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5512) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.51.1...svelte@5.51.2) ##### Patch Changes - fix: take async into consideration for dev delegated handlers ([#&#8203;17710](https://github.com/sveltejs/svelte/pull/17710)) - fix: emit state\_referenced\_locally warning for non-destructured props ([#&#8203;17708](https://github.com/sveltejs/svelte/pull/17708)) ### [`v5.51.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5511) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.51.0...svelte@5.51.1) ##### Patch Changes - fix: don't crash on undefined `document.contentType` ([#&#8203;17707](https://github.com/sveltejs/svelte/pull/17707)) - fix: use symbols for encapsulated event delegation ([#&#8203;17703](https://github.com/sveltejs/svelte/pull/17703)) ### [`v5.51.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5510) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.50.3...svelte@5.51.0) ##### Minor Changes - feat: Use `TrustedTypes` for HTML handling where supported ([#&#8203;16271](https://github.com/sveltejs/svelte/pull/16271)) ##### Patch Changes - fix: sanitize template-literal-special-characters in SSR attribute values ([#&#8203;17692](https://github.com/sveltejs/svelte/pull/17692)) - fix: follow-up formatting in `print()` — flush block-level elements into separate sequences ([#&#8203;17699](https://github.com/sveltejs/svelte/pull/17699)) - fix: preserve delegated event handlers as long as one or more root components are using them ([#&#8203;17695](https://github.com/sveltejs/svelte/pull/17695)) ### [`v5.50.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5503) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.50.2...svelte@5.50.3) ##### Patch Changes - fix: take into account `nodeName` case sensitivity on XHTML pages ([#&#8203;17689](https://github.com/sveltejs/svelte/pull/17689)) - fix: render `multiple` and `selected` attributes as empty strings for XHTML compliance ([#&#8203;17689](https://github.com/sveltejs/svelte/pull/17689)) - fix: always lowercase HTML elements, for XHTML compliance ([#&#8203;17664](https://github.com/sveltejs/svelte/pull/17664)) - fix: freeze effects-inside-deriveds when disconnecting, unfreeze on reconnect ([#&#8203;17682](https://github.com/sveltejs/svelte/pull/17682)) - fix: propagate `$effect` errors to `<svelte:boundary>` ([#&#8203;17684](https://github.com/sveltejs/svelte/pull/17684)) ### [`v5.50.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5502) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.50.1...svelte@5.50.2) ##### Patch Changes - fix: resolve `effect_update_depth_exceeded` when using `bind:value` on `<select>` with derived state in legacy mode ([#&#8203;17645](https://github.com/sveltejs/svelte/pull/17645)) - fix: don't swallow `DOMException` when `media.play()` fails in `bind:paused` ([#&#8203;17656](https://github.com/sveltejs/svelte/pull/17656)) - chore: provide proper public type for `parseCss` result ([#&#8203;17654](https://github.com/sveltejs/svelte/pull/17654)) - fix: robustify blocker calculation ([#&#8203;17676](https://github.com/sveltejs/svelte/pull/17676)) - fix: reduce if block nesting ([#&#8203;17662](https://github.com/sveltejs/svelte/pull/17662)) ### [`v5.50.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5501) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.50.0...svelte@5.50.1) ##### Patch Changes - fix: render boolean attribute values as empty strings for XHTML compliance ([#&#8203;17648](https://github.com/sveltejs/svelte/pull/17648)) - fix: prevent async render tag hydration mismatches ([#&#8203;17652](https://github.com/sveltejs/svelte/pull/17652)) ### [`v5.50.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5500) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.49.2...svelte@5.50.0) ##### Minor Changes - feat: allow use of createContext when instantiating components programmatically ([#&#8203;17575](https://github.com/sveltejs/svelte/pull/17575)) ##### Patch Changes - fix: ensure infinite effect loops are cleared after flushing ([#&#8203;17601](https://github.com/sveltejs/svelte/pull/17601)) - fix: allow `{#key NaN}` ([#&#8203;17642](https://github.com/sveltejs/svelte/pull/17642)) - fix: detect store in each block expression regardless of AST shape ([#&#8203;17636](https://github.com/sveltejs/svelte/pull/17636)) - fix: treat `<menu>` like `<ul>`/`<ol>` for a11y role checks ([#&#8203;17638](https://github.com/sveltejs/svelte/pull/17638)) - fix: add vite-ignore comment inside dynamic crypto import ([#&#8203;17623](https://github.com/sveltejs/svelte/pull/17623)) - chore: wrap JSDoc URLs in `@see` and `@link` tags ([#&#8203;17617](https://github.com/sveltejs/svelte/pull/17617)) - fix: properly hydrate already-resolved async blocks ([#&#8203;17641](https://github.com/sveltejs/svelte/pull/17641)) - fix: emit `each_key_duplicate` error in production ([#&#8203;16724](https://github.com/sveltejs/svelte/pull/16724)) - fix: exit resolved async blocks on correct node when hydrating ([#&#8203;17640](https://github.com/sveltejs/svelte/pull/17640)) ### [`v5.49.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5492) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.49.1...svelte@5.49.2) ##### Patch Changes - chore: remove SvelteKit data attributes from elements.d.ts ([#&#8203;17613](https://github.com/sveltejs/svelte/pull/17613)) - fix: avoid erroneous async derived expressions for blocks ([#&#8203;17604](https://github.com/sveltejs/svelte/pull/17604)) - fix: avoid Cloudflare warnings about not having the "node:crypto" module ([#&#8203;17612](https://github.com/sveltejs/svelte/pull/17612)) - fix: reschedule effects inside unskipped branches ([#&#8203;17604](https://github.com/sveltejs/svelte/pull/17604)) ### [`v5.49.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5491) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.49.0...svelte@5.49.1) ##### Patch Changes - fix: merge consecutive large text nodes ([#&#8203;17587](https://github.com/sveltejs/svelte/pull/17587)) - fix: only create async functions in SSR output when necessary ([#&#8203;17593](https://github.com/sveltejs/svelte/pull/17593)) - fix: properly separate multiline html blocks from each other in `print()` ([#&#8203;17319](https://github.com/sveltejs/svelte/pull/17319)) - fix: prevent unhandled exceptions arising from dangling promises in <script> ([#&#8203;17591](https://github.com/sveltejs/svelte/pull/17591)) ### [`v5.49.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5490) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.48.5...svelte@5.49.0) ##### Minor Changes - feat: allow passing `ShadowRootInit` object to custom element `shadow` option ([#&#8203;17088](https://github.com/sveltejs/svelte/pull/17088)) ##### Patch Changes - fix: throw for unset `createContext` get on the server ([#&#8203;17580](https://github.com/sveltejs/svelte/pull/17580)) - fix: reset effects inside skipped branches ([#&#8203;17581](https://github.com/sveltejs/svelte/pull/17581)) - fix: preserve old dependencies when updating reaction inside fork ([#&#8203;17579](https://github.com/sveltejs/svelte/pull/17579)) - fix: more conservative assignment\_value\_stale warnings ([#&#8203;17574](https://github.com/sveltejs/svelte/pull/17574)) - fix: disregard `popover` elements when determining whether an element has content ([#&#8203;17367](https://github.com/sveltejs/svelte/pull/17367)) - fix: fire introstart/outrostart events after delay, if specified ([#&#8203;17567](https://github.com/sveltejs/svelte/pull/17567)) - fix: increment signal versions when discarding forks ([#&#8203;17577](https://github.com/sveltejs/svelte/pull/17577)) ### [`v5.48.5`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5485) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.48.4...svelte@5.48.5) ##### Patch Changes - fix: run boundary `onerror` callbacks in a microtask, in case they result in the boundary's destruction ([#&#8203;17561](https://github.com/sveltejs/svelte/pull/17561)) - fix: prevent unintended exports from namespaces ([#&#8203;17562](https://github.com/sveltejs/svelte/pull/17562)) - fix: each block breaking with effects interspersed among items ([#&#8203;17550](https://github.com/sveltejs/svelte/pull/17550)) ### [`v5.48.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5484) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.48.3...svelte@5.48.4) ##### Patch Changes - fix: avoid duplicating escaped characters in CSS AST ([#&#8203;17554](https://github.com/sveltejs/svelte/pull/17554)) ### [`v5.48.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5483) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.48.2...svelte@5.48.3) ##### Patch Changes - fix: hydration failing with settled async blocks ([#&#8203;17539](https://github.com/sveltejs/svelte/pull/17539)) - fix: add pointer and touch events to a11y\_no\_static\_element\_interactions warning ([#&#8203;17551](https://github.com/sveltejs/svelte/pull/17551)) - fix: handle false dynamic components in SSR ([#&#8203;17542](https://github.com/sveltejs/svelte/pull/17542)) - fix: avoid unnecessary block effect re-runs after async work completes ([#&#8203;17535](https://github.com/sveltejs/svelte/pull/17535)) - fix: avoid using dev-mode array.includes wrapper on internal array checks ([#&#8203;17536](https://github.com/sveltejs/svelte/pull/17536)) ### [`v5.48.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5482) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.48.1...svelte@5.48.2) ##### Patch Changes - fix: export `wait` function from internal client index ([#&#8203;17530](https://github.com/sveltejs/svelte/pull/17530)) ### [`v5.48.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5481) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.48.0...svelte@5.48.1) ##### Patch Changes - fix: hoist snippets above const in same block ([#&#8203;17516](https://github.com/sveltejs/svelte/pull/17516)) - fix: properly hydrate await in `{@html}` ([#&#8203;17528](https://github.com/sveltejs/svelte/pull/17528)) - fix: batch resolution of async work ([#&#8203;17511](https://github.com/sveltejs/svelte/pull/17511)) - fix: account for empty statements when visiting in transform async ([#&#8203;17524](https://github.com/sveltejs/svelte/pull/17524)) - fix: avoid async overhead for already settled promises ([#&#8203;17461](https://github.com/sveltejs/svelte/pull/17461)) - fix: better code generation for const tags with async dependencies ([#&#8203;17518](https://github.com/sveltejs/svelte/pull/17518)) ### [`v5.48.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5480) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.47.1...svelte@5.48.0) ##### Minor Changes - feat: export `parseCss` from `svelte/compiler` ([#&#8203;17496](https://github.com/sveltejs/svelte/pull/17496)) ##### Patch Changes - fix: handle non-string values in `svelte:element` `this` attribute ([#&#8203;17499](https://github.com/sveltejs/svelte/pull/17499)) - fix: faster deduplication of dependencies ([#&#8203;17503](https://github.com/sveltejs/svelte/pull/17503)) ### [`v5.47.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5471) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.47.0...svelte@5.47.1) ##### Patch Changes - fix: trigger `selectedcontent` reactivity ([#&#8203;17486](https://github.com/sveltejs/svelte/pull/17486)) ### [`v5.47.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5470) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.46.4...svelte@5.47.0) ##### Minor Changes - feat: customizable `<select>` elements ([#&#8203;17429](https://github.com/sveltejs/svelte/pull/17429)) ##### Patch Changes - fix: mark subtree of svelte boundary as dynamic ([#&#8203;17468](https://github.com/sveltejs/svelte/pull/17468)) - fix: don't reset static elements with debug/snippets ([#&#8203;17477](https://github.com/sveltejs/svelte/pull/17477)) ### [`v5.46.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5464) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.46.3...svelte@5.46.4) ##### Patch Changes - fix: use `devalue.uneval` to serialize `hydratable` keys ([`ef81048e238844b729942441541d6dcfe6c8ccca`](https://github.com/sveltejs/svelte/commit/ef81048e238844b729942441541d6dcfe6c8ccca)) ### [`v5.46.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5463) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.46.1...svelte@5.46.3) ##### Patch Changes - fix: reconnect clean deriveds when they are read in a reactive context ([#&#8203;17362](https://github.com/sveltejs/svelte/pull/17362)) - fix: don't transform references of function declarations in legacy mode ([#&#8203;17431](https://github.com/sveltejs/svelte/pull/17431)) - fix: notify deriveds of changes to sources inside forks ([#&#8203;17437](https://github.com/sveltejs/svelte/pull/17437)) - fix: always reconnect deriveds in get, when appropriate ([#&#8203;17451](https://github.com/sveltejs/svelte/pull/17451)) - fix: prevent derives without dependencies from ever re-running ([`286b40c4526ce9970cb81ddd5e65b93b722fe468`](https://github.com/sveltejs/svelte/commit/286b40c4526ce9970cb81ddd5e65b93b722fe468)) - fix: correctly update writable deriveds inside forks ([#&#8203;17437](https://github.com/sveltejs/svelte/pull/17437)) - fix: remove `$inspect` calls after await expressions when compiling for production server code ([#&#8203;17407](https://github.com/sveltejs/svelte/pull/17407)) - fix: clear batch between runs ([#&#8203;17424](https://github.com/sveltejs/svelte/pull/17424)) - fix: adjust `loc` property of `Program` nodes created from `<script>` elements ([#&#8203;17428](https://github.com/sveltejs/svelte/pull/17428)) - fix: don't revert source to UNINITIALIZED state when time travelling ([#&#8203;17409](https://github.com/sveltejs/svelte/pull/17409)) ### [`v5.46.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5461) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.46.0...svelte@5.46.1) ##### Patch Changes - fix: type `currentTarget` in `on` function ([#&#8203;17370](https://github.com/sveltejs/svelte/pull/17370)) - fix: skip static optimisation for stateless deriveds after `await` ([#&#8203;17389](https://github.com/sveltejs/svelte/pull/17389)) - fix: prevent infinite loop when HMRing a component with an `await` ([#&#8203;17380](https://github.com/sveltejs/svelte/pull/17380)) ### [`v5.46.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5460) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.45.10...svelte@5.46.0) ##### Minor Changes - feat: Add `csp` option to `render(...)`, and emit hashes when using `hydratable` ([#&#8203;17338](https://github.com/sveltejs/svelte/pull/17338)) ### [`v5.45.10`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#54510) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.45.9...svelte@5.45.10) ##### Patch Changes - fix: race condition when importing `AsyncLocalStorage` ([#&#8203;17350](https://github.com/sveltejs/svelte/pull/17350)) ### [`v5.45.9`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5459) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.45.8...svelte@5.45.9) ##### Patch Changes - fix: correctly reschedule deferred effects when reviving a batch after async work ([#&#8203;17332](https://github.com/sveltejs/svelte/pull/17332)) - fix: correctly print `!doctype` during `print` ([#&#8203;17341](https://github.com/sveltejs/svelte/pull/17341)) ### [`v5.45.8`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5458) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.45.7...svelte@5.45.8) ##### Patch Changes - fix: set AST `root.start` to `0` and `root.end` to `template.length` ([#&#8203;17125](https://github.com/sveltejs/svelte/pull/17125)) - fix: prevent erroneous `state_referenced_locally` warnings on prop fallbacks ([#&#8203;17329](https://github.com/sveltejs/svelte/pull/17329)) ### [`v5.45.7`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5457) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.45.6...svelte@5.45.7) ##### Patch Changes - fix: Add `<textarea wrap="off">` as a valid attribute value ([#&#8203;17326](https://github.com/sveltejs/svelte/pull/17326)) - fix: add more css selectors to `print()` ([#&#8203;17330](https://github.com/sveltejs/svelte/pull/17330)) - fix: don't crash on `hydratable` serialization failure ([#&#8203;17315](https://github.com/sveltejs/svelte/pull/17315)) ### [`v5.45.6`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5456) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.45.5...svelte@5.45.6) ##### Patch Changes - fix: don't issue a11y warning for `<video>` without captions if it has no `src` ([#&#8203;17311](https://github.com/sveltejs/svelte/pull/17311)) - fix: add `srcObject` to permitted `<audio>`/`<video>` attributes ([#&#8203;17310](https://github.com/sveltejs/svelte/pull/17310)) ### [`v5.45.5`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5455) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.45.4...svelte@5.45.5) ##### Patch Changes - fix: correctly reconcile each blocks after outroing branches are resumed ([#&#8203;17258](https://github.com/sveltejs/svelte/pull/17258)) - fix: destroy each items after siblings are resumed ([#&#8203;17258](https://github.com/sveltejs/svelte/pull/17258)) ### [`v5.45.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5454) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.45.3...svelte@5.45.4) ##### Patch Changes - chore: move DOM-related effect properties to `effect.nodes` ([#&#8203;17293](https://github.com/sveltejs/svelte/pull/17293)) - fix: allow `$props.id()` to occur after an `await` ([#&#8203;17285](https://github.com/sveltejs/svelte/pull/17285)) - fix: keep reactions up to date even when read outside of effect ([#&#8203;17295](https://github.com/sveltejs/svelte/pull/17295)) ### [`v5.45.3`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5453) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.45.2...svelte@5.45.3) ##### Patch Changes - add props to state\_referenced\_locally ([#&#8203;17266](https://github.com/sveltejs/svelte/pull/17266)) - fix: preserve node locations for better sourcemaps ([#&#8203;17269](https://github.com/sveltejs/svelte/pull/17269)) - fix: handle cross-realm Promises in `hydratable` ([#&#8203;17284](https://github.com/sveltejs/svelte/pull/17284)) ### [`v5.45.2`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5452) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.45.1...svelte@5.45.2) ##### Patch Changes - fix: array destructuring after await ([#&#8203;17254](https://github.com/sveltejs/svelte/pull/17254)) - fix: throw on invalid `{@tag}`s ([#&#8203;17256](https://github.com/sveltejs/svelte/pull/17256)) ### [`v5.45.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#54510) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.45.0...svelte@5.45.1) ##### Patch Changes - fix: race condition when importing `AsyncLocalStorage` ([#&#8203;17350](https://github.com/sveltejs/svelte/pull/17350)) ### [`v5.45.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5450) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.44.1...svelte@5.45.0) ##### Minor Changes - feat: add `print(...)` function ([#&#8203;16188](https://github.com/sveltejs/svelte/pull/16188)) ### [`v5.44.1`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5441) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.44.0...svelte@5.44.1) ##### Patch Changes - fix: await blockers before initialising const ([#&#8203;17226](https://github.com/sveltejs/svelte/pull/17226)) - fix: link offscreen items and last effect in each block correctly ([#&#8203;17244](https://github.com/sveltejs/svelte/pull/17244)) - fix: generate correct code for simple destructurings ([#&#8203;17237](https://github.com/sveltejs/svelte/pull/17237)) - fix: ensure each block animations don't mess with transitions ([#&#8203;17238](https://github.com/sveltejs/svelte/pull/17238)) ### [`v5.44.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5440) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.43.15...svelte@5.44.0) ##### Minor Changes - feat: `hydratable` API ([#&#8203;17154](https://github.com/sveltejs/svelte/pull/17154)) ### [`v5.43.15`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#54315) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.43.14...svelte@5.43.15) ##### Patch Changes - fix: don't execute attachments and attribute effects eagerly ([#&#8203;17208](https://github.com/sveltejs/svelte/pull/17208)) - chore: lift "flushSync cannot be called in effects" restriction ([#&#8203;17139](https://github.com/sveltejs/svelte/pull/17139)) - fix: store forked derived values ([#&#8203;17212](https://github.com/sveltejs/svelte/pull/17212)) ### [`v5.43.14`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#54314) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.43.13...svelte@5.43.14) ##### Patch Changes - fix: correctly migrate named self closing slots ([#&#8203;17199](https://github.com/sveltejs/svelte/pull/17199)) - fix: error at compile time instead of at runtime on await expressions inside bindings/transitions/animations/attachments ([#&#8203;17198](https://github.com/sveltejs/svelte/pull/17198)) - fix: take async blockers into account for bindings/transitions/animations/attachments ([#&#8203;17198](https://github.com/sveltejs/svelte/pull/17198)) ### [`v5.43.13`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#54313) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.43.12...svelte@5.43.13) ##### Patch Changes - fix: don't set derived values during time traveling ([#&#8203;17200](https://github.com/sveltejs/svelte/pull/17200)) ### [`v5.43.12`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#54312) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.43.11...svelte@5.43.12) ##### Patch Changes - fix: maintain correct linked list of effects when updating each blocks ([#&#8203;17191](https://github.com/sveltejs/svelte/pull/17191)) ### [`v5.43.11`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#54311) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.43.10...svelte@5.43.11) ##### Patch Changes - perf: don't use tracing overeager during dev ([#&#8203;17183](https://github.com/sveltejs/svelte/pull/17183)) - fix: don't cancel transition of already outroing elements ([#&#8203;17186](https://github.com/sveltejs/svelte/pull/17186)) ### [`v5.43.10`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#54310) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.43.9...svelte@5.43.10) ##### Patch Changes - fix: avoid other batches running with queued root effects of main batch ([#&#8203;17145](https://github.com/sveltejs/svelte/pull/17145)) ### [`v5.43.9`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5439) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.43.8...svelte@5.43.9) ##### Patch Changes - fix: correctly handle functions when determining async blockers ([#&#8203;17137](https://github.com/sveltejs/svelte/pull/17137)) - fix: keep deriveds reactive after their original parent effect was destroyed ([#&#8203;17171](https://github.com/sveltejs/svelte/pull/17171)) - fix: ensure eager effects don't break reactions chain ([#&#8203;17138](https://github.com/sveltejs/svelte/pull/17138)) - fix: ensure async `@const` in boundary hydrates correctly ([#&#8203;17165](https://github.com/sveltejs/svelte/pull/17165)) - fix: take blockers into account when creating `#await` blocks ([#&#8203;17137](https://github.com/sveltejs/svelte/pull/17137)) - fix: parallelize async `@const`s in the template ([#&#8203;17165](https://github.com/sveltejs/svelte/pull/17165)) ### [`v5.43.8`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5438) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.43.7...svelte@5.43.8) ##### Patch Changes - fix: each block losing reactivity when items removed while promise pending ([#&#8203;17150](https://github.com/sveltejs/svelte/pull/17150)) ### [`v5.43.7`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5437) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.43.6...svelte@5.43.7) ##### Patch Changes - fix: properly defer document title until async work is complete ([#&#8203;17158](https://github.com/sveltejs/svelte/pull/17158)) - fix: ensure deferred effects can be rescheduled later on ([#&#8203;17147](https://github.com/sveltejs/svelte/pull/17147)) - fix: take blockers of components into account ([#&#8203;17153](https://github.com/sveltejs/svelte/pull/17153)) </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Berlin) - 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 [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4yNC4zIiwidXBkYXRlZEluVmVyIjoiNDQuMjQuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->
update-kitten-bot force-pushed renovate/npm-svelte-vulnerability from 3a92020f16 to 0eeeb42a65 2026-08-16 00:03:19 +00:00 Compare
update-kitten-bot force-pushed renovate/npm-svelte-vulnerability from 0eeeb42a65 to 0a416283d3 2026-08-23 00:02:49 +00:00 Compare
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/npm-svelte-vulnerability:renovate/npm-svelte-vulnerability
git switch renovate/npm-svelte-vulnerability

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff renovate/npm-svelte-vulnerability
git switch renovate/npm-svelte-vulnerability
git rebase main
git switch main
git merge --ff-only renovate/npm-svelte-vulnerability
git switch renovate/npm-svelte-vulnerability
git rebase main
git switch main
git merge --no-ff renovate/npm-svelte-vulnerability
git switch main
git merge --squash renovate/npm-svelte-vulnerability
git switch main
git merge --ff-only renovate/npm-svelte-vulnerability
git switch main
git merge renovate/npm-svelte-vulnerability
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Gang/doodlesocial!3
No description provided.