Skip to content

Release RC packages (rc) - #4192

Merged
ryansolid merged 1 commit into
nextfrom
changeset-release/next
Oct 22, 2026
Merged

ryansolid merged 1 commit into
nextfrom
changeset-release/next

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

This PR was opened by the Changesets release 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 next, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

next is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on next.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@solidjs/babel-plugin@2.0.0-rc.17

Patch Changes

  • 3e72783: The removed Solid 1.x attribute forms are now compile errors on native elements in the dom and ssr generates ([2.0] Removed 1.x namespaces (use:, attr:, bool:) and classList compile to literal attributes with no diagnostic #4187). on:, oncapture:, attr:, bool:, use: and classList used to compile silently into literal attributes (<div use:tip="() => {}">, classlist="[object Object]"). Both compilers now reject them with the same message, which names the 2.0 replacement: a camelCase handler or a ref callback for on:, a plain attribute for attr:, a boolean value for bool:, a ref directive factory for use:, and an object or array class for classList. Components, the universal generate, prop: and the XML namespaces (xlink:, xml:, xmlns:) are unaffected. The check runs only at compile time and adds no runtime code.

  • 6cca8b5: Dev builds now warn with UNCOMMITTED_INPUT_OVERWRITTEN ([2.0] A value binding rewrites the input whenever another attribute in its compiled effect changes, wiping typed text #4186) when a stateful DOM property binding (value/checked on an input, value on a textarea, value/selected on an option, muted on media) is about to re-write the value it wrote last time over an edit the user never committed to the bound signal — e.g. value={props.name} onChange={commit} with no draft signal, when another dynamic attribute in the same template changes. Runtime behavior is unchanged: the write still happens, once per element and property the warning names the fix (write the signal from onInput, use defaultValue/defaultChecked for an uncontrolled element, or write a rejected edit back with e.currentTarget.value = next).

    Production output is unchanged byte for byte. In dev DOM output both compilers write stateful properties through a new setStatefulProperty(el, name, value) helper instead of the inline el.name = value; hydratable output keeps setProperty, and spread/assign check in the runtime. The check lives only in @solidjs/web's dev build; the production entry carries a plain node[name] = value stub that no production-compiled module imports, so it tree-shakes away.

    The "Form inputs" section of the DOM RFC, the cheatsheet and the solid-2.0 skill now say that a change to any other dynamic attribute in the same template re-runs a stateful binding, link the new code, and drop equals: false as a way to reject input (it is what the warning reports); write the accepted value back with e.currentTarget.value = next instead.

  • 2ba1c4a: A valueless prop: attribute (<el prop:active />) now compiles as prop:active={true}, matching bare plain attributes, instead of being dropped silently ([compiler] A valueless prop: attribute is dropped silently by both compilers #4180).

@solidjs/compiler@2.0.0-rc.17

Patch Changes

  • a40b6cd: The directives pass rejects a broadcast() render that reads the server function's outer body. The render is shared by every caller with the same arguments, but the body runs per caller, so the first caller's value would show for everyone. The returned component, and any local function it renders, may read the function's parameters, its own locals and module scope.

  • 3e72783: The removed Solid 1.x attribute forms are now compile errors on native elements in the dom and ssr generates ([2.0] Removed 1.x namespaces (use:, attr:, bool:) and classList compile to literal attributes with no diagnostic #4187). on:, oncapture:, attr:, bool:, use: and classList used to compile silently into literal attributes (<div use:tip="() => {}">, classlist="[object Object]"). Both compilers now reject them with the same message, which names the 2.0 replacement: a camelCase handler or a ref callback for on:, a plain attribute for attr:, a boolean value for bool:, a ref directive factory for use:, and an object or array class for classList. Components, the universal generate, prop: and the XML namespaces (xlink:, xml:, xmlns:) are unaffected. The check runs only at compile time and adds no runtime code.

  • 6cca8b5: Dev builds now warn with UNCOMMITTED_INPUT_OVERWRITTEN ([2.0] A value binding rewrites the input whenever another attribute in its compiled effect changes, wiping typed text #4186) when a stateful DOM property binding (value/checked on an input, value on a textarea, value/selected on an option, muted on media) is about to re-write the value it wrote last time over an edit the user never committed to the bound signal — e.g. value={props.name} onChange={commit} with no draft signal, when another dynamic attribute in the same template changes. Runtime behavior is unchanged: the write still happens, once per element and property the warning names the fix (write the signal from onInput, use defaultValue/defaultChecked for an uncontrolled element, or write a rejected edit back with e.currentTarget.value = next).

    Production output is unchanged byte for byte. In dev DOM output both compilers write stateful properties through a new setStatefulProperty(el, name, value) helper instead of the inline el.name = value; hydratable output keeps setProperty, and spread/assign check in the runtime. The check lives only in @solidjs/web's dev build; the production entry carries a plain node[name] = value stub that no production-compiled module imports, so it tree-shakes away.

    The "Form inputs" section of the DOM RFC, the cheatsheet and the solid-2.0 skill now say that a change to any other dynamic attribute in the same template re-runs a stateful binding, link the new code, and drop equals: false as a way to reject input (it is what the warning reports); write the accepted value back with e.currentTarget.value = next instead.

  • 2ba1c4a: A valueless prop: attribute (<el prop:active />) now compiles as prop:active={true}, matching bare plain attributes, instead of being dropped silently ([compiler] A valueless prop: attribute is dropped silently by both compilers #4180).

@solidjs/diagnostics@2.0.0-rc.17

Patch Changes

  • Updated dependencies [a40b6cd]
  • Updated dependencies [db8241c]
  • Updated dependencies [690228a]
  • Updated dependencies [a2a5b6f]
  • Updated dependencies [0771dc8]
  • Updated dependencies [3373ae1]
  • Updated dependencies [d682022]
  • Updated dependencies [411f73b]
  • Updated dependencies [ee4963a]
  • Updated dependencies [9f64ca9]
  • Updated dependencies [2c442c4]
  • Updated dependencies [b2d9ed0]
  • Updated dependencies [f7f30b9]
  • Updated dependencies [0222d68]
  • Updated dependencies [ee4963a]
  • Updated dependencies [a99550e]
  • Updated dependencies [5c0d190]
  • Updated dependencies [6cca8b5]
  • Updated dependencies [0117658]
    • @solidjs/web@2.0.0-rc.17
    • @solidjs/signals@2.0.0-rc.17
    • solid-js@2.0.0-rc.17

@solidjs/element@2.0.0-rc.17

Patch Changes

  • Updated dependencies [a40b6cd]
  • Updated dependencies [db8241c]
  • Updated dependencies [690228a]
  • Updated dependencies [a2a5b6f]
  • Updated dependencies [0771dc8]
  • Updated dependencies [d682022]
  • Updated dependencies [9f64ca9]
  • Updated dependencies [0222d68]
  • Updated dependencies [ee4963a]
  • Updated dependencies [5c0d190]
  • Updated dependencies [6cca8b5]
    • @solidjs/web@2.0.0-rc.17
    • solid-js@2.0.0-rc.17

@solidjs/h@2.0.0-rc.17

Patch Changes

  • Updated dependencies [a40b6cd]
  • Updated dependencies [9f64ca9]
  • Updated dependencies [0222d68]
  • Updated dependencies [ee4963a]
  • Updated dependencies [5c0d190]
  • Updated dependencies [6cca8b5]
    • @solidjs/web@2.0.0-rc.17

@solidjs/html@2.0.0-rc.17

Patch Changes

  • Updated dependencies [a40b6cd]
  • Updated dependencies [9f64ca9]
  • Updated dependencies [0222d68]
  • Updated dependencies [ee4963a]
  • Updated dependencies [5c0d190]
  • Updated dependencies [6cca8b5]
    • @solidjs/web@2.0.0-rc.17

@solidjs/signals@2.0.0-rc.17

Patch Changes

  • db8241c: A cleanup (onCleanup or an effect's returned cleanup) that throws no longer aborts the rest of the teardown: every other cleanup in the tree still runs, and the first error is rethrown once the teardown is done. Outside a flush (a root's dispose()), the dispose call rethrows it. Inside a flush (a branch switch retiring a frame, a pass replacing an uncommitted one, an effect disposing a root), flush() rethrows it after the flush has finished, so commits and effects are never left half-applied, and lazy nodes released before the throw are still released. An unobserved hook that throws is handled the same way. If an uncaught error halts the reactive system, a collected cleanup error is dropped rather than surfacing later from an unrelated dispose(). On the server, disposeOwner runs every cleanup the same way, so renderToStream's final dispose still reports the error ([2.0 rc.16 / next] renderToStream: serializer errors and normal-completion cleanup errors bypass the ambient error hook #4193).

  • 690228a: Clearer dev message for ContextNotFoundError ([2.0] createContext(undefined) throws ContextNotFoundError, even when a provider passes undefined #4181). undefined still means "not provided" for context, but the message now names the context and says which case it hit: no provider and no default; a createContext(undefined) default, which is no default; or a provider that passed undefined, which counts as not provided. Each suggests null as the explicit empty value (createContext<T | null>(null)). Applies on the client and the server. Production messages and bundles are unchanged. The context docs and cheatsheet now say that undefined is "not provided" and that null is how to make a context optional.

  • 3373ae1: Retain successful falsy fallbacks in mapArray and repeat when their input remains empty, while preserving retries after suspended fallback creation.

  • 411f73b: The dev REACTIVITY_HALTED message now says where the uncaught error escaped: it ends with the owner path of the computation that threw (in <App> › <Composer> › effect, plus the at source line when there is one), and the "Update ignored" notice a later write logs repeats it ([2.0] A dev diagnostic thrown in one effect halts the whole app unless an error boundary wraps it #4178). The structured event carries the same ownerPath. A computed that throws into the effect reading it is named, not the effect. Behaviour is unchanged (the system still halts), and production bundles do not change.

  • ee4963a: A keyed optimistic store's arrangement guess is no longer voided when the source answers with something different while the guess's action is open: the answer folds beneath it until the hold commits, and rows then match by key. Two overlapping actions on one list used to leave the store torn after the first one's echo (a hole at its index, length from the guess, a raw target served for a row), and the confirmed row remounted twice at the commit, taking an open editor and its draft with it. Now the screen keeps both guesses whole, nothing remounts, and a row another tab added shows when the write settles. Memos and effects outside the optimistic lane still derive from the answer right away and are held with it, and latest() shows it.

  • 2c442c4: A projection whose re-run throws in a flush (a signal it reads written just before its promise rejects) reaches the error boundary again (2.0.0-rc.16: a projection's error never reaches <Errored> when a signal it reads is written just before its promise rejects (regression from fb6006eb, #4156) #4189).

  • b2d9ed0: Restore deferred lazy releases when an unfinished frame's cleanup throws, so later unrelated lazy memos still clean up when their last observer is removed.

  • f7f30b9: Dispose superseded createReaction arms even when their initial tracking read suspends or throws.

  • a99550e: Dev: writing to a store proxy outside its setter (store.n = 5, store.items.push(x), delete store.user, Object.defineProperty(store, …)) is still ignored, but no longer silently — a new STORE_WRITE_OUTSIDE_SETTER warning reports it once per store object and key, with the setStore(s => { s.key = value }) form of the write ([2.0] Writing to a store outside its setter is silently ignored #4179). No production bytes.

  • 6cca8b5: Dev builds now warn with UNCOMMITTED_INPUT_OVERWRITTEN ([2.0] A value binding rewrites the input whenever another attribute in its compiled effect changes, wiping typed text #4186) when a stateful DOM property binding (value/checked on an input, value on a textarea, value/selected on an option, muted on media) is about to re-write the value it wrote last time over an edit the user never committed to the bound signal — e.g. value={props.name} onChange={commit} with no draft signal, when another dynamic attribute in the same template changes. Runtime behavior is unchanged: the write still happens, once per element and property the warning names the fix (write the signal from onInput, use defaultValue/defaultChecked for an uncontrolled element, or write a rejected edit back with e.currentTarget.value = next).

    Production output is unchanged byte for byte. In dev DOM output both compilers write stateful properties through a new setStatefulProperty(el, name, value) helper instead of the inline el.name = value; hydratable output keeps setProperty, and spread/assign check in the runtime. The check lives only in @solidjs/web's dev build; the production entry carries a plain node[name] = value stub that no production-compiled module imports, so it tree-shakes away.

    The "Form inputs" section of the DOM RFC, the cheatsheet and the solid-2.0 skill now say that a change to any other dynamic attribute in the same template re-runs a stateful binding, link the new code, and drop equals: false as a way to reject input (it is what the warning reports); write the accepted value back with e.currentTarget.value = next instead.

  • 0117658: A <Loading> that a verdict reader (<Show when={latest(x) ?? x()}>) mounts reveals its content again when a component inside it writes a signal during its mount and creates a memo that reads it and stays pending with no reader: that memo holds nothing and reaches no boundary ([2.0 rc.16] A <Loading> mounted through latest() never reveals while an unread memo stays pending (regression from dc063a65, #4171) #4203, a regression from [2.0 rc.15 + next] Incomplete #3851 fix: verdict-mounted Loading exposes held DOM content early #4166's fix).

solid-js@2.0.0-rc.17

Patch Changes

  • db8241c: A cleanup (onCleanup or an effect's returned cleanup) that throws no longer aborts the rest of the teardown: every other cleanup in the tree still runs, and the first error is rethrown once the teardown is done. Outside a flush (a root's dispose()), the dispose call rethrows it. Inside a flush (a branch switch retiring a frame, a pass replacing an uncommitted one, an effect disposing a root), flush() rethrows it after the flush has finished, so commits and effects are never left half-applied, and lazy nodes released before the throw are still released. An unobserved hook that throws is handled the same way. If an uncaught error halts the reactive system, a collected cleanup error is dropped rather than surfacing later from an unrelated dispose(). On the server, disposeOwner runs every cleanup the same way, so renderToStream's final dispose still reports the error ([2.0 rc.16 / next] renderToStream: serializer errors and normal-completion cleanup errors bypass the ambient error hook #4193).

  • 690228a: Clearer dev message for ContextNotFoundError ([2.0] createContext(undefined) throws ContextNotFoundError, even when a provider passes undefined #4181). undefined still means "not provided" for context, but the message now names the context and says which case it hit: no provider and no default; a createContext(undefined) default, which is no default; or a provider that passed undefined, which counts as not provided. Each suggests null as the explicit empty value (createContext<T | null>(null)). Applies on the client and the server. Production messages and bundles are unchanged. The context docs and cheatsheet now say that undefined is "not provided" and that null is how to make a context optional.

  • a2a5b6f: The migration guide notes when a from() async generator's cleanup runs, the cheatsheet adds createDeferred, and the docs note that SETTLED_CLEANUP_UNOWNED throws in development (docs: fix the from() migration snippet, add createDeferred to the cheatsheet, note SETTLED_CLEANUP_UNOWNED throws #4183).

  • 0771dc8: Docs: effects never compare compute values. The effect half (and the previous cleanup) runs every time the compute half re-runs, even when compute returned an equal value. To skip work on an unchanged value, read a createMemo (optionally with equals) in the compute. Noted in the solid-2.0 skill and the cheatsheet ([2.0] Effects re-run (and run cleanup) when the compute returns an equal value; there's no equals option #4184).

  • d682022: Document how form inputs work with value/checked bindings: draft signals for editable fields, writing rejected input back in the handler (or equals: false), uncontrolled inputs, and spreads ([2.0] An input bound with value={signal()} keeps text the handler rejected #4185).

  • 6cca8b5: Dev builds now warn with UNCOMMITTED_INPUT_OVERWRITTEN ([2.0] A value binding rewrites the input whenever another attribute in its compiled effect changes, wiping typed text #4186) when a stateful DOM property binding (value/checked on an input, value on a textarea, value/selected on an option, muted on media) is about to re-write the value it wrote last time over an edit the user never committed to the bound signal — e.g. value={props.name} onChange={commit} with no draft signal, when another dynamic attribute in the same template changes. Runtime behavior is unchanged: the write still happens, once per element and property the warning names the fix (write the signal from onInput, use defaultValue/defaultChecked for an uncontrolled element, or write a rejected edit back with e.currentTarget.value = next).

    Production output is unchanged byte for byte. In dev DOM output both compilers write stateful properties through a new setStatefulProperty(el, name, value) helper instead of the inline el.name = value; hydratable output keeps setProperty, and spread/assign check in the runtime. The check lives only in @solidjs/web's dev build; the production entry carries a plain node[name] = value stub that no production-compiled module imports, so it tree-shakes away.

    The "Form inputs" section of the DOM RFC, the cheatsheet and the solid-2.0 skill now say that a change to any other dynamic attribute in the same template re-runs a stateful binding, link the new code, and drop equals: false as a way to reject input (it is what the warning reports); write the accepted value back with e.currentTarget.value = next instead.

  • Updated dependencies [db8241c]

  • Updated dependencies [690228a]

  • Updated dependencies [3373ae1]

  • Updated dependencies [411f73b]

  • Updated dependencies [ee4963a]

  • Updated dependencies [2c442c4]

  • Updated dependencies [b2d9ed0]

  • Updated dependencies [f7f30b9]

  • Updated dependencies [a99550e]

  • Updated dependencies [6cca8b5]

  • Updated dependencies [0117658]

    • @solidjs/signals@2.0.0-rc.17

@solidjs/universal@2.0.0-rc.17

Patch Changes

@solidjs/web@2.0.0-rc.17

Patch Changes

  • a40b6cd: Experimental broadcast(fn): a live server function whose answer is the same for every viewer. It implies live (and so GET); at the live address every caller with the same arguments shares one server render, and each viewer is a tap on it. A viewer that joins later gets the frame as it stands, then the shared batches; the render ends with its last viewer. The outer body still runs per call (auth, redirects), and the shared render runs under its own request event, so per-viewer state such as the router's query cache never reaches it.

  • 9f64ca9: live(fn) now implies GET: a live source is a read by contract, so the declaration grants GET dispatch on the server and connects over the GET transport on the client. live(GET(fn)) keeps working and is equivalent. The client's POST-at-the-live-address path is gone, which trims live pages by ~144 B minified.

  • 0222d68: With enableRichArguments(), a server function can take files and blobs anywhere in its arguments. Calls like upload(file, { tags }), upload({ file }) and upload(formData, 1) used to fail before sending. They now send multipart form data, with each file as its own part instead of encoded inside the arguments.

  • ee4963a: A live server component's slot record that a commit changes now leaves in the same write as the holes that commit moved, with every arg current. Before, each arg of the occurrence re-sent the record as it updated, so the first copy went out alone with the other args still at their previous values, ahead of the hole. A client fill reading those args could show a state no commit had: the chat's pending message left the outbox before the thread showed its row.

  • 5c0d190: renderToStream now reports two failures through the server error hook even when the render has no onError of its own ([2.0 rc.16 / next] renderToStream: serializer errors and normal-completion cleanup errors bypass the ambient error hook #4193). A value the serializer cannot handle reaches the render's hook, else the one set with configureServerErrors, as { kind: "render", handling: "serialize" }, and the render settles. Before, it was an unhandled rejection and the render stayed pending forever. With no hook anywhere, the failure goes to console.error. An onCleanup that throws when the render is disposed after a normal completion is now contained as abandon() already did (renderToStream: an onCleanup that throws during signal abort crashes the server process #4029): it is reported as { kind: "render", handling: "failed" } instead of escaping as an unhandled rejection.

  • 6cca8b5: Dev builds now warn with UNCOMMITTED_INPUT_OVERWRITTEN ([2.0] A value binding rewrites the input whenever another attribute in its compiled effect changes, wiping typed text #4186) when a stateful DOM property binding (value/checked on an input, value on a textarea, value/selected on an option, muted on media) is about to re-write the value it wrote last time over an edit the user never committed to the bound signal — e.g. value={props.name} onChange={commit} with no draft signal, when another dynamic attribute in the same template changes. Runtime behavior is unchanged: the write still happens, once per element and property the warning names the fix (write the signal from onInput, use defaultValue/defaultChecked for an uncontrolled element, or write a rejected edit back with e.currentTarget.value = next).

    Production output is unchanged byte for byte. In dev DOM output both compilers write stateful properties through a new setStatefulProperty(el, name, value) helper instead of the inline el.name = value; hydratable output keeps setProperty, and spread/assign check in the runtime. The check lives only in @solidjs/web's dev build; the production entry carries a plain node[name] = value stub that no production-compiled module imports, so it tree-shakes away.

    The "Form inputs" section of the DOM RFC, the cheatsheet and the solid-2.0 skill now say that a change to any other dynamic attribute in the same template re-runs a stateful binding, link the new code, and drop equals: false as a way to reject input (it is what the warning reports); write the accepted value back with e.currentTarget.value = next instead.

  • Updated dependencies [db8241c]

  • Updated dependencies [690228a]

  • Updated dependencies [a2a5b6f]

  • Updated dependencies [0771dc8]

  • Updated dependencies [d682022]

  • Updated dependencies [6cca8b5]

    • solid-js@2.0.0-rc.17

board-example@0.0.1-rc.2

Patch Changes

  • Updated dependencies [a40b6cd]
  • Updated dependencies [db8241c]
  • Updated dependencies [690228a]
  • Updated dependencies [a2a5b6f]
  • Updated dependencies [0771dc8]
  • Updated dependencies [d682022]
  • Updated dependencies [9f64ca9]
  • Updated dependencies [0222d68]
  • Updated dependencies [ee4963a]
  • Updated dependencies [5c0d190]
  • Updated dependencies [6cca8b5]
    • @solidjs/web@2.0.0-rc.17
    • solid-js@2.0.0-rc.17

server-dbmon-example@0.0.1-rc.1

Patch Changes

  • Updated dependencies [a40b6cd]
  • Updated dependencies [db8241c]
  • Updated dependencies [690228a]
  • Updated dependencies [a2a5b6f]
  • Updated dependencies [0771dc8]
  • Updated dependencies [d682022]
  • Updated dependencies [9f64ca9]
  • Updated dependencies [0222d68]
  • Updated dependencies [ee4963a]
  • Updated dependencies [5c0d190]
  • Updated dependencies [6cca8b5]
    • @solidjs/web@2.0.0-rc.17
    • solid-js@2.0.0-rc.17

todos-server-example@0.0.1-rc.5

Patch Changes

  • Updated dependencies [a40b6cd]
  • Updated dependencies [db8241c]
  • Updated dependencies [690228a]
  • Updated dependencies [a2a5b6f]
  • Updated dependencies [0771dc8]
  • Updated dependencies [d682022]
  • Updated dependencies [9f64ca9]
  • Updated dependencies [0222d68]
  • Updated dependencies [ee4963a]
  • Updated dependencies [5c0d190]
  • Updated dependencies [6cca8b5]
    • @solidjs/web@2.0.0-rc.17
    • solid-js@2.0.0-rc.17

test-integration@2.0.0-rc.17

Patch Changes

  • Updated dependencies [a40b6cd]
  • Updated dependencies [db8241c]
  • Updated dependencies [690228a]
  • Updated dependencies [a2a5b6f]
  • Updated dependencies [0771dc8]
  • Updated dependencies [3373ae1]
  • Updated dependencies [d682022]
  • Updated dependencies [411f73b]
  • Updated dependencies [ee4963a]
  • Updated dependencies [9f64ca9]
  • Updated dependencies [2c442c4]
  • Updated dependencies [b2d9ed0]
  • Updated dependencies [f7f30b9]
  • Updated dependencies [3e72783]
  • Updated dependencies [0222d68]
  • Updated dependencies [ee4963a]
  • Updated dependencies [a99550e]
  • Updated dependencies [5c0d190]
  • Updated dependencies [6cca8b5]
  • Updated dependencies [2ba1c4a]
  • Updated dependencies [0117658]
    • @solidjs/web@2.0.0-rc.17
    • @solidjs/signals@2.0.0-rc.17
    • solid-js@2.0.0-rc.17
    • @solidjs/babel-plugin@2.0.0-rc.17
    • @solidjs/h@2.0.0-rc.17
    • @solidjs/html@2.0.0-rc.17
    • @solidjs/universal@2.0.0-rc.17

@github-actions
github-actions Bot force-pushed the changeset-release/next branch 15 times, most recently from 1408a1e to 329e89f Compare October 22, 2026 01:34
@github-actions
github-actions Bot force-pushed the changeset-release/next branch from 329e89f to 46f8929 Compare October 22, 2026 01:36
@ryansolid
ryansolid merged commit 5b1b777 into next Oct 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant