Repository navigation
fix: apply ownership mutation ignores to bindings - #18718
Conversation
|
Install the latest version of pnpm add https://pkg.svelte.dev/svelte/c/7e06f84f49bba327e3130e1944adbde0bd2df750Open in Note This PR is from a fork. A maintainer must approve approve each commit before it can be built and installed. |
🦋 Changeset detectedLatest commit: 7e06f84 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
/autofix |
|
@svelte-triage-bot i see you've created a function to call in both places. From what I can see you can keep it a |
|
Implemented the requested simplification in commit
Verification completed:
The commit is ready, but pushing to |
|
@svelte-triage-bot try again; if it fails tell me in more detail what command you used that led to the 403 |
|
Retried; it still failed. Command used: git push agent-fork HEAD:refs/heads/triage/svelte-18715-binding-ignoreResult: Exit status: The local commit remains |
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## svelte@5.57.0 ### Minor Changes - feat: export `RenderOutput`, `SyncRenderOutput`, `Csp` and `Sha256Source` from `svelte/server` ([#18648](#18648)) - feat: add `has` function to `createContext` ([#18472](#18472)) - feat: support `defaultValue` on `<select>` ([#18591](#18591)) - feat: add getOrInsert/getOrInsertComputed to SvelteMap ([#18728](#18728)) ### Patch Changes - fix: block template store subscriptions on the promise that assigns the store ([#18582](#18582)) - fix: route $derived teardown errors through invoke_error_boundary ([#18486](#18486)) - fix: track SvelteDate snapshots in reactions ([#18700](#18700)) - fix: remove `<svelte:head>` anchors on unmount ([#18697](#18697)) - fix: warn on undeclared shorthand event handlers on `<svelte:window>`, `<svelte:document>` and `<svelte:body>` ([#18480](#18480)) - perf: reuse the cached value in the `<option>`/`<select>` value guard ([#18713](#18713)) - fix: prevent malformed AST output for `<select>` with static `value` attribute ([#18449](#18449)) - fix: apply ownership mutation ignores to binding assignments ([#18718](#18718)) - fix: prevent onoutroend from firing twice when compilerOptions.hmr is true ([#18655](#18655)) - fix: preserve whitespace after inline elements when printing ([#18685](#18685)) - perf: fold SSR block-open markers into the branch's first push ([#18712](#18712)) - fix: run `onDestroy` callbacks when a server render throws ([#18585](#18585)) - fix: report `derived_invalid_export` for `export let x = $derived(...)` in runes mode ([#18692](#18692)) - fix: never apply class hash to elements inside `<svelte:head>` ([#18160](#18160)) - fix: keep `defaultChecked` on hydrated radio inputs with spread attributes ([#18701](#18701)) - fix: accept `onfocusin`/`onfocusout` in `a11y_mouse_events_have_key_events` ([#18689](#18689)) - perf: O(n²)→O(n) Map lookups for legacy `$:` reactive statement ordering ([#18602](#18602)) - fix: distinct memoizer on style/class directives ([#18466](#18466)) - fix: measure nested transitions before applying their starting styles ([#18647](#18647)) - fix: don't turn component instances stored in `$state` into state proxies ([#18646](#18646)) - perf: emit `$.only_child` for elements with a single child ([#18717](#18717)) - fix: omit `bind:focused` from SSR output (it has no HTML attribute) ([#18724](#18724)) - fix: more robust rendering of Svelte custom element slots ([#18710](#18710)) - perf: optimize simple object destructuring in `@const` tags ([#18390](#18390)) - fix: properly apply static textarea value attribute during CSR ([#18727](#18727)) - fix: end a restored reaction context at the end of its synchronous segment ([#18694](#18694)) - fix: keep the dependencies of a reaction that throws, so deriveds it read are neither leaked nor stuck in their error ([#18703](#18703)) - fix: don't resurrect outroing elements when an ancestor block is paused and resumed ([#18431](#18431)) - perf: use `$.comment()` for single-comment templates ([#18714](#18714)) - chore: move `@types/trusted-types` to devDependencies ([#18730](#18730)) - perf: store setters cache as `Set` instead of `Array` ([#18251](#18251)) - fix: transform derived assignments and select function bindings correctly during server-side rendering ([#18669](#18669)) - fix: keep boolean attributes with an empty string value when rendering attribute objects on the server ([#18721](#18721)) - fix: sync `SvelteURL` port signal when the protocol setter clears the port ([#18705](#18705)) - fix: block declaration tags and `{@const}` on async values read inside closures ([#18533](#18533)) - fix: avoid css tree-shaking for exported Snippet ([#18540](#18540)) - perf: treat `<img loading>` as a static element again ([#18711](#18711)) - fix: prevent `selectedcontent` mutation from changing the selected option ([#18495](#18495)) - fix: avoid `NaN` keyframe values in `slide` transition for elements without a layout box ([#18430](#18430)) - fix: preserve line feed character references in attribute values ([#18691](#18691)) - fix: decode uppercase-`X` hex numeric character references (`&#X...;`) ([#18708](#18708)) - chore: clarify when `$effect.pre` runs relative to DOM updates ([#18534](#18534)) - fix: scope SSR boundary failed snippets to their boundary ([#18593](#18593)) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.56.10` → `5.57.0`](https://renovatebot.com/diffs/npm/svelte/5.56.10/5.57.0) |  |  | --- ### Release Notes <details> <summary>sveltejs/svelte (svelte)</summary> ### [`v5.57.0`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5570) [Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.56.10...svelte@5.57.0) ##### Minor Changes - feat: export `RenderOutput`, `SyncRenderOutput`, `Csp` and `Sha256Source` from `svelte/server` ([#​18648](sveltejs/svelte#18648)) - feat: add `has` function to `createContext` ([#​18472](sveltejs/svelte#18472)) - feat: support `defaultValue` on `<select>` ([#​18591](sveltejs/svelte#18591)) - feat: add getOrInsert/getOrInsertComputed to SvelteMap ([#​18728](sveltejs/svelte#18728)) ##### Patch Changes - fix: block template store subscriptions on the promise that assigns the store ([#​18582](sveltejs/svelte#18582)) - fix: route $derived teardown errors through invoke\_error\_boundary ([#​18486](sveltejs/svelte#18486)) - fix: track SvelteDate snapshots in reactions ([#​18700](sveltejs/svelte#18700)) - fix: remove `<svelte:head>` anchors on unmount ([#​18697](sveltejs/svelte#18697)) - fix: warn on undeclared shorthand event handlers on `<svelte:window>`, `<svelte:document>` and `<svelte:body>` ([#​18480](sveltejs/svelte#18480)) - perf: reuse the cached value in the `<option>`/`<select>` value guard ([#​18713](sveltejs/svelte#18713)) - fix: prevent malformed AST output for `<select>` with static `value` attribute ([#​18449](sveltejs/svelte#18449)) - fix: apply ownership mutation ignores to binding assignments ([#​18718](sveltejs/svelte#18718)) - fix: prevent onoutroend from firing twice when compilerOptions.hmr is true ([#​18655](sveltejs/svelte#18655)) - fix: preserve whitespace after inline elements when printing ([#​18685](sveltejs/svelte#18685)) - perf: fold SSR block-open markers into the branch's first push ([#​18712](sveltejs/svelte#18712)) - fix: run `onDestroy` callbacks when a server render throws ([#​18585](sveltejs/svelte#18585)) - fix: report `derived_invalid_export` for `export let x = $derived(...)` in runes mode ([#​18692](sveltejs/svelte#18692)) - fix: never apply class hash to elements inside `<svelte:head>` ([#​18160](sveltejs/svelte#18160)) - fix: keep `defaultChecked` on hydrated radio inputs with spread attributes ([#​18701](sveltejs/svelte#18701)) - fix: accept `onfocusin`/`onfocusout` in `a11y_mouse_events_have_key_events` ([#​18689](sveltejs/svelte#18689)) - perf: O(n²)→O(n) Map lookups for legacy `$:` reactive statement ordering ([#​18602](sveltejs/svelte#18602)) - fix: distinct memoizer on style/class directives ([#​18466](sveltejs/svelte#18466)) - fix: measure nested transitions before applying their starting styles ([#​18647](sveltejs/svelte#18647)) - fix: don't turn component instances stored in `$state` into state proxies ([#​18646](sveltejs/svelte#18646)) - perf: emit `$.only_child` for elements with a single child ([#​18717](sveltejs/svelte#18717)) - fix: omit `bind:focused` from SSR output (it has no HTML attribute) ([#​18724](sveltejs/svelte#18724)) - fix: more robust rendering of Svelte custom element slots ([#​18710](sveltejs/svelte#18710)) - perf: optimize simple object destructuring in `@const` tags ([#​18390](sveltejs/svelte#18390)) - fix: properly apply static textarea value attribute during CSR ([#​18727](sveltejs/svelte#18727)) - fix: end a restored reaction context at the end of its synchronous segment ([#​18694](sveltejs/svelte#18694)) - fix: keep the dependencies of a reaction that throws, so deriveds it read are neither leaked nor stuck in their error ([#​18703](sveltejs/svelte#18703)) - fix: don't resurrect outroing elements when an ancestor block is paused and resumed ([#​18431](sveltejs/svelte#18431)) - perf: use `$.comment()` for single-comment templates ([#​18714](sveltejs/svelte#18714)) - chore: move `@types/trusted-types` to devDependencies ([#​18730](sveltejs/svelte#18730)) - perf: store setters cache as `Set` instead of `Array` ([#​18251](sveltejs/svelte#18251)) - fix: transform derived assignments and select function bindings correctly during server-side rendering ([#​18669](sveltejs/svelte#18669)) - fix: keep boolean attributes with an empty string value when rendering attribute objects on the server ([#​18721](sveltejs/svelte#18721)) - fix: sync `SvelteURL` port signal when the protocol setter clears the port ([#​18705](sveltejs/svelte#18705)) - fix: block declaration tags and `{@const}` on async values read inside closures ([#​18533](sveltejs/svelte#18533)) - fix: avoid css tree-shaking for exported Snippet ([#​18540](sveltejs/svelte#18540)) - perf: treat `<img loading>` as a static element again ([#​18711](sveltejs/svelte#18711)) - fix: prevent `selectedcontent` mutation from changing the selected option ([#​18495](sveltejs/svelte#18495)) - fix: avoid `NaN` keyframe values in `slide` transition for elements without a layout box ([#​18430](sveltejs/svelte#18430)) - fix: preserve line feed character references in attribute values ([#​18691](sveltejs/svelte#18691)) - fix: decode uppercase-`X` hex numeric character references (`&#X...;`) ([#​18708](sveltejs/svelte#18708)) - chore: clarify when `$effect.pre` runs relative to DOM updates ([#​18534](sveltejs/svelte#18534)) - fix: scope SSR boundary failed snippets to their boundary ([#​18593](sveltejs/svelte#18593)) </details> --- ### Configuration 📅 **Schedule**: (UTC) - 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:eyJjcmVhdGVkSW5WZXIiOiI0NC41Mi4xIiwidXBkYXRlZEluVmVyIjoiNDQuNTIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
##### [v5.57.0](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5570) ##### Minor Changes - feat: export `RenderOutput`, `SyncRenderOutput`, `Csp` and `Sha256Source` from `svelte/server` ([#18648](sveltejs/svelte#18648)) - feat: add `has` function to `createContext` ([#18472](sveltejs/svelte#18472)) - feat: support `defaultValue` on `<select>` ([#18591](sveltejs/svelte#18591)) - feat: add getOrInsert/getOrInsertComputed to SvelteMap ([#18728](sveltejs/svelte#18728)) ##### Patch Changes - fix: block template store subscriptions on the promise that assigns the store ([#18582](sveltejs/svelte#18582)) - fix: route $derived teardown errors through invoke\_error\_boundary ([#18486](sveltejs/svelte#18486)) - fix: track SvelteDate snapshots in reactions ([#18700](sveltejs/svelte#18700)) - fix: remove `<svelte:head>` anchors on unmount ([#18697](sveltejs/svelte#18697)) - fix: warn on undeclared shorthand event handlers on `<svelte:window>`, `<svelte:document>` and `<svelte:body>` ([#18480](sveltejs/svelte#18480)) - perf: reuse the cached value in the `<option>`/`<select>` value guard ([#18713](sveltejs/svelte#18713)) - fix: prevent malformed AST output for `<select>` with static `value` attribute ([#18449](sveltejs/svelte#18449)) - fix: apply ownership mutation ignores to binding assignments ([#18718](sveltejs/svelte#18718)) - fix: prevent onoutroend from firing twice when compilerOptions.hmr is true ([#18655](sveltejs/svelte#18655)) - fix: preserve whitespace after inline elements when printing ([#18685](sveltejs/svelte#18685)) - perf: fold SSR block-open markers into the branch's first push ([#18712](sveltejs/svelte#18712)) - fix: run `onDestroy` callbacks when a server render throws ([#18585](sveltejs/svelte#18585)) - fix: report `derived_invalid_export` for `export let x = $derived(...)` in runes mode ([#18692](sveltejs/svelte#18692)) - fix: never apply class hash to elements inside `<svelte:head>` ([#18160](sveltejs/svelte#18160)) - fix: keep `defaultChecked` on hydrated radio inputs with spread attributes ([#18701](sveltejs/svelte#18701)) - fix: accept `onfocusin`/`onfocusout` in `a11y_mouse_events_have_key_events` ([#18689](sveltejs/svelte#18689)) - perf: O(n²)→O(n) Map lookups for legacy `$:` reactive statement ordering ([#18602](sveltejs/svelte#18602)) - fix: distinct memoizer on style/class directives ([#18466](sveltejs/svelte#18466)) - fix: measure nested transitions before applying their starting styles ([#18647](sveltejs/svelte#18647)) - fix: don't turn component instances stored in `$state` into state proxies ([#18646](sveltejs/svelte#18646)) - perf: emit `$.only_child` for elements with a single child ([#18717](sveltejs/svelte#18717)) - fix: omit `bind:focused` from SSR output (it has no HTML attribute) ([#18724](sveltejs/svelte#18724)) - fix: more robust rendering of Svelte custom element slots ([#18710](sveltejs/svelte#18710)) - perf: optimize simple object destructuring in `@const` tags ([#18390](sveltejs/svelte#18390)) - fix: properly apply static textarea value attribute during CSR ([#18727](sveltejs/svelte#18727)) - fix: end a restored reaction context at the end of its synchronous segment ([#18694](sveltejs/svelte#18694)) - fix: keep the dependencies of a reaction that throws, so deriveds it read are neither leaked nor stuck in their error ([#18703](sveltejs/svelte#18703)) - fix: don't resurrect outroing elements when an ancestor block is paused and resumed ([#18431](sveltejs/svelte#18431)) - perf: use `$.comment()` for single-comment templates ([#18714](sveltejs/svelte#18714)) - chore: move `@types/trusted-types` to devDependencies ([#18730](sveltejs/svelte#18730)) - perf: store setters cache as `Set` instead of `Array` ([#18251](sveltejs/svelte#18251)) - fix: transform derived assignments and select function bindings correctly during server-side rendering ([#18669](sveltejs/svelte#18669)) - fix: keep boolean attributes with an empty string value when rendering attribute objects on the server ([#18721](sveltejs/svelte#18721)) - fix: sync `SvelteURL` port signal when the protocol setter clears the port ([#18705](sveltejs/svelte#18705)) - fix: block declaration tags and `{@const}` on async values read inside closures ([#18533](sveltejs/svelte#18533)) - fix: avoid css tree-shaking for exported Snippet ([#18540](sveltejs/svelte#18540)) - perf: treat `<img loading>` as a static element again ([#18711](sveltejs/svelte#18711)) - fix: prevent `selectedcontent` mutation from changing the selected option ([#18495](sveltejs/svelte#18495)) - fix: avoid `NaN` keyframe values in `slide` transition for elements without a layout box ([#18430](sveltejs/svelte#18430)) - fix: preserve line feed character references in attribute values ([#18691](sveltejs/svelte#18691)) - fix: decode uppercase-`X` hex numeric character references (`&#X...;`) ([#18708](sveltejs/svelte#18708)) - chore: clarify when `$effect.pre` runs relative to DOM updates ([#18534](sveltejs/svelte#18534)) - fix: scope SSR boundary failed snippets to their boundary ([#18593](sveltejs/svelte#18593))
##### [v5.57.0](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5570) ##### Minor Changes - feat: export `RenderOutput`, `SyncRenderOutput`, `Csp` and `Sha256Source` from `svelte/server` ([#18648](sveltejs/svelte#18648)) - feat: add `has` function to `createContext` ([#18472](sveltejs/svelte#18472)) - feat: support `defaultValue` on `<select>` ([#18591](sveltejs/svelte#18591)) - feat: add getOrInsert/getOrInsertComputed to SvelteMap ([#18728](sveltejs/svelte#18728)) ##### Patch Changes - fix: block template store subscriptions on the promise that assigns the store ([#18582](sveltejs/svelte#18582)) - fix: route $derived teardown errors through invoke\_error\_boundary ([#18486](sveltejs/svelte#18486)) - fix: track SvelteDate snapshots in reactions ([#18700](sveltejs/svelte#18700)) - fix: remove `<svelte:head>` anchors on unmount ([#18697](sveltejs/svelte#18697)) - fix: warn on undeclared shorthand event handlers on `<svelte:window>`, `<svelte:document>` and `<svelte:body>` ([#18480](sveltejs/svelte#18480)) - perf: reuse the cached value in the `<option>`/`<select>` value guard ([#18713](sveltejs/svelte#18713)) - fix: prevent malformed AST output for `<select>` with static `value` attribute ([#18449](sveltejs/svelte#18449)) - fix: apply ownership mutation ignores to binding assignments ([#18718](sveltejs/svelte#18718)) - fix: prevent onoutroend from firing twice when compilerOptions.hmr is true ([#18655](sveltejs/svelte#18655)) - fix: preserve whitespace after inline elements when printing ([#18685](sveltejs/svelte#18685)) - perf: fold SSR block-open markers into the branch's first push ([#18712](sveltejs/svelte#18712)) - fix: run `onDestroy` callbacks when a server render throws ([#18585](sveltejs/svelte#18585)) - fix: report `derived_invalid_export` for `export let x = $derived(...)` in runes mode ([#18692](sveltejs/svelte#18692)) - fix: never apply class hash to elements inside `<svelte:head>` ([#18160](sveltejs/svelte#18160)) - fix: keep `defaultChecked` on hydrated radio inputs with spread attributes ([#18701](sveltejs/svelte#18701)) - fix: accept `onfocusin`/`onfocusout` in `a11y_mouse_events_have_key_events` ([#18689](sveltejs/svelte#18689)) - perf: O(n²)→O(n) Map lookups for legacy `$:` reactive statement ordering ([#18602](sveltejs/svelte#18602)) - fix: distinct memoizer on style/class directives ([#18466](sveltejs/svelte#18466)) - fix: measure nested transitions before applying their starting styles ([#18647](sveltejs/svelte#18647)) - fix: don't turn component instances stored in `$state` into state proxies ([#18646](sveltejs/svelte#18646)) - perf: emit `$.only_child` for elements with a single child ([#18717](sveltejs/svelte#18717)) - fix: omit `bind:focused` from SSR output (it has no HTML attribute) ([#18724](sveltejs/svelte#18724)) - fix: more robust rendering of Svelte custom element slots ([#18710](sveltejs/svelte#18710)) - perf: optimize simple object destructuring in `@const` tags ([#18390](sveltejs/svelte#18390)) - fix: properly apply static textarea value attribute during CSR ([#18727](sveltejs/svelte#18727)) - fix: end a restored reaction context at the end of its synchronous segment ([#18694](sveltejs/svelte#18694)) - fix: keep the dependencies of a reaction that throws, so deriveds it read are neither leaked nor stuck in their error ([#18703](sveltejs/svelte#18703)) - fix: don't resurrect outroing elements when an ancestor block is paused and resumed ([#18431](sveltejs/svelte#18431)) - perf: use `$.comment()` for single-comment templates ([#18714](sveltejs/svelte#18714)) - chore: move `@types/trusted-types` to devDependencies ([#18730](sveltejs/svelte#18730)) - perf: store setters cache as `Set` instead of `Array` ([#18251](sveltejs/svelte#18251)) - fix: transform derived assignments and select function bindings correctly during server-side rendering ([#18669](sveltejs/svelte#18669)) - fix: keep boolean attributes with an empty string value when rendering attribute objects on the server ([#18721](sveltejs/svelte#18721)) - fix: sync `SvelteURL` port signal when the protocol setter clears the port ([#18705](sveltejs/svelte#18705)) - fix: block declaration tags and `{@const}` on async values read inside closures ([#18533](sveltejs/svelte#18533)) - fix: avoid css tree-shaking for exported Snippet ([#18540](sveltejs/svelte#18540)) - perf: treat `<img loading>` as a static element again ([#18711](sveltejs/svelte#18711)) - fix: prevent `selectedcontent` mutation from changing the selected option ([#18495](sveltejs/svelte#18495)) - fix: avoid `NaN` keyframe values in `slide` transition for elements without a layout box ([#18430](sveltejs/svelte#18430)) - fix: preserve line feed character references in attribute values ([#18691](sveltejs/svelte#18691)) - fix: decode uppercase-`X` hex numeric character references (`&#X...;`) ([#18708](sveltejs/svelte#18708)) - chore: clarify when `$effect.pre` runs relative to DOM updates ([#18534](sveltejs/svelte#18534)) - fix: scope SSR boundary failed snippets to their boundary ([#18593](sveltejs/svelte#18593))
##### [v5.57.0](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5570) ##### Minor Changes - feat: export `RenderOutput`, `SyncRenderOutput`, `Csp` and `Sha256Source` from `svelte/server` ([#18648](sveltejs/svelte#18648)) - feat: add `has` function to `createContext` ([#18472](sveltejs/svelte#18472)) - feat: support `defaultValue` on `<select>` ([#18591](sveltejs/svelte#18591)) - feat: add getOrInsert/getOrInsertComputed to SvelteMap ([#18728](sveltejs/svelte#18728)) ##### Patch Changes - fix: block template store subscriptions on the promise that assigns the store ([#18582](sveltejs/svelte#18582)) - fix: route $derived teardown errors through invoke\_error\_boundary ([#18486](sveltejs/svelte#18486)) - fix: track SvelteDate snapshots in reactions ([#18700](sveltejs/svelte#18700)) - fix: remove `<svelte:head>` anchors on unmount ([#18697](sveltejs/svelte#18697)) - fix: warn on undeclared shorthand event handlers on `<svelte:window>`, `<svelte:document>` and `<svelte:body>` ([#18480](sveltejs/svelte#18480)) - perf: reuse the cached value in the `<option>`/`<select>` value guard ([#18713](sveltejs/svelte#18713)) - fix: prevent malformed AST output for `<select>` with static `value` attribute ([#18449](sveltejs/svelte#18449)) - fix: apply ownership mutation ignores to binding assignments ([#18718](sveltejs/svelte#18718)) - fix: prevent onoutroend from firing twice when compilerOptions.hmr is true ([#18655](sveltejs/svelte#18655)) - fix: preserve whitespace after inline elements when printing ([#18685](sveltejs/svelte#18685)) - perf: fold SSR block-open markers into the branch's first push ([#18712](sveltejs/svelte#18712)) - fix: run `onDestroy` callbacks when a server render throws ([#18585](sveltejs/svelte#18585)) - fix: report `derived_invalid_export` for `export let x = $derived(...)` in runes mode ([#18692](sveltejs/svelte#18692)) - fix: never apply class hash to elements inside `<svelte:head>` ([#18160](sveltejs/svelte#18160)) - fix: keep `defaultChecked` on hydrated radio inputs with spread attributes ([#18701](sveltejs/svelte#18701)) - fix: accept `onfocusin`/`onfocusout` in `a11y_mouse_events_have_key_events` ([#18689](sveltejs/svelte#18689)) - perf: O(n²)→O(n) Map lookups for legacy `$:` reactive statement ordering ([#18602](sveltejs/svelte#18602)) - fix: distinct memoizer on style/class directives ([#18466](sveltejs/svelte#18466)) - fix: measure nested transitions before applying their starting styles ([#18647](sveltejs/svelte#18647)) - fix: don't turn component instances stored in `$state` into state proxies ([#18646](sveltejs/svelte#18646)) - perf: emit `$.only_child` for elements with a single child ([#18717](sveltejs/svelte#18717)) - fix: omit `bind:focused` from SSR output (it has no HTML attribute) ([#18724](sveltejs/svelte#18724)) - fix: more robust rendering of Svelte custom element slots ([#18710](sveltejs/svelte#18710)) - perf: optimize simple object destructuring in `@const` tags ([#18390](sveltejs/svelte#18390)) - fix: properly apply static textarea value attribute during CSR ([#18727](sveltejs/svelte#18727)) - fix: end a restored reaction context at the end of its synchronous segment ([#18694](sveltejs/svelte#18694)) - fix: keep the dependencies of a reaction that throws, so deriveds it read are neither leaked nor stuck in their error ([#18703](sveltejs/svelte#18703)) - fix: don't resurrect outroing elements when an ancestor block is paused and resumed ([#18431](sveltejs/svelte#18431)) - perf: use `$.comment()` for single-comment templates ([#18714](sveltejs/svelte#18714)) - chore: move `@types/trusted-types` to devDependencies ([#18730](sveltejs/svelte#18730)) - perf: store setters cache as `Set` instead of `Array` ([#18251](sveltejs/svelte#18251)) - fix: transform derived assignments and select function bindings correctly during server-side rendering ([#18669](sveltejs/svelte#18669)) - fix: keep boolean attributes with an empty string value when rendering attribute objects on the server ([#18721](sveltejs/svelte#18721)) - fix: sync `SvelteURL` port signal when the protocol setter clears the port ([#18705](sveltejs/svelte#18705)) - fix: block declaration tags and `{@const}` on async values read inside closures ([#18533](sveltejs/svelte#18533)) - fix: avoid css tree-shaking for exported Snippet ([#18540](sveltejs/svelte#18540)) - perf: treat `<img loading>` as a static element again ([#18711](sveltejs/svelte#18711)) - fix: prevent `selectedcontent` mutation from changing the selected option ([#18495](sveltejs/svelte#18495)) - fix: avoid `NaN` keyframe values in `slide` transition for elements without a layout box ([#18430](sveltejs/svelte#18430)) - fix: preserve line feed character references in attribute values ([#18691](sveltejs/svelte#18691)) - fix: decode uppercase-`X` hex numeric character references (`&#X...;`) ([#18708](sveltejs/svelte#18708)) - chore: clarify when `$effect.pre` runs relative to DOM updates ([#18534](sveltejs/svelte#18534)) - fix: scope SSR boundary failed snippets to their boundary ([#18593](sveltejs/svelte#18593))
##### [v5.57.0](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5570) ##### Minor Changes - feat: export `RenderOutput`, `SyncRenderOutput`, `Csp` and `Sha256Source` from `svelte/server` ([#18648](sveltejs/svelte#18648)) - feat: add `has` function to `createContext` ([#18472](sveltejs/svelte#18472)) - feat: support `defaultValue` on `<select>` ([#18591](sveltejs/svelte#18591)) - feat: add getOrInsert/getOrInsertComputed to SvelteMap ([#18728](sveltejs/svelte#18728)) ##### Patch Changes - fix: block template store subscriptions on the promise that assigns the store ([#18582](sveltejs/svelte#18582)) - fix: route $derived teardown errors through invoke\_error\_boundary ([#18486](sveltejs/svelte#18486)) - fix: track SvelteDate snapshots in reactions ([#18700](sveltejs/svelte#18700)) - fix: remove `<svelte:head>` anchors on unmount ([#18697](sveltejs/svelte#18697)) - fix: warn on undeclared shorthand event handlers on `<svelte:window>`, `<svelte:document>` and `<svelte:body>` ([#18480](sveltejs/svelte#18480)) - perf: reuse the cached value in the `<option>`/`<select>` value guard ([#18713](sveltejs/svelte#18713)) - fix: prevent malformed AST output for `<select>` with static `value` attribute ([#18449](sveltejs/svelte#18449)) - fix: apply ownership mutation ignores to binding assignments ([#18718](sveltejs/svelte#18718)) - fix: prevent onoutroend from firing twice when compilerOptions.hmr is true ([#18655](sveltejs/svelte#18655)) - fix: preserve whitespace after inline elements when printing ([#18685](sveltejs/svelte#18685)) - perf: fold SSR block-open markers into the branch's first push ([#18712](sveltejs/svelte#18712)) - fix: run `onDestroy` callbacks when a server render throws ([#18585](sveltejs/svelte#18585)) - fix: report `derived_invalid_export` for `export let x = $derived(...)` in runes mode ([#18692](sveltejs/svelte#18692)) - fix: never apply class hash to elements inside `<svelte:head>` ([#18160](sveltejs/svelte#18160)) - fix: keep `defaultChecked` on hydrated radio inputs with spread attributes ([#18701](sveltejs/svelte#18701)) - fix: accept `onfocusin`/`onfocusout` in `a11y_mouse_events_have_key_events` ([#18689](sveltejs/svelte#18689)) - perf: O(n²)→O(n) Map lookups for legacy `$:` reactive statement ordering ([#18602](sveltejs/svelte#18602)) - fix: distinct memoizer on style/class directives ([#18466](sveltejs/svelte#18466)) - fix: measure nested transitions before applying their starting styles ([#18647](sveltejs/svelte#18647)) - fix: don't turn component instances stored in `$state` into state proxies ([#18646](sveltejs/svelte#18646)) - perf: emit `$.only_child` for elements with a single child ([#18717](sveltejs/svelte#18717)) - fix: omit `bind:focused` from SSR output (it has no HTML attribute) ([#18724](sveltejs/svelte#18724)) - fix: more robust rendering of Svelte custom element slots ([#18710](sveltejs/svelte#18710)) - perf: optimize simple object destructuring in `@const` tags ([#18390](sveltejs/svelte#18390)) - fix: properly apply static textarea value attribute during CSR ([#18727](sveltejs/svelte#18727)) - fix: end a restored reaction context at the end of its synchronous segment ([#18694](sveltejs/svelte#18694)) - fix: keep the dependencies of a reaction that throws, so deriveds it read are neither leaked nor stuck in their error ([#18703](sveltejs/svelte#18703)) - fix: don't resurrect outroing elements when an ancestor block is paused and resumed ([#18431](sveltejs/svelte#18431)) - perf: use `$.comment()` for single-comment templates ([#18714](sveltejs/svelte#18714)) - chore: move `@types/trusted-types` to devDependencies ([#18730](sveltejs/svelte#18730)) - perf: store setters cache as `Set` instead of `Array` ([#18251](sveltejs/svelte#18251)) - fix: transform derived assignments and select function bindings correctly during server-side rendering ([#18669](sveltejs/svelte#18669)) - fix: keep boolean attributes with an empty string value when rendering attribute objects on the server ([#18721](sveltejs/svelte#18721)) - fix: sync `SvelteURL` port signal when the protocol setter clears the port ([#18705](sveltejs/svelte#18705)) - fix: block declaration tags and `{@const}` on async values read inside closures ([#18533](sveltejs/svelte#18533)) - fix: avoid css tree-shaking for exported Snippet ([#18540](sveltejs/svelte#18540)) - perf: treat `<img loading>` as a static element again ([#18711](sveltejs/svelte#18711)) - fix: prevent `selectedcontent` mutation from changing the selected option ([#18495](sveltejs/svelte#18495)) - fix: avoid `NaN` keyframe values in `slide` transition for elements without a layout box ([#18430](sveltejs/svelte#18430)) - fix: preserve line feed character references in attribute values ([#18691](sveltejs/svelte#18691)) - fix: decode uppercase-`X` hex numeric character references (`&#X...;`) ([#18708](sveltejs/svelte#18708)) - chore: clarify when `$effect.pre` runs relative to DOM updates ([#18534](sveltejs/svelte#18534)) - fix: scope SSR boundary failed snippets to their boundary ([#18593](sveltejs/svelte#18593)) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Fixes #18715.
The assignment generated for a
bind:directive did not inherit the directive's compiler ignore-map entry. Consequently, ownership mutation validation was still generated even when the binding had an associatedsvelte-ignore ownership_invalid_mutationcomment.This change carries the binding's ignores onto its generated setter assignment before transforming it. It also adds a runtime regression test that verifies the binding updates parent state without emitting an ownership warning.
Tests:
pnpm test runtime-runes -t ownership-invalid-mutation-binding-ignorepnpm test runtime-runes— 2709 passed, 47 skippedpnpm --filter svelte checkpnpm test --exclude packages/svelte/tests/runtime-browser/test.ts— 7673 passed, 69 skippedThe unfiltered test run could not launch the browser-only suite because the sandbox did not contain the Playwright Chromium executable; all other test files passed.