From ab6152181c3df78b23e5268c8b6444dbc2386946 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Fri, 4 Sep 2026 09:51:22 +0000
Subject: [PATCH] Version packages (rc)
---
.changeset/pre.json | 31 +++++++++++
packages/babel-plugin/CHANGELOG.md | 8 +++
packages/babel-plugin/package.json | 2 +-
packages/compiler/CHANGELOG.md | 8 +++
.../compiler/npm/darwin-arm64/package.json | 2 +-
packages/compiler/npm/darwin-x64/package.json | 2 +-
.../compiler/npm/linux-arm64-gnu/package.json | 2 +-
.../compiler/npm/linux-x64-gnu/package.json | 2 +-
.../compiler/npm/wasm32-wasi/package.json | 2 +-
.../compiler/npm/win32-x64-msvc/package.json | 2 +-
packages/compiler/package.json | 14 ++---
packages/diagnostics/CHANGELOG.md | 14 +++++
packages/diagnostics/package.json | 4 +-
packages/element/CHANGELOG.md | 33 ++++++++++++
packages/element/package.json | 6 +--
packages/h/CHANGELOG.md | 28 ++++++++++
packages/h/package.json | 4 +-
packages/html/CHANGELOG.md | 28 ++++++++++
packages/html/package.json | 4 +-
packages/signals/CHANGELOG.md | 52 +++++++++++++++++++
packages/signals/package.json | 2 +-
packages/solid/CHANGELOG.md | 19 +++++++
packages/solid/package.json | 4 +-
packages/test-integration/CHANGELOG.md | 43 +++++++++++++++
packages/test-integration/package.json | 2 +-
packages/universal/CHANGELOG.md | 12 +++++
packages/universal/package.json | 4 +-
packages/web/CHANGELOG.md | 33 ++++++++++++
packages/web/package.json | 4 +-
29 files changed, 340 insertions(+), 31 deletions(-)
diff --git a/.changeset/pre.json b/.changeset/pre.json
index 510481768..a54fa8d10 100644
--- a/.changeset/pre.json
+++ b/.changeset/pre.json
@@ -49,6 +49,8 @@
"ai-readiness-docs-pass-2",
"ai-readiness-docs-pass",
"align-insert-with-dom-expressions-a1",
+ "align-ref-spread-sources",
+ "align-store-overloads",
"align-with-dom-expressions",
"allow-async-without-loading-csr",
"arch-tier1-affects-reveal",
@@ -64,6 +66,8 @@
"bare-client-source-suspends-as-final-hole",
"behavior-claims-delegate-glue",
"behavior-claims-props",
+ "bind-get-grants-to-function-identity",
+ "bound-body-by-bytes-received",
"bound-server-function-requests",
"boundary-accessor-return-types",
"boundary-asset-scope-leak",
@@ -105,6 +109,7 @@
"dedupe-disposal-dep-clearing",
"dedupe-dispose-unobserved",
"dedupe-settle-walk-code",
+ "dedupe-single-flight-source-ids",
"dedupe-strict-read-diagnostics",
"demote-boundary-primitives",
"deprecate-server-writes",
@@ -121,6 +126,7 @@
"document-action-await-contract",
"document-action-mutation-navigation-framing",
"document-control-flow-callback-shapes",
+ "document-entry-only-handler-wrap",
"document-face-live-holes-client",
"document-live-slot-args-client",
"document-shell-hydration-docs",
@@ -136,6 +142,8 @@
"element-foreign-owner-fallback",
"eliminate-optimistic-revert-targets",
"encode-failure-error-trailer",
+ "encrypt-flash-cookie",
+ "enforce-provide-event-once-on-direct-calls",
"enforce-provide-event-single-invocation",
"export-memo-options",
"expose-enableExternalSource-loading-on",
@@ -174,6 +182,7 @@
"fix-cookie-bounds-and-validity",
"fix-create-projection-seed-inference",
"fix-dead-transition-stamp-revival",
+ "fix-decoder-collision-orphaned-promise",
"fix-deep-optimistic-store-pending",
"fix-deep-snapshot-held-landing-visibility",
"fix-derived-event-locals-sharing",
@@ -193,8 +202,10 @@
"fix-element-owner-markers",
"fix-element-shadow-delegation",
"fix-equals-comparator-errors",
+ "fix-error-carrier-hidden-data-slots",
"fix-errored-derive-memo-parity",
"fix-errored-loading-hydration-ids",
+ "fix-flash-url-unbound-base",
"fix-flatten-needsunwrap-or",
"fix-flight-owned-transaction",
"fix-flow-getter-eval-owner-parity",
@@ -232,6 +243,7 @@
"fix-lazy-rejected-import-caching",
"fix-lazy-shared-memo-ownership",
"fix-lingering-ambient-transaction-capture",
+ "fix-live-store-hydration",
"fix-loading-boundary-stale-flatten",
"fix-loading-hydration-settled-ref",
"fix-loading-late-fragment-hydration",
@@ -373,7 +385,9 @@
"fix-tsrx-release-expansion-stack",
"fix-universal-text-escaping",
"fix-usehead-prelude-hydration-walk",
+ "fix-validate-document-shell",
"fix-version-skew-label-before-gate",
+ "flash-falsy-nojs-outcomes",
"flatten-promise-of-async-iterable",
"fluffy-bananas-smoke",
"fold-runtime-wrappers",
@@ -396,6 +410,7 @@
"gate-invariants-to-test-builds",
"get-read-contract",
"graph-size-diagnostics",
+ "guard-error-carried-failure-channels",
"guard-failures-iterative-walk",
"guard-getter-and-map-key-channels",
"halt-reactivity-on-uncaught-error",
@@ -418,6 +433,7 @@
"iterator-supersede-eager-close",
"jfb-driver-and-write-bound",
"keep-ambient-batch-on-stash",
+ "keep-negative-zero-off-the-json-fast-path",
"label-version-skew-404",
"late-boundary-held-fragment-wait",
"latest-lazy-companion-backfill",
@@ -458,15 +474,19 @@
"nohydration-lazy-maparray-deps",
"notready-skip-stack-capture",
"npm-descriptions",
+ "optimistic-draft-reads-compose-over-staged-truth",
"optimistic-landing-fold",
"optimistic-lists-drivable",
"optimistic-mask-effective-writes-only",
"optimistic-mask-ispending",
+ "optimistic-store-first-flight-no-transaction",
"optimize-effect-creation",
"optimize-single-pending-node",
"optimize-store-utilities",
"option-a-mid-transition-observability",
"own-abandoned-server-result-promises",
+ "own-decoder-minted-rejected-promises",
+ "own-the-single-flight-fold-before-stamping",
"owned-non-lazy-memo-autodispose",
"pass-2-collapse",
"patch-channel-pay-for-use",
@@ -509,6 +529,7 @@
"question-scoped-pending-affects",
"rc-api-freeze-pass",
"reaction-rearm-replaces",
+ "read-every-body-the-transport-tees",
"reconcile-array-object-shape-guard",
"reconcile-default-id-positional-null",
"reconcile-symbol-keyed-nodes",
@@ -526,9 +547,13 @@
"refine-superseded-settle-invariant",
"refresh-call-expr-registration",
"refresh-decline-document-shell-modules",
+ "refresh-held-write-stays-reask",
"refresh-lifts-stale-manual-write-mask",
"refreshable-type-alias",
"refusals-commit-event-stub",
+ "refuse-invalid-wrap-invocation-values",
+ "refuse-unknown-body-format-tags-as-version-skew",
+ "refuse-unstorable-flash-cookies",
"register-settle-walk-diagnostic-code",
"remove-capturing-event-listeners",
"remove-create-effect-single-argument-overload",
@@ -538,7 +563,9 @@
"remove-isrefreshing-api",
"remove-loading-notify-through-remap",
"remove-on-namespace-events",
+ "remove-patch-channel",
"remove-ssr-run-in-scope",
+ "remove-store-readonly",
"rename-createLoadingBoundary",
"rename-pending-to-latest",
"rename-purewrite-to-ownedwrite",
@@ -552,12 +579,14 @@
"reveal-ssr-streaming-support",
"reveal-string-ssr-collapsed",
"reveal-together-nested",
+ "revert-complete-store-seeds",
"row-proof-admission",
"rude-pillows-tell",
"rxcore-ssr-async-value",
"sanitize-graph-failures",
"scope-deferred-server-function-results",
"scope-function-children-holes",
+ "scope-nested-deferred-results-without-mutation",
"serialization-decode-entry",
"server-component-context-barrier",
"server-first-value-lock",
@@ -631,6 +660,7 @@
"store-rewrite-tentative-reconcile",
"store-rewrite-walk-validation-hoist",
"store-structural-hot-path-pass",
+ "store-thenable-probe-strict-read",
"store-treeshakeable-optimism",
"stream-demand-gate",
"strict-untrack-warning",
@@ -649,6 +679,7 @@
"tighten-show-match-jsx-types",
"tiny-lions-jam",
"track-applied-classes",
+ "transform-result-sees-thrown-errors",
"transparent-devcomponent",
"transparent-effect-option-typed",
"transport-failure-on-foreign-response",
diff --git a/packages/babel-plugin/CHANGELOG.md b/packages/babel-plugin/CHANGELOG.md
index 9e8e0c6ee..024295b9f 100644
--- a/packages/babel-plugin/CHANGELOG.md
+++ b/packages/babel-plugin/CHANGELOG.md
@@ -1,5 +1,13 @@
# @solidjs/babel-plugin
+## 2.0.0-rc.7
+
+### Patch Changes
+
+- ead7b1a: Keep hydration IDs aligned when an intrinsic element has a ref and one reactive spread.
+- b3586e8: Validate document-shell templates in the document context (#3259). The `validate` pass round-trips templates through a body-context fragment parse, which strips ``/`
`/`` wrappers no matter how well-formed the markup — so once #3099 made validate failures compile errors, a root component owning the document shell failed to compile in plain client mode, and merely importing it (the jsdom component-test configuration) was fatal. Shell-rooted templates now parse as a document and the shell element is compared back — the analogue of the synthetic `` wrap for table partials, in both the Babel plugin and the native compiler. Genuine restructuring (an implied ``, flow content in ``, a `` split in `
`) still errors. Since `` parsing flattens shells, actually client-creating one now throws a descriptive dev-mode error from `template()` pointing at `hydrate()` — the failure moved from every import to the one broken act.
+- d601119: Remove the experimental patch channel and patch-mode list driver (always opt-in, never default). Graph-native regions own value delivery and the unified-For design owns list structure, so the channel's parallel delivery machinery is retired: `patch.ts`/`patch-driver.ts` deleted, the compiler-contract exports (`registerPatch`/`registerRowOps`/`registerSlotPatch`/`patchableRaw`, `patchDriver`/`rowProof`/`driveList`) removed, the `patchDriver` compiler option dropped from both compilers, the insert `$ll` seam stripped, and the write-side channel struct dieted to the single written-keys bound (`t.wk`) the core fold/notify paths actually use. Store-family app bundles reclaim up to ~900 B brotli; every measured tier shrinks.
+
## 2.0.0-rc.6
### Patch Changes
diff --git a/packages/babel-plugin/package.json b/packages/babel-plugin/package.json
index 6239c23ec..fdf651f29 100644
--- a/packages/babel-plugin/package.json
+++ b/packages/babel-plugin/package.json
@@ -1,7 +1,7 @@
{
"name": "@solidjs/babel-plugin",
"description": "Babel compiler plugin for Solid templates",
- "version": "2.0.0-rc.6",
+ "version": "2.0.0-rc.7",
"author": "Ryan Carniato",
"license": "MIT",
"repository": {
diff --git a/packages/compiler/CHANGELOG.md b/packages/compiler/CHANGELOG.md
index a8a7df6e8..16f32d77c 100644
--- a/packages/compiler/CHANGELOG.md
+++ b/packages/compiler/CHANGELOG.md
@@ -1,5 +1,13 @@
# @solidjs/compiler
+## 2.0.0-rc.7
+
+### Patch Changes
+
+- ead7b1a: Keep hydration IDs aligned when an intrinsic element has a ref and one reactive spread.
+- b3586e8: Validate document-shell templates in the document context (#3259). The `validate` pass round-trips templates through a body-context fragment parse, which strips ``/``/`` wrappers no matter how well-formed the markup — so once #3099 made validate failures compile errors, a root component owning the document shell failed to compile in plain client mode, and merely importing it (the jsdom component-test configuration) was fatal. Shell-rooted templates now parse as a document and the shell element is compared back — the analogue of the synthetic `` wrap for table partials, in both the Babel plugin and the native compiler. Genuine restructuring (an implied ``, flow content in ``, a `` split in `
`) still errors. Since `` parsing flattens shells, actually client-creating one now throws a descriptive dev-mode error from `template()` pointing at `hydrate()` — the failure moved from every import to the one broken act.
+- d601119: Remove the experimental patch channel and patch-mode list driver (always opt-in, never default). Graph-native regions own value delivery and the unified-For design owns list structure, so the channel's parallel delivery machinery is retired: `patch.ts`/`patch-driver.ts` deleted, the compiler-contract exports (`registerPatch`/`registerRowOps`/`registerSlotPatch`/`patchableRaw`, `patchDriver`/`rowProof`/`driveList`) removed, the `patchDriver` compiler option dropped from both compilers, the insert `$ll` seam stripped, and the write-side channel struct dieted to the single written-keys bound (`t.wk`) the core fold/notify paths actually use. Store-family app bundles reclaim up to ~900 B brotli; every measured tier shrinks.
+
## 2.0.0-rc.6
### Patch Changes
diff --git a/packages/compiler/npm/darwin-arm64/package.json b/packages/compiler/npm/darwin-arm64/package.json
index b1736ac6c..9cb4a2476 100644
--- a/packages/compiler/npm/darwin-arm64/package.json
+++ b/packages/compiler/npm/darwin-arm64/package.json
@@ -1,6 +1,6 @@
{
"name": "@solidjs/compiler-darwin-arm64",
- "version": "2.0.0-rc.6",
+ "version": "2.0.0-rc.7",
"cpu": [
"arm64"
],
diff --git a/packages/compiler/npm/darwin-x64/package.json b/packages/compiler/npm/darwin-x64/package.json
index 25016069f..bb9173c0b 100644
--- a/packages/compiler/npm/darwin-x64/package.json
+++ b/packages/compiler/npm/darwin-x64/package.json
@@ -1,6 +1,6 @@
{
"name": "@solidjs/compiler-darwin-x64",
- "version": "2.0.0-rc.6",
+ "version": "2.0.0-rc.7",
"cpu": [
"x64"
],
diff --git a/packages/compiler/npm/linux-arm64-gnu/package.json b/packages/compiler/npm/linux-arm64-gnu/package.json
index c1f7deb9a..cf6cd0c6c 100644
--- a/packages/compiler/npm/linux-arm64-gnu/package.json
+++ b/packages/compiler/npm/linux-arm64-gnu/package.json
@@ -1,6 +1,6 @@
{
"name": "@solidjs/compiler-linux-arm64-gnu",
- "version": "2.0.0-rc.6",
+ "version": "2.0.0-rc.7",
"cpu": [
"arm64"
],
diff --git a/packages/compiler/npm/linux-x64-gnu/package.json b/packages/compiler/npm/linux-x64-gnu/package.json
index dd84a7dd6..af9123905 100644
--- a/packages/compiler/npm/linux-x64-gnu/package.json
+++ b/packages/compiler/npm/linux-x64-gnu/package.json
@@ -1,6 +1,6 @@
{
"name": "@solidjs/compiler-linux-x64-gnu",
- "version": "2.0.0-rc.6",
+ "version": "2.0.0-rc.7",
"cpu": [
"x64"
],
diff --git a/packages/compiler/npm/wasm32-wasi/package.json b/packages/compiler/npm/wasm32-wasi/package.json
index 9ddef70b5..a83cb3398 100644
--- a/packages/compiler/npm/wasm32-wasi/package.json
+++ b/packages/compiler/npm/wasm32-wasi/package.json
@@ -1,6 +1,6 @@
{
"name": "@solidjs/compiler-wasm32-wasi",
- "version": "2.0.0-rc.6",
+ "version": "2.0.0-rc.7",
"main": "compiler.wasi.cjs",
"files": [
"compiler.wasm32-wasi.wasm",
diff --git a/packages/compiler/npm/win32-x64-msvc/package.json b/packages/compiler/npm/win32-x64-msvc/package.json
index ab6c60dbf..4daaeaa0f 100644
--- a/packages/compiler/npm/win32-x64-msvc/package.json
+++ b/packages/compiler/npm/win32-x64-msvc/package.json
@@ -1,6 +1,6 @@
{
"name": "@solidjs/compiler-win32-x64-msvc",
- "version": "2.0.0-rc.6",
+ "version": "2.0.0-rc.7",
"cpu": [
"x64"
],
diff --git a/packages/compiler/package.json b/packages/compiler/package.json
index e64d301ee..00d83514d 100644
--- a/packages/compiler/package.json
+++ b/packages/compiler/package.json
@@ -1,7 +1,7 @@
{
"name": "@solidjs/compiler",
"description": "Solid's native Oxc JSX compiler",
- "version": "2.0.0-rc.6",
+ "version": "2.0.0-rc.7",
"author": "Ryan Carniato",
"license": "MIT",
"repository": {
@@ -62,11 +62,11 @@
"emnapi": "^1.11.3"
},
"optionalDependencies": {
- "@solidjs/compiler-darwin-x64": "2.0.0-rc.6",
- "@solidjs/compiler-darwin-arm64": "2.0.0-rc.6",
- "@solidjs/compiler-linux-x64-gnu": "2.0.0-rc.6",
- "@solidjs/compiler-linux-arm64-gnu": "2.0.0-rc.6",
- "@solidjs/compiler-win32-x64-msvc": "2.0.0-rc.6",
- "@solidjs/compiler-wasm32-wasi": "2.0.0-rc.6"
+ "@solidjs/compiler-darwin-x64": "2.0.0-rc.7",
+ "@solidjs/compiler-darwin-arm64": "2.0.0-rc.7",
+ "@solidjs/compiler-linux-x64-gnu": "2.0.0-rc.7",
+ "@solidjs/compiler-linux-arm64-gnu": "2.0.0-rc.7",
+ "@solidjs/compiler-win32-x64-msvc": "2.0.0-rc.7",
+ "@solidjs/compiler-wasm32-wasi": "2.0.0-rc.7"
}
}
diff --git a/packages/diagnostics/CHANGELOG.md b/packages/diagnostics/CHANGELOG.md
index effc46bf4..ddef294f2 100644
--- a/packages/diagnostics/CHANGELOG.md
+++ b/packages/diagnostics/CHANGELOG.md
@@ -1,5 +1,19 @@
# @solidjs/diagnostics
+## 2.0.0-rc.7
+
+### Patch Changes
+
+- Updated dependencies [215de3b]
+- Updated dependencies [067e3bc]
+- Updated dependencies [8a65e5e]
+- Updated dependencies [f24e53d]
+- Updated dependencies [d601119]
+- Updated dependencies [ac5159a]
+- Updated dependencies [de1c8b5]
+- Updated dependencies [0255729]
+ - @solidjs/signals@2.0.0-rc.7
+
## 2.0.0-rc.6
### Patch Changes
diff --git a/packages/diagnostics/package.json b/packages/diagnostics/package.json
index 98a0a60b9..7998722e8 100644
--- a/packages/diagnostics/package.json
+++ b/packages/diagnostics/package.json
@@ -1,6 +1,6 @@
{
"name": "@solidjs/diagnostics",
- "version": "2.0.0-rc.6",
+ "version": "2.0.0-rc.7",
"description": "Agent-consumable diagnostics harness for Solid: capture the dev-mode diagnostic and attribution channels as structured artifacts, with assertion helpers for tests and agent loops.",
"author": "Ryan Carniato",
"license": "MIT",
@@ -52,7 +52,7 @@
"test:watch": "vitest watch tests"
},
"dependencies": {
- "@solidjs/signals": "^2.0.0-rc.6"
+ "@solidjs/signals": "^2.0.0-rc.7"
},
"peerDependencies": {
"vitest": ">=2.0.0"
diff --git a/packages/element/CHANGELOG.md b/packages/element/CHANGELOG.md
index 68cb1935b..84de0ceed 100644
--- a/packages/element/CHANGELOG.md
+++ b/packages/element/CHANGELOG.md
@@ -1,5 +1,38 @@
# solid-element
+## 2.0.0-rc.7
+
+### Patch Changes
+
+- Updated dependencies [215de3b]
+- Updated dependencies [1226381]
+- Updated dependencies [7009adf]
+- Updated dependencies [a14c138]
+- Updated dependencies [c08e974]
+- Updated dependencies [fbe5bef]
+- Updated dependencies [292bdc5]
+- Updated dependencies [285a717]
+- Updated dependencies [8f11ea7]
+- Updated dependencies [d0ca3a4]
+- Updated dependencies [3424f9a]
+- Updated dependencies [b3586e8]
+- Updated dependencies [f21e060]
+- Updated dependencies [5cee0f7]
+- Updated dependencies [6bb51c9]
+- Updated dependencies [ff2ecf1]
+- Updated dependencies [c0bc9ba]
+- Updated dependencies [b7b17ab]
+- Updated dependencies [ed6b605]
+- Updated dependencies [6c9f8f4]
+- Updated dependencies [3393fb6]
+- Updated dependencies [d601119]
+- Updated dependencies [ac5159a]
+- Updated dependencies [de1c8b5]
+- Updated dependencies [84a94bc]
+- Updated dependencies [a1ff286]
+ - solid-js@2.0.0-rc.7
+ - @solidjs/web@2.0.0-rc.7
+
## 2.0.0-rc.6
### Patch Changes
diff --git a/packages/element/package.json b/packages/element/package.json
index a8a112fc9..db10fb65a 100644
--- a/packages/element/package.json
+++ b/packages/element/package.json
@@ -3,7 +3,7 @@
"description": "Webcomponents wrapper for Solid",
"author": "Ryan Carniato",
"license": "MIT",
- "version": "2.0.0-rc.6",
+ "version": "2.0.0-rc.7",
"homepage": "https://github.com/solidjs/solid/blob/main/packages/element#readme",
"repository": {
"type": "git",
@@ -30,8 +30,8 @@
"component-register": "^0.8.7"
},
"peerDependencies": {
- "solid-js": "^2.0.0-rc.6",
- "@solidjs/web": "^2.0.0-rc.6"
+ "solid-js": "^2.0.0-rc.7",
+ "@solidjs/web": "^2.0.0-rc.7"
},
"devDependencies": {
"solid-js": "workspace:*",
diff --git a/packages/h/CHANGELOG.md b/packages/h/CHANGELOG.md
index 1a30372a1..8b50b0bcb 100644
--- a/packages/h/CHANGELOG.md
+++ b/packages/h/CHANGELOG.md
@@ -1,5 +1,33 @@
# @solidjs/h
+## 2.0.0-rc.7
+
+### Patch Changes
+
+- Updated dependencies [1226381]
+- Updated dependencies [7009adf]
+- Updated dependencies [a14c138]
+- Updated dependencies [c08e974]
+- Updated dependencies [fbe5bef]
+- Updated dependencies [292bdc5]
+- Updated dependencies [285a717]
+- Updated dependencies [8f11ea7]
+- Updated dependencies [d0ca3a4]
+- Updated dependencies [b3586e8]
+- Updated dependencies [f21e060]
+- Updated dependencies [5cee0f7]
+- Updated dependencies [6bb51c9]
+- Updated dependencies [ff2ecf1]
+- Updated dependencies [c0bc9ba]
+- Updated dependencies [b7b17ab]
+- Updated dependencies [ed6b605]
+- Updated dependencies [6c9f8f4]
+- Updated dependencies [3393fb6]
+- Updated dependencies [d601119]
+- Updated dependencies [84a94bc]
+- Updated dependencies [a1ff286]
+ - @solidjs/web@2.0.0-rc.7
+
## 2.0.0-rc.6
### Patch Changes
diff --git a/packages/h/package.json b/packages/h/package.json
index cc7e11913..fefb5f2ff 100644
--- a/packages/h/package.json
+++ b/packages/h/package.json
@@ -1,7 +1,7 @@
{
"name": "@solidjs/h",
"description": "Hyperscript / h() factory for Solid — write components without compiled JSX.",
- "version": "2.0.0-rc.6",
+ "version": "2.0.0-rc.7",
"author": "Ryan Carniato",
"license": "MIT",
"homepage": "https://solidjs.com",
@@ -76,7 +76,7 @@
"test": "vitest run"
},
"peerDependencies": {
- "@solidjs/web": "^2.0.0-rc.6"
+ "@solidjs/web": "^2.0.0-rc.7"
},
"devDependencies": {
"@solidjs/web": "workspace:*",
diff --git a/packages/html/CHANGELOG.md b/packages/html/CHANGELOG.md
index 1bc0a4a3f..0d4b11747 100644
--- a/packages/html/CHANGELOG.md
+++ b/packages/html/CHANGELOG.md
@@ -1,5 +1,33 @@
# @solidjs/html
+## 2.0.0-rc.7
+
+### Patch Changes
+
+- Updated dependencies [1226381]
+- Updated dependencies [7009adf]
+- Updated dependencies [a14c138]
+- Updated dependencies [c08e974]
+- Updated dependencies [fbe5bef]
+- Updated dependencies [292bdc5]
+- Updated dependencies [285a717]
+- Updated dependencies [8f11ea7]
+- Updated dependencies [d0ca3a4]
+- Updated dependencies [b3586e8]
+- Updated dependencies [f21e060]
+- Updated dependencies [5cee0f7]
+- Updated dependencies [6bb51c9]
+- Updated dependencies [ff2ecf1]
+- Updated dependencies [c0bc9ba]
+- Updated dependencies [b7b17ab]
+- Updated dependencies [ed6b605]
+- Updated dependencies [6c9f8f4]
+- Updated dependencies [3393fb6]
+- Updated dependencies [d601119]
+- Updated dependencies [84a94bc]
+- Updated dependencies [a1ff286]
+ - @solidjs/web@2.0.0-rc.7
+
## 2.0.0-rc.6
### Patch Changes
diff --git a/packages/html/package.json b/packages/html/package.json
index 59fcd5d59..9f8bfb6f6 100644
--- a/packages/html/package.json
+++ b/packages/html/package.json
@@ -1,7 +1,7 @@
{
"name": "@solidjs/html",
"description": "Tagged-template-literal templating for Solid — write components with no build step.",
- "version": "2.0.0-rc.6",
+ "version": "2.0.0-rc.7",
"author": "Ryan Carniato",
"license": "MIT",
"homepage": "https://solidjs.com",
@@ -47,7 +47,7 @@
"test": "vitest run"
},
"peerDependencies": {
- "@solidjs/web": "^2.0.0-rc.6"
+ "@solidjs/web": "^2.0.0-rc.7"
},
"devDependencies": {
"@solidjs/web": "workspace:*",
diff --git a/packages/signals/CHANGELOG.md b/packages/signals/CHANGELOG.md
index cdf42bf7f..88690397e 100644
--- a/packages/signals/CHANGELOG.md
+++ b/packages/signals/CHANGELOG.md
@@ -1,5 +1,57 @@
# @solidjs/signals
+## 2.0.0-rc.7
+
+### Patch Changes
+
+- 215de3b: Align store overloads across the signals, client, and server entry points. Plain stores share `StoreOptions`, projection forms share `ProjectionOptions`, plain optimistic stores expose their existing options argument, and derived optimistic stores are typed as refreshable.
+- 067e3bc: Optimistic increments keep stacking after a sibling landing. With several
+ optimistic-store actions in flight (optimistic `votes++`, server confirm,
+ `refresh(store)`), the first vote's truth landing is staged into the
+ transaction that still retains the second vote, and that vote's increment
+ replays over it. A third click's draft then read the staged truth WITHOUT
+ the replayed override: draft reads composed live overrides only while no
+ pending backing existed, and `votes++` reads before the first write triggers
+ the view-reseed hand-off. It read base, wrote base + 1, and its override
+ landed on the value already on screen — the click was invisible and the
+ count stuck (or fell back) until truth caught up. Draft reads now compose
+ overrides whenever the pending backing is not the draft's own view-seeded
+ clone.
+- 8a65e5e: An optimistic store's first flight suspends into its Loading boundary again.
+ The flight-owned transaction (#3146) was declared for the uninitialized
+ first ask too, so every transition-riding consumer — `render()`'s scheduled
+ root insert included — was held until the initial fetch landed: the page
+ stayed blank (content outside the boundary included) and the boundary's
+ fallback never showed, while `createStore(fn, seed)` and
+ `createOptimistic(fn, seed)` in the same spot showed it. Nothing has
+ committed on a first flight, so there is no truth to keep on screen and no
+ optimistic state to protect: it now declares nothing, like the loading
+ window (#2933). Refetch flights declare exactly as before, so bare
+ optimistic writes during an in-flight refetch still ride the flight's
+ transaction (#2951) and content stays put until the new truth lands.
+- f24e53d: `refresh()` after a held manual write stays a quiet re-ask. When an action
+ wrote to a derived store and later called `refresh(store)`, the lift of the
+ manual-write mask (#3026) dropped the re-ask classification, so the refetch
+ was treated as a brand-new question and pended every leaf — every sibling
+ row lit up `isPending`, and a row-scoped `affects()` could not narrow it.
+ The lift now keeps the classification: same-question motion stays silent,
+ and only the written slot and any declared `affects()` mark read pending
+ until the truth lands. Same-tick precedence (#2692) is unchanged.
+- d601119: Remove the experimental patch channel and patch-mode list driver (always opt-in, never default). Graph-native regions own value delivery and the unified-For design owns list structure, so the channel's parallel delivery machinery is retired: `patch.ts`/`patch-driver.ts` deleted, the compiler-contract exports (`registerPatch`/`registerRowOps`/`registerSlotPatch`/`patchableRaw`, `patchDriver`/`rowProof`/`driveList`) removed, the `patchDriver` compiler option dropped from both compilers, the insert `$ll` seam stripped, and the write-side channel struct dieted to the single written-keys bound (`t.wk`) the core fold/notify paths actually use. Store-family app bundles reclaim up to ~900 B brotli; every measured tier shrinks.
+- ac5159a: Preserve the supplied type in `Store` instead of adding a shallow readonly mapping.
+- de1c8b5: Revert the complete-seed requirement on derived store forms (#3258). Derived `createStore`, `createProjection`, and derived `createOptimisticStore` accept `Partial` seeds again, on maintainer review: requiring a full `T` forces callers to fabricate a throwaway complete object in the common async case — any object store reconciling on a non-`id` key needs the options slot, hence the seed slot — while the seed is never observable there (reads pend until the first resolution). The type-honesty concern it addressed is real only for sync draft-reading callbacks and is better served by the seedless-callback direction discussed in #3194. Since #3258 never shipped in a release, its pending changeset is dropped rather than superseded; the API is unchanged from 2.0.0-rc.6. The #3260 overload alignment (slot order, `shallow` in options, `Refreshable` derived returns) is unaffected.
+- 0255729: Stop the store proxy's dev strict-read check from firing on the engine's
+ thenable probe. Resolving a promise with a store proxy — `refresh(store)`'s
+ waiter delivers the store, `Promise.resolve(store)`, `return store` from an
+ async function — makes the engine read `store.then` synchronously in the
+ caller's scope. When that scope carries a strict-read label (an effect
+ callback, a component body) the read produced a spurious
+ `STRICT_READ_UNTRACKED` warning, and against a refetching derived store it
+ could escalate to the `PENDING_ASYNC_UNTRACKED_READ` throw, rejecting the
+ promise being resolved. `await refresh(list)` inside an action logged the
+ warning on every call. The `then` probe is not a read the user wrote and is
+ now exempt from both.
+
## 2.0.0-rc.6
### Patch Changes
diff --git a/packages/signals/package.json b/packages/signals/package.json
index f9dae40b0..12bdb13bb 100644
--- a/packages/signals/package.json
+++ b/packages/signals/package.json
@@ -1,6 +1,6 @@
{
"name": "@solidjs/signals",
- "version": "2.0.0-rc.6",
+ "version": "2.0.0-rc.7",
"description": "Solid's reactive primitives: signals, memos, effects, stores, and async-aware computations.",
"author": "Ryan Carniato",
"license": "MIT",
diff --git a/packages/solid/CHANGELOG.md b/packages/solid/CHANGELOG.md
index 6c9ae68bf..0eb696b70 100644
--- a/packages/solid/CHANGELOG.md
+++ b/packages/solid/CHANGELOG.md
@@ -1,5 +1,24 @@
# solid-js
+## 2.0.0-rc.7
+
+### Patch Changes
+
+- 215de3b: Align store overloads across the signals, client, and server entry points. Plain stores share `StoreOptions`, projection forms share `ProjectionOptions`, plain optimistic stores expose their existing options argument, and derived optimistic stores are typed as refreshable.
+- 3424f9a: Consume the first value of live-derived stores during SSR and reconnect their live sources after hydration.
+- d601119: Remove the experimental patch channel and patch-mode list driver (always opt-in, never default). Graph-native regions own value delivery and the unified-For design owns list structure, so the channel's parallel delivery machinery is retired: `patch.ts`/`patch-driver.ts` deleted, the compiler-contract exports (`registerPatch`/`registerRowOps`/`registerSlotPatch`/`patchableRaw`, `patchDriver`/`rowProof`/`driveList`) removed, the `patchDriver` compiler option dropped from both compilers, the insert `$ll` seam stripped, and the write-side channel struct dieted to the single written-keys bound (`t.wk`) the core fold/notify paths actually use. Store-family app bundles reclaim up to ~900 B brotli; every measured tier shrinks.
+- ac5159a: Preserve the supplied type in `Store` instead of adding a shallow readonly mapping.
+- de1c8b5: Revert the complete-seed requirement on derived store forms (#3258). Derived `createStore`, `createProjection`, and derived `createOptimisticStore` accept `Partial` seeds again, on maintainer review: requiring a full `T` forces callers to fabricate a throwaway complete object in the common async case — any object store reconciling on a non-`id` key needs the options slot, hence the seed slot — while the seed is never observable there (reads pend until the first resolution). The type-honesty concern it addressed is real only for sync draft-reading callbacks and is better served by the seedless-callback direction discussed in #3194. Since #3258 never shipped in a release, its pending changeset is dropped rather than superseded; the API is unchanged from 2.0.0-rc.6. The #3260 overload alignment (slot order, `shallow` in options, `Refreshable` derived returns) is unaffected.
+- Updated dependencies [215de3b]
+- Updated dependencies [067e3bc]
+- Updated dependencies [8a65e5e]
+- Updated dependencies [f24e53d]
+- Updated dependencies [d601119]
+- Updated dependencies [ac5159a]
+- Updated dependencies [de1c8b5]
+- Updated dependencies [0255729]
+ - @solidjs/signals@2.0.0-rc.7
+
## 2.0.0-rc.6
### Patch Changes
diff --git a/packages/solid/package.json b/packages/solid/package.json
index a71b59cd0..9f6a93e1a 100644
--- a/packages/solid/package.json
+++ b/packages/solid/package.json
@@ -1,7 +1,7 @@
{
"name": "solid-js",
"description": "Reactive JavaScript library for building user interfaces. Compiles JSX to real DOM with fine-grained signal-based updates — no virtual DOM.",
- "version": "2.0.0-rc.6",
+ "version": "2.0.0-rc.7",
"author": "Ryan Carniato",
"license": "MIT",
"homepage": "https://solidjs.com",
@@ -140,7 +140,7 @@
"performance"
],
"dependencies": {
- "@solidjs/signals": "^2.0.0-rc.6",
+ "@solidjs/signals": "^2.0.0-rc.7",
"csstype": "^3.1.0",
"seroval": "~1.5.4",
"seroval-plugins": "~1.5.4"
diff --git a/packages/test-integration/CHANGELOG.md b/packages/test-integration/CHANGELOG.md
index 73fa2f53a..d7ef669c9 100644
--- a/packages/test-integration/CHANGELOG.md
+++ b/packages/test-integration/CHANGELOG.md
@@ -1,5 +1,48 @@
# test-integration
+## 2.0.0-rc.7
+
+### Patch Changes
+
+- Updated dependencies [ead7b1a]
+- Updated dependencies [215de3b]
+- Updated dependencies [1226381]
+- Updated dependencies [7009adf]
+- Updated dependencies [a14c138]
+- Updated dependencies [c08e974]
+- Updated dependencies [fbe5bef]
+- Updated dependencies [292bdc5]
+- Updated dependencies [285a717]
+- Updated dependencies [8f11ea7]
+- Updated dependencies [d0ca3a4]
+- Updated dependencies [3424f9a]
+- Updated dependencies [b3586e8]
+- Updated dependencies [f21e060]
+- Updated dependencies [5cee0f7]
+- Updated dependencies [6bb51c9]
+- Updated dependencies [067e3bc]
+- Updated dependencies [8a65e5e]
+- Updated dependencies [ff2ecf1]
+- Updated dependencies [c0bc9ba]
+- Updated dependencies [b7b17ab]
+- Updated dependencies [f24e53d]
+- Updated dependencies [ed6b605]
+- Updated dependencies [6c9f8f4]
+- Updated dependencies [3393fb6]
+- Updated dependencies [d601119]
+- Updated dependencies [ac5159a]
+- Updated dependencies [de1c8b5]
+- Updated dependencies [84a94bc]
+- Updated dependencies [0255729]
+- Updated dependencies [a1ff286]
+ - @solidjs/babel-plugin@2.0.0-rc.7
+ - @solidjs/signals@2.0.0-rc.7
+ - solid-js@2.0.0-rc.7
+ - @solidjs/web@2.0.0-rc.7
+ - @solidjs/universal@2.0.0-rc.7
+ - @solidjs/h@2.0.0-rc.7
+ - @solidjs/html@2.0.0-rc.7
+
## 2.0.0-rc.6
### Patch Changes
diff --git a/packages/test-integration/package.json b/packages/test-integration/package.json
index 12df9a453..4a76ad58f 100644
--- a/packages/test-integration/package.json
+++ b/packages/test-integration/package.json
@@ -21,5 +21,5 @@
"gitly": "^2.2.1",
"shelljs": "^0.8.5"
},
- "version": "2.0.0-rc.6"
+ "version": "2.0.0-rc.7"
}
diff --git a/packages/universal/CHANGELOG.md b/packages/universal/CHANGELOG.md
index 3dd9574a8..441e1d349 100644
--- a/packages/universal/CHANGELOG.md
+++ b/packages/universal/CHANGELOG.md
@@ -1,5 +1,17 @@
# @solidjs/universal
+## 2.0.0-rc.7
+
+### Patch Changes
+
+- d601119: Remove the experimental patch channel and patch-mode list driver (always opt-in, never default). Graph-native regions own value delivery and the unified-For design owns list structure, so the channel's parallel delivery machinery is retired: `patch.ts`/`patch-driver.ts` deleted, the compiler-contract exports (`registerPatch`/`registerRowOps`/`registerSlotPatch`/`patchableRaw`, `patchDriver`/`rowProof`/`driveList`) removed, the `patchDriver` compiler option dropped from both compilers, the insert `$ll` seam stripped, and the write-side channel struct dieted to the single written-keys bound (`t.wk`) the core fold/notify paths actually use. Store-family app bundles reclaim up to ~900 B brotli; every measured tier shrinks.
+- Updated dependencies [215de3b]
+- Updated dependencies [3424f9a]
+- Updated dependencies [d601119]
+- Updated dependencies [ac5159a]
+- Updated dependencies [de1c8b5]
+ - solid-js@2.0.0-rc.7
+
## 2.0.0-rc.6
### Patch Changes
diff --git a/packages/universal/package.json b/packages/universal/package.json
index f7ccdfcc0..d1a6c1832 100644
--- a/packages/universal/package.json
+++ b/packages/universal/package.json
@@ -1,7 +1,7 @@
{
"name": "@solidjs/universal",
"description": "Solid's universal runtime for creating custom renderers",
- "version": "2.0.0-rc.6",
+ "version": "2.0.0-rc.7",
"author": "Ryan Carniato",
"license": "MIT",
"homepage": "https://solidjs.com",
@@ -58,7 +58,7 @@
"test": "vitest run"
},
"peerDependencies": {
- "solid-js": "^2.0.0-rc.6"
+ "solid-js": "^2.0.0-rc.7"
},
"devDependencies": {
"solid-js": "workspace:*"
diff --git a/packages/web/CHANGELOG.md b/packages/web/CHANGELOG.md
index 382a9084e..ed7652187 100644
--- a/packages/web/CHANGELOG.md
+++ b/packages/web/CHANGELOG.md
@@ -1,5 +1,38 @@
# @solidjs/web
+## 2.0.0-rc.7
+
+### Patch Changes
+
+- 1226381: Bind `GET()` grants to the function identity they were declared about (#3237). The grant — GET/HEAD dispatch plus the CSRF origin-gate exemption — was keyed by id alone, so `register -> register -> GET(oldReference)` handed the NEW function cross-site GET execution on the strength of a declaration the old one signed. The grant now records the declared function, and a single `declaresRead(id)` check governs both dispatch and the 405 `Allow` advertisement; a stale or unverifiable declaration fails closed (GET refused, POST + origin gate required). A declaration or `withMeta({ method })` write that would change an existing grant's binding throws in dev and fails closed in prod, never silently rebinds.
+- 7009adf: Bound the request body cap by the bytes actually received: a conforming Content-Length under the limit no longer skips the counting read, so an under-declared body cannot stream past `bodySizeLimit` into the decoder, and the abort/teardown coupling for abandoned uploads now covers declared-length POSTs too (#3236).
+- a14c138: Dedupe the requested single-flight source ids to a first-seen-order set at entry, so a repeated id runs its collector once and echoes once in the response header instead of multiplying work by the caller-controlled list length (#3251)
+- c08e974: Document the per-handler `wrapInvocation` option as entry-only (#3240). Ruled: entry-only semantics are kept — the option wraps exactly the invocation the request addressed, and nested direct server-function calls made by the dispatched body are not re-wrapped by it; hop-by-hop policy belongs to the configured (ambient) hook, which wraps every direct call. TSDoc only, no runtime behavior change; the boundary is now pinned by a regression test.
+- fbe5bef: Encrypt the no-JS flash cookie (#3239). The flash carries the submitted form input — whatever the user typed — so its payload is now AES-GCM encrypted under a key derived (domain-separated) from the deployment secret: `configureServerFunctionsServer({ secret })`, falling back to the `globalThis.__SOLID_SECRET__` value the Solid bundler plugin injects into server builds. With no secret configured the outcome is withheld rather than sent in the clear (the post still redirects; dev builds warn once). Decryption failure — a tampered cookie, a rotated secret — reads as "no flash". The cookie now also carries `SameSite=Lax` and `Max-Age=60`, and `encodeFlashCookie`/`decodeFlashCookie` are async.
+- 292bdc5: Enforce provideEvent's exactly-once contract on direct SSR calls too: the invocation count #3172 added to HTTP dispatch now guards both legs through a shared `provideEventOnce` seam, so a hook that double-invokes or skips the callback fails loudly during a render instead of silently double-committing a mutation or answering `undefined`, while synchronous direct calls keep returning their value synchronously (#3246).
+- 285a717: Defuse the promise the decoder's abort sweep is about to reject (#3267). A `PromiseConstructor` node whose ref id collides with an already-assigned id (or is malformed) throws mid-registration, leaving a `{p, s, f}` deferred in the decoder's refs whose promise `ownDecodedPromises` never claimed — the deferred is not itself a Promise. The end-of-stream sweep then rejected that promise with no owner, and under Node's default policy one unauthenticated POST with a crafted argument body ended the process after the request was already refused 400. The sweep now takes ownership of `.p` before rejecting it, covering every promise it touches regardless of how the entry reached refs.
+- 8f11ea7: Guard failure channels under an Error carrier's non-enumerable own data slots (#3268). The #3235 guard walked Error carriers with `Object.keys`, but seroval encodes an Error's own properties through `getOwnPropertyNames` — so a rejected promise or erroring stream parked on a non-enumerable slot (`cause` is non-enumerable by spec since ES2022, and the ordinary place a wrapped driver error carries its context) was encoded without ever being walked: its failure reason rode the wire verbatim on a committed 200, and the rejection had no owner. The guard now descends an Error's own string-keyed data slots, enumerable or not. Hidden accessors remain the codec's read (47995412's pinned ruling): the walk still does not invoke what the author hid.
+- d0ca3a4: The no-JS flash cookie now records the UNBOUND function base as the submission's `url` — the request's pathname (`/`), never the query. A `.with()`-bound form's action url carries its bound arguments in `?args=…`, and integrations match submissions against the action's unbound base (the router's `s.url === fn.base`): a flash url wearing the binding stored, decoded, and then matched nothing on the post-redirect render. The seed now matches the scripted submission shape exactly — the base as `url`, bound arguments prepended to `input` (which the argument parser's `?args` prepend already provided).
+- b3586e8: Validate document-shell templates in the document context (#3259). The `validate` pass round-trips templates through a body-context fragment parse, which strips ``/``/`` wrappers no matter how well-formed the markup — so once #3099 made validate failures compile errors, a root component owning the document shell failed to compile in plain client mode, and merely importing it (the jsdom component-test configuration) was fatal. Shell-rooted templates now parse as a document and the shell element is compared back — the analogue of the synthetic `` wrap for table partials, in both the Babel plugin and the native compiler. Genuine restructuring (an implied ``, flow content in ``, a `` split in `
`) still errors. Since `` parsing flattens shells, actually client-creating one now throws a descriptive dev-mode error from `template()` pointing at `hydrate()` — the failure moved from every import to the one broken act.
+- f21e060: Flash falsy no-JS outcomes (`0`, `false`, `""`, `null`) instead of silently dropping them: the flash decode and the no-JS handler now decide structurally (result presence, `Response` shape) rather than by truthiness, and dispatch no longer erodes a returned `null` to `undefined` on its way to the handler; an `undefined` outcome keeps its current no-cookie behavior pending ruling (#3248)
+- 5cee0f7: Guard enumerable failure channels carried on Error results: the result-encoding guard walk now descends Error-prototyped carriers (which seroval encodes with their own properties) so a rejecting promise, erroring stream, or throwing iterable assigned onto a returned Error is sanitized and torn down like any other channel, while the carrier keeps its prototype, message, and own data (#3235).
+- 6bb51c9: Keep `-0` off the server-function JSON fast path. `JSON.stringify(-0)` is `"0"`, so a signed zero admitted by `isJSONSafe` rode the fast path and arrived as `+0` — a silent sign flip on the exact guard that already refuses `NaN` and the infinities for the same reason. `-0` now answers "not JSON-safe" and rides the codec, which spells it exactly, on both legs (argument lists and results).
+- ff2ecf1: Own every promise the server-function decoder mints. A rejected promise decoded out of a peer's payload — a rejection frame arriving mid-stream, or an atomic rejected-promise node settling synchronously during decode — had no owner when the consumer never read (or abandoned) the slot, and escaped as an unhandled rejection that ends a Node consumer under its default policy. The decoder now attaches a noop rejection handler at mint time, mirroring the encode side's `guardedPromise` ownership (#3216); real consumers still observe the rejection unchanged.
+- c0bc9ba: Adopt a `transformFlightResult` Response via the ownership seam (`ownResponse`) before stamping the mutation's cookies and accumulated headers onto it, so a Response the integration retains (a memoized shell) never accumulates one caller's session cookies and serves them to the next (#3234, completing #3155)
+- b7b17ab: Make `extractBody` own the stream it decodes: the body is read where it lies, never from an internal clone. An unread tee branch queues the whole payload in memory for the life of the read and defeats backpressure and cancellation — the same ownership defect fixed for the upload leg in `bufferBodyWithin` (#3217–#3219). `decodeResponse` keeps its documented contract (an integration's response stays readable) by cloning at its own entry — a branch that is then read in full; the client transport decodes the response it owns directly, and the server's argument road reuses its one deliberate clone (kept so `event.request` stays readable) for the empty-body inspection instead of teeing again. This is the clone half of #3244 only; connection teardown on completion is deliberately not included.
+- ed6b605: Throw a clear configuration error for invalid `wrapInvocation` values (#3238). A value other than a function or `undefined` — `null`, `false`, an options bag in the wrong slot — used to fail in the quietest available direction: falsy values silently took per-invocation policy (auth, logging) off the call, truthy non-functions threw a bare "not a function" mid-dispatch. The hook is now validated at the point it is resolved for an invocation, on both roads (HTTP dispatch and direct SSR calls), with an error naming `wrapInvocation` and the received type; `undefined` stays the one spelling of absence.
+- 6c9f8f4: Refuse an unrecognized `X-Server-Function-Format` tag before the decode switch runs. The content-type sniffing branches (there for untagged form posts) matched regardless of the tag, so a body tagged with a format this build has no case for — version skew from a newer peer, or a duplicated header that `Headers.get` joins into one unknown value — was silently reinterpreted as a form and the function ran on an argument it was never sent. Such bodies now answer 400 before dispatch, with a development message naming version skew; untagged bodies keep the sniffing, and an untagged empty body stays a zero-argument call (#3214).
+- 3393fb6: Refuse to flash when no storable cookie exists for a no-JS outcome (#3249). The degrade ladder (#3137) bounds the input echo and the result but never looked at `url` — pathname + search of a request the caller chose — so a long enough form action pushed the fully-degraded payload past the ~4 KB cookie ceiling and the encoder emitted a cookie the browser discards whole, with `truncated: true` inside asserting a degradation that never stored. `encodeFlashCookie` now returns `null` when even the degraded payload cannot fit, and the no-JS handler falls back to the plain redirect — never an oversized cookie, never a url truncated to a prefix that would attach the outcome to a submission it does not identify. Cookie naming, attributes, and refusal/redirect statuses are untouched (#3239, #3250 pending).
+- d601119: Remove the experimental patch channel and patch-mode list driver (always opt-in, never default). Graph-native regions own value delivery and the unified-For design owns list structure, so the channel's parallel delivery machinery is retired: `patch.ts`/`patch-driver.ts` deleted, the compiler-contract exports (`registerPatch`/`registerRowOps`/`registerSlotPatch`/`patchableRaw`, `patchDriver`/`rowProof`/`driveList`) removed, the `patchDriver` compiler option dropped from both compilers, the insert `$ll` seam stripped, and the write-side channel struct dieted to the single written-keys bound (`t.wk`) the core fold/notify paths actually use. Store-family app bundles reclaim up to ~900 B brotli; every measured tier shrinks.
+- 84a94bc: Scope deferred work nested inside plain-object and array carriers to the producing call's request event (#3241, completing #3222). The HTTP road already applied the wrapping in the encoded representation (the guard walk's rebuilt shells); the direct SSR road only looked at the returned value itself, so `return { rows: cursor() }` ran its generator under the render's ambient event — two concurrent direct calls read and wrote each other's `locals`, and the render's own. The direct road now descends plain-object/array carriers and hands the caller a shallow-rebuilt carrier with the bound wrappers in the deferred slots; the user's returned containers are never written into, and results with nothing deferred keep their identity. Set/Map members, class instances, and frozen/non-writable slots are deliberately out of the carrier set (pinned by test): bodies reached through them stay bound to nothing, as before.
+- a1ff286: Run `transformResult` for plain thrown errors as its documentation already promises: the hook now runs once at the thrown path's entry (`context.thrown` set) for every thrown value — not only thrown Response/envelope shapes — and the response tail is selected from its output, while the wire stays sanitized and a hook that itself throws is contained as a sanitized 500 (#3247).
+- Updated dependencies [215de3b]
+- Updated dependencies [3424f9a]
+- Updated dependencies [d601119]
+- Updated dependencies [ac5159a]
+- Updated dependencies [de1c8b5]
+ - solid-js@2.0.0-rc.7
+
## 2.0.0-rc.6
### Patch Changes
diff --git a/packages/web/package.json b/packages/web/package.json
index 8adbe1299..362bb29d6 100644
--- a/packages/web/package.json
+++ b/packages/web/package.json
@@ -1,7 +1,7 @@
{
"name": "@solidjs/web",
"description": "Solid's web runtime: client rendering, hydration, SSR, and DOM-specific control flow (Portal, Dynamic).",
- "version": "2.0.0-rc.6",
+ "version": "2.0.0-rc.7",
"author": "Ryan Carniato",
"license": "MIT",
"homepage": "https://solidjs.com",
@@ -398,7 +398,7 @@
"seroval-plugins": "~1.5.4"
},
"peerDependencies": {
- "solid-js": "^2.0.0-rc.6"
+ "solid-js": "^2.0.0-rc.7"
},
"devDependencies": {
"@codspeed/vitest-plugin": "^5.4.0",