Release RC packages (rc) - #3724
Open
github-actions[bot] wants to merge 1 commit into
Open
github-actions[bot] wants to merge 1 commit into
github-actions[bot] wants to merge 1 commit into
Conversation
github-actions
Bot
force-pushed
the
changeset-release/next
branch
8 times, most recently
from
September 30, 2026 19:28
441ec34 to
4af8f17
Compare
github-actions
Bot
force-pushed
the
changeset-release/next
branch
from
September 30, 2026 20:26
4af8f17 to
f398110
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
nextis currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, runchangeset pre exitonnext.Releases
@solidjs/babel-plugin@2.0.0-rc.14
Patch Changes
/* istanbul ignore … */and/* c8 ignore … */block comments written as JSX children on the generated componentchildrengetter. Line comments are not carried.@solidjs/compiler@2.0.0-rc.14
Patch Changes
/* istanbul ignore … */and/* c8 ignore … */block comments written as JSX children on the generated componentchildrengetter. Line comments are not carried.@solidjs/diagnostics@2.0.0-rc.14
Patch Changes
@solidjs/element@2.0.0-rc.14
Patch Changes
@solidjs/h@2.0.0-rc.14
Patch Changes
ecb68a1: Binding slots: the fill runs once per occurrence, untracked, under the occurrence's owner — as a component body and a template-slot fill do. State created in the fill lives as long as the occurrence; a top-level read is a one-time read (dev:
STRICT_READ_UNTRACKED, naming the fill); getters are the reactive form. Handlers and refs are read once when an element binds and go throughassign, so events delegate, tuples bind and interactions wrap as in client JSX. On the server an array at a handler position is a dev finding (reasontuple) instead of being flattened; onlyrefmerges arrays. Template-slot fills are untracked on every render path and carry the same labelled warning.Breaking:
AttributeSlotis renamedBindingSlot, with no alias, and its return is constrained (SlotOutput<J>/SlotError<M>, both exported) so an array, DOM node, function, async value or$-prefixed key is a type error on both sides. The diagnostic codeATTRIBUTE_SLOT_POSITIONis renamedBINDING_SLOT_POSITION. The fill-shape finding also names async values.Updated dependencies [ecb68a1]
Updated dependencies [d4b10b5]
Updated dependencies [2656284]
Updated dependencies [8d66ae5]
@solidjs/html@2.0.0-rc.14
Patch Changes
@solidjs/signals@2.0.0-rc.14
Patch Changes
ecb68a1: Binding slots: the fill runs once per occurrence, untracked, under the occurrence's owner — as a component body and a template-slot fill do. State created in the fill lives as long as the occurrence; a top-level read is a one-time read (dev:
STRICT_READ_UNTRACKED, naming the fill); getters are the reactive form. Handlers and refs are read once when an element binds and go throughassign, so events delegate, tuples bind and interactions wrap as in client JSX. On the server an array at a handler position is a dev finding (reasontuple) instead of being flattened; onlyrefmerges arrays. Template-slot fills are untracked on every render path and carry the same labelled warning.Breaking:
AttributeSlotis renamedBindingSlot, with no alias, and its return is constrained (SlotOutput<J>/SlotError<M>, both exported) so an array, DOM node, function, async value or$-prefixed key is a type error on both sides. The diagnostic codeATTRIBUTE_SLOT_POSITIONis renamedBINDING_SLOT_POSITION. The fill-shape finding also names async values.b0c8489: A re-run that commits
undefinedis no longer counted as waste. A projection that mutates its draft or reconciles a returned value, or a memo that does its work by writing a signal, has no output to compare, so its re-runs were reported as pure cost.RerunEvent.changednow reportstruefor these runs (as it already did for side-effect-only effects), soWASTED_RECOMPUTEno longer fires for them andcosts().wastedMs,expectNoWasteand the performance tracks stop counting them as wasted.solid-js@2.0.0-rc.14
Patch Changes
Promise.withResolvers()orPromise.try(). The trace run swaps the globalPromisefor a never-settling mock that lacked these two statics, so the call threw out of hydration instead of adopting the server value. The mock now provides both:withResolversreturns a never-settling mock with no-opresolve/reject, andtryreturns a never-settling mock without invoking its callback (matching how the mock's constructor ignores its executor).@solidjs/universal@2.0.0-rc.14
Patch Changes
@solidjs/web@2.0.0-rc.14
Patch Changes
ecb68a1: Binding slots: the fill runs once per occurrence, untracked, under the occurrence's owner — as a component body and a template-slot fill do. State created in the fill lives as long as the occurrence; a top-level read is a one-time read (dev:
STRICT_READ_UNTRACKED, naming the fill); getters are the reactive form. Handlers and refs are read once when an element binds and go throughassign, so events delegate, tuples bind and interactions wrap as in client JSX. On the server an array at a handler position is a dev finding (reasontuple) instead of being flattened; onlyrefmerges arrays. Template-slot fills are untracked on every render path and carry the same labelled warning.Breaking:
AttributeSlotis renamedBindingSlot, with no alias, and its return is constrained (SlotOutput<J>/SlotError<M>, both exported) so an array, DOM node, function, async value or$-prefixed key is a type error on both sides. The diagnostic codeATTRIBUTE_SLOT_POSITIONis renamedBINDING_SLOT_POSITION. The fill-shape finding also names async values.d4b10b5: Binding slots: a slot property placed as a child (
<strong>{list.remaining}</strong> items left) is a text position. The server emits a comment pair around it,<!--_s:t=<occurrence>:<key>-->…<!--/_s:t-->, with the escaped t=0 value inside on the document face and nothing on the stream face; the client writes the text between the markers from the occurrence's render effect, and a refetch's morph keeps the client's text. Strings and numbers render; nullish and booleans render empty, as a client insert renders them. Any other value is a new client dev finding (BINDING_SLOT_POSITION, reasontext-shape) and clears. The content of<textarea>,<title>,<style>and<script>is not a text position (a comment is literal text there); bindvalue=or a style property instead.Breaking: a slot property as a child used to render nothing and raise the
textfinding; it now renders and binds, and thetextreason is retired.2656284:
createSSRResponseno longer hangs when a streamed render ends before its shell flushes ([2.0 rc.11] createSSRResponse never settles when the render fails before the shell flushes #3719). A render that fails pre-shell (onErrorhearshandling: "failed") or is aborted through itssignalnow resolves with a bodyless 500, or a redirect when aLocationis already on the response stub, and the stub is committed. A render that succeeds with an empty document resolves with an empty 200. The promise still never rejects.8d66ae5: Server bundles that don't serialize no longer retain the serializer's plugin set. Five module-level statements that Rollup shakes but Rolldown (Vite) and esbuild keep are now side-effect free to every bundler: the frozen
DEFAULT_WEB_PLUGINSarray is/* @__PURE__ */-annotated, serovalFeatureflags are read on use, the stub gap-fill header set is built on first use, the event-stream heartbeat'snew TextEncoder()is annotated (and no longer built at import time bydist/server.js), and the flash-cookie matcher is a regex literal. A server bundle importing onlyisServerorgetRequestEventdrops from ~11.7 KB to ~1.6 KB minified (seroval bundled; Rolldown), andrenderToStringbundles shed ~260–380 B. No behavior or API change.Updated dependencies [da84bd9]
todos-server-example@0.0.1-rc.2
Patch Changes
test-integration@2.0.0-rc.14
Patch Changes