Skip to content

Release RC packages (rc) - #4443

Open
github-actions[bot] wants to merge 1 commit into
nextfrom
changeset-release/next
Open

github-actions[bot] wants to merge 1 commit into
nextfrom
changeset-release/next

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 30, 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.21

Patch Changes

  • d815fd4: Keep a returned element's setup inside a braceless if, else or loop body. if (c) return <span>{x.join()}</span>; emitted the template clone and insert before the if, so they ran (and x.join() threw) when c was false, a loop body's setup read its loop variable out of scope, and a hydrating getNextElement claimed a node for a branch not taken. The setup is now inserted before the return, and Babel wraps the body in a block.

@solidjs/diagnostics@2.0.0-rc.21

Patch Changes

@solidjs/element@2.0.0-rc.21

Patch Changes

@solidjs/h@2.0.0-rc.21

Patch Changes

  • 480f522: A getter class on a tag with static classes no longer throws "Invalid property descriptor". A component that forwards its props to a selector-class element (props => h("button.btn", props)) and is given a reactive class received it as a getter, and merging it with the static classes built a descriptor with both get and value. The getter is now read through the props object, so the merged class keeps the static classes and stays reactive.
  • Updated dependencies [32163a9]
  • Updated dependencies [bb51da6]
  • Updated dependencies [3c47d06]
  • Updated dependencies [61bb177]
  • Updated dependencies [62745f6]
  • Updated dependencies [551ef0d]
  • Updated dependencies [6b6b4da]
  • Updated dependencies [3c47d06]
  • Updated dependencies [b7e4f16]
    • @solidjs/web@2.0.0-rc.21

@solidjs/html@2.0.0-rc.21

Patch Changes

@solidjs/signals@2.0.0-rc.21

Patch Changes

solid-js@2.0.0-rc.21

Patch Changes

@solidjs/universal@2.0.0-rc.21

Patch Changes

  • Updated dependencies [46ab2dd]
  • Updated dependencies [61bb177]
  • Updated dependencies [25fb7be]
  • Updated dependencies [0d4c5e0]
  • Updated dependencies [99d9821]
    • solid-js@2.0.0-rc.21

@solidjs/web@2.0.0-rc.21

Patch Changes

  • 32163a9: A stylesheet released while it is still loading no longer hangs a gate that warmed it again inside the removal grace. The release schedules the element's removal 100 ms later; a mount in between (a useHead stylesheet under <Loading>) warmed the same registry entry and waited on that element's load, and the removal took the element out before it loaded. A removed link fires neither load nor error, so the boundary stayed on its fallback. The removal now settles a pending load the way an error does, and the gate warms the sheet again on a new element and waits on that one.
  • bb51da6: AssetManifest admits a manifest that sets _base (2.0: AssetManifest type rejects a manifest that sets _base #4502). It was Record<string, Entry> & { _base?: string }, and since _base also falls under the string index signature it had to be an entry too, so a manifest literal with _base: "/" did not type-check. The index signature now carries entries, metadata strings (_base, and any an integration stamps, such as the vite plugin's _entry) and undefined, so a read by key is an entry once narrowed (typeof entry === "object"). The server renderer narrows the same way: a metadata key enumerated while registering entry assets, or asked for by resolveAssets, is skipped instead of throwing.
  • 3c47d06: A broadcast live read with a plain form query (?room=a, no ?args=) is now keyed by that query, so viewers of different queries no longer share one source.
  • 61bb177: createOwner leaves solid-js's public types: it is typed only through solid-js/internal, like the boundary primitives behind Errored, Loading and Reveal (solid-js types: index.d.ts re-exports createErrorBoundary, createLoadingBoundary and createRevealOrder, which hydration.d.ts strips as @internal #3709). It stays a runtime export for the renderers. Solid 1.x had no createOwner, and application code that used it in an RC should host a scope with createRoot() (its dispose argument can be passed around as a plain function) and re-enter one with runWithOwner(). A detached owner.dispose keeps throwing, since it is a method and not part of the public API ([2.0.0-rc.19] errors disposing createRenderEffect in a microtask after creation. #4444).
  • 62745f6: Shrink the compiled and hand-written floors: the dependent walks, dependency clearing, status writes, effect-run queueing, flatten's thunk walk and the delegated-event parent hop share their code (no behavior change).
  • 551ef0d: An awaited renderToStream() that re-pulls root holes — as happens when a lazy() component's first load is shared across concurrent renders — now restores the render's sharedConfig.context first, the same restore the streamed path already performs in doShell. Without it the resumed render body runs under whichever concurrent render set the global last, so an async memo created there records into (and adopts from) another render's slot store and concurrent requests can read each other's values ([2.0 rc.20] SSR: concurrent renders sharing a lazy() component's first load read another render's async memo value #4595).
  • 6b6b4da: Server-rendered <link rel="modulepreload"> hints for modules outside the entry's static import closure (lazy and route chunks, and modules registered later through registerAsset("module"), streamed hints included) now carry fetchpriority="low", so they yield bandwidth to the modules hydration waits on. The entry's static imports and modulepreload links written through the head API keep their default priority. renderToString and renderToStream take lowPriorityPreloads: false to turn the hint off. In an rc.15 app (Tailwind, five entry imports, four route chunks) patched the same way, Chrome under Lighthouse's devtools throttling hydrated about 310 ms sooner with an unchanged first paint.
  • 3c47d06: A no-JS form post answered by respond(value, { headers }), returned or thrown, now keeps the envelope's Set-Cookie headers on the redirect.
  • b7e4f16: Keep the metadata of files and blobs sent to server functions with enableRichArguments(). A blob arrives as a Blob instead of a File named blob, an empty type stays empty instead of application/octet-stream, and a file keeps its exact name and its lastModified. The server still reads uploads from clients that send only the part index.
  • Updated dependencies [46ab2dd]
  • Updated dependencies [61bb177]
  • Updated dependencies [25fb7be]
  • Updated dependencies [0d4c5e0]
  • Updated dependencies [99d9821]
    • solid-js@2.0.0-rc.21

@solidjs/compiler@2.0.0-rc.21

board-example@0.0.1-rc.6

Patch Changes

canvas-example@0.0.1-rc.2

Patch Changes

server-dbmon-example@0.0.1-rc.5

Patch Changes

todos-server-example@0.0.1-rc.9

Patch Changes

test-integration@2.0.0-rc.21

Patch Changes

@github-actions
github-actions Bot force-pushed the changeset-release/next branch 30 times, most recently from 2ba36f7 to ad7fd1e Compare October 30, 2026 17:51
@github-actions
github-actions Bot force-pushed the changeset-release/next branch 29 times, most recently from 90f5a4c to e45d44c Compare November 1, 2026 00:11
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.

0 participants