From c433863cab9737bc4c9f75bded05fe4ac8ba780f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 2 Nov 2026 23:21:52 +0000 Subject: [PATCH] Version packages (rc) --- .changeset/pre.json | 90 ++++++++++++++++ examples/board/CHANGELOG.md | 21 ++++ examples/board/package.json | 2 +- examples/canvas/CHANGELOG.md | 21 ++++ examples/canvas/package.json | 2 +- examples/server-dbmon/CHANGELOG.md | 21 ++++ examples/server-dbmon/package.json | 2 +- examples/todos-server/CHANGELOG.md | 21 ++++ examples/todos-server/package.json | 2 +- packages/babel-plugin/CHANGELOG.md | 6 ++ packages/babel-plugin/package.json | 2 +- packages/compiler/CHANGELOG.md | 2 + .../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 | 96 +++++++++++++++++ packages/diagnostics/package.json | 8 +- packages/element/CHANGELOG.md | 21 ++++ packages/element/package.json | 6 +- packages/h/CHANGELOG.md | 17 +++ packages/h/package.json | 4 +- packages/html/CHANGELOG.md | 16 +++ packages/html/package.json | 4 +- packages/signals/CHANGELOG.md | 88 +++++++++++++++ packages/signals/package.json | 2 +- packages/solid/CHANGELOG.md | 87 +++++++++++++++ packages/solid/package.json | 4 +- packages/test-integration/CHANGELOG.md | 102 ++++++++++++++++++ packages/test-integration/package.json | 2 +- packages/universal/CHANGELOG.md | 11 ++ packages/universal/package.json | 4 +- packages/web/CHANGELOG.md | 21 ++++ packages/web/package.json | 4 +- 37 files changed, 678 insertions(+), 37 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index fadd54108b..7f03472b12 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -70,6 +70,8 @@ "anchor-noscroll-attribute-type", "arch-tier1-affects-reveal", "arch-tier2-consolidations", + "asset-grace-rewarm", + "asset-manifest-base-key", "async-arg-border-typing", "async-carve-reader-position", "async-landing-deps", @@ -79,6 +81,7 @@ "async-stable-order-4028", "async-store-setter-diagnostic", "async-waterfall-attribution", + "attribution-accessor-comparison", "attribution-enable-release-token", "attribution-feedback-facts", "attribution-feedback-tables", @@ -115,12 +118,14 @@ "boundary-held-mount-u3", "boundary-mounts-independent-holds", "boundary-primitives-internal", + "braceless-return-setup", "brave-heaps-refuse", "bridge-keeps-shared-references", "bright-waves-dance", "broadcast-capture-rule", "broadcast-data-capture-rule", "broadcast-data-sources", + "broadcast-form-query-share-key", "broadcast-live", "brown-paws-speak", "bump-dom-expressions-0-50-next-22", @@ -136,6 +141,7 @@ "bump-dom-expressions-next-8", "carry-live-get-grant-across-dev-rebind", "caught-notready-store-reader", + "caught-reactive-read-diagnostic", "cheatsheet-context-over-module-state", "chunk-reader-hardening", "claim-after-initial-attributes-compilers", @@ -191,6 +197,7 @@ "continue-tsrx-semantic-ir", "core-hot-path-shape-alignment", "create-deferred", + "create-owner-internal", "create-root-dispose-retention", "create-root-ownership-jsdoc", "cross-package-owner-fields", @@ -203,6 +210,10 @@ "dedupe-settle-walk-code", "dedupe-single-flight-source-ids", "dedupe-strict-read-diagnostics", + "deep-one-walk", + "deep-snapshot-held-landing", + "defer-effect-held-mount", + "defer-effect-held-prev", "deferred-protocol-flight", "deferred-sync-error-flight", "deferred-sync-iterator-results", @@ -214,9 +225,15 @@ "deprecate-server-writes", "derive-reads-held-key-joins", "derived-optimistic-writer-frame", + "derived-store-derive-settle", + "derived-store-error-once", "derived-store-first-landing-verdict", + "derived-store-held-rejection-staged-4489", "derived-store-ispending-boundary-4269", + "derived-store-lane-derive", "derived-store-latest-seed", + "derived-store-midflight-mount", + "derived-store-propagated-error-once", "derived-store-recovery-wake", "derived-store-retained-draft-row", "derived-writes-apply-before-derivations", @@ -293,8 +310,10 @@ "encrypt-flash-cookie", "enforce-provide-event-once-on-direct-calls", "enforce-provide-event-single-invocation", + "equals-netting-4483", "equals-pending-read-4111", "error-boundary-fallback-rethrow-recovers", + "error-boundary-superseded-staged-error-4527", "error-hook-thrower-path", "errored-async-outcome-4287", "errored-escapes-children-4116", @@ -302,10 +321,15 @@ "errored-fallback-shell-failure", "errored-fallback-thunk-scope", "errored-heals-disposed-reader", + "errored-held-mount-staged-error-4480", "errored-hydrated-lazy-content-claims", "errored-hydrated-recovery-4273", + "errored-hydrated-write-before-chunks", + "errored-latest-obsolete-flight-4568", + "errored-list-held-recovery", "errored-parked-async-outcome-4306", "errored-pass-tail-still-observes", + "errored-recovery-waits-pending-reader", "errored-recovery-wedge", "errored-shared-slot-rejection", "errored-staged-source-4364", @@ -314,6 +338,7 @@ "expose-enableExternalSource-loading-on", "extract-nested-server-function-declarations", "fail-untagged-2xx-responses", + "fallback-born-held-creator-4428", "fallback-record-times-display", "feedback-findings", "fetch-option-retry-contract", @@ -321,6 +346,7 @@ "first-load-lands-into-hold", "first-mount-fast-path", "fix-304-cached-representation", + "fix-4544-own-staging", "fix-absorbed-compiler-parity", "fix-action-falsy-generator-throw", "fix-action-thenable-await", @@ -375,6 +401,7 @@ "fix-derived-signal-same-write", "fix-derived-store-action-pending", "fix-derived-store-flight-finalize", + "fix-derived-store-heal-with-errored-4451", "fix-derived-store-refetch-error", "fix-detached-eager-jsx-initial-fill", "fix-disposed-owner-leak-via-sibling-chain", @@ -650,6 +677,7 @@ "fix-usehead-stylesheet-hydration", "fix-validate-document-shell", "fix-verdict-lane-flush-loop", + "fix-verdict-shortcut-pending-source", "fix-version-skew-label-before-gate", "fix-zombie-flag-survives-recompute", "flash-falsy-nojs-outcomes", @@ -657,8 +685,10 @@ "flatten-promise-of-async-iterable", "flight-consumers-receive-response-metadata", "floor-folds-verdict-upkeep", + "floor-shared-walks", "fluffy-bananas-smoke", "fold-runtime-wrappers", + "folded-latest-confirming-truth", "for-hydration-id-parity", "form-inputs-docs-4185", "format-ssr-hydration-followups", @@ -746,7 +776,10 @@ "guard-error-carried-failure-channels", "guard-failures-iterative-walk", "guard-getter-and-map-key-channels", + "guess-memo-binding-holds-frame", + "guess-under-new-question-rebases", "h-rematerialize-without-mutating-props", + "h-selector-class-getter", "halt-owner-path-4178", "halt-reactivity-on-uncaught-error", "halt-rethrows-user-error", @@ -757,6 +790,7 @@ "held-container-unread-key-4146", "held-derivation-not-a-proposal", "held-error-waits-for-frame", + "held-frame-verdict-parity", "held-recovery-keeps-shown-error", "held-sync-throw-4109", "held-truth-masks-lane-passes-only", @@ -799,6 +833,7 @@ "ispending-before-first-commit", "ispending-held-sync-memo", "ispending-loading-guard", + "ispending-memo-parked-seam", "ispending-memo-unstamped-hold", "ispending-outside-write-action-4367", "ispending-wrapper-fresh-hold", @@ -810,19 +845,25 @@ "keep-ambient-batch-on-stash", "keep-cast-component-refs", "keep-negative-zero-off-the-json-fast-path", + "keep-readers-attach-waits", "keyed-guess-folds-correction", "l2-fuzz-existing-rules", "label-version-skew-404", "landing-rejudges-parked-transactions", "landing-stale-reader-reveal", + "lane-dissolve-disposed-member", "lane-drop-dead-companion-refresh", "lane-frame-children-3662", "lane-frame-zombie-lane-dirty-4137", + "lane-held-settle-no-join", "lane-hold-on-observation", "lane-holds-through-boundary-content", "lane-mount-binding-reads-screen", "lane-mount-boundary-over-flight", + "lane-mount-effects-4557", "lane-node-in-held-frame-stays-the-lanes", + "lane-reader-hold-work-4408-4399", + "lane-served-retires-carried-pending", "lane-stale-reader-unheld-lane", "lane-takeover-held-effect", "lane-unshown-leaf-reveal", @@ -832,11 +873,15 @@ "latest-first-later-throw", "latest-frame-flight-adopted-4365", "latest-inline-memo-parity", + "latest-ispending-refetch-loop", + "latest-joined-release", "latest-lazy-companion-backfill", "latest-probe-order-independence", + "latest-pulled-pass-ispending", "latest-seed-invisibility", "latest-shadow-owned-write", "latest-shadow-rewrite-stays-ambient", + "latest-snapshot-claim-4570", "latest-tears-ahead-of-lane-4284", "latest-two-readers-one-ask-4393", "latest-uninitialized-lane-4362", @@ -855,9 +900,11 @@ "lazy-nohydration-renders", "lazy-preload-assets", "lazy-scope-carrier-shell", + "lazy-shared-load-await-restore-context", "lean-posture-landed", "lean-ssr-owner-runtime", "lemon-mails-lick", + "list-identity-own-data-id", "live-address-event-stream-framing", "live-attr-escalation-address", "live-chaos-reconnect-knob", @@ -889,6 +936,7 @@ "loading-on-latest-two-flights", "loading-on-outside-hold-same-source-only", "loading-rearm-fallback-effect-4268", + "loading-reveal-waits-held-write-4593", "loading-value-commit-zero", "loading-value-size-pass", "loading-value-ssr-commit-zero", @@ -897,8 +945,10 @@ "lone-spread-hydration-key", "lone-spread-no-merge", "long-hold-and-stricter-thresholds", + "low-priority-modulepreload", "lowercase-on-is-attribute", "map-array-subsequence-fast-paths", + "map-skip-unchanged-row-writes", "maparray-nonkeyed-store-stale-row", "maparray-small-move-fast-path", "maparray-swap-commit", @@ -906,6 +956,7 @@ "mean-bats-grin", "merge-memo-unstable-output", "merge-omit-lazy-views", + "midflight-memo-over-reask-4504", "migrate-web-runtime-to-ts", "missing-effect-fn-loud-failure", "mode-specific-control-flow-callbacks", @@ -922,7 +973,10 @@ "nested-on-reset-boundary-u4", "nested-region-refetch-3894", "nested-stream-demand-gate-teardown", + "netted-staging-strict-read", + "netted-verdict-reader", "nohydration-lazy-maparray-deps", + "nojs-envelope-cookies", "notready-skip-stack-capture", "npm-descriptions", "observability-surface-prune", @@ -941,6 +995,7 @@ "one-records-channel", "one-unflushed-adopted", "optimistic-chained-previous-value-3672", + "optimistic-derive-memo-error", "optimistic-draft-reads-compose-over-staged-truth", "optimistic-draft-visibility-3665", "optimistic-guess-over-held-slot", @@ -951,6 +1006,8 @@ "optimistic-mask-effective-writes-only", "optimistic-mask-ispending", "optimistic-over-held-row", + "optimistic-rebase-from-guess", + "optimistic-removal-rebase-new-question-4482", "optimistic-reorder-effect-loop", "optimistic-replaced-row-identity", "optimistic-retained-draft-row", @@ -1020,7 +1077,9 @@ "preserve-bound-event-tuples", "preserve-directive-source-maps", "preserve-store-symbol-snapshots", + "prod-no-owner-context-default", "projection-draft-valid-until-superseded", + "projection-lane-length-4631", "projection-leaf-companions-die-with-firewall", "projection-leaf-release", "projection-lists-drivable", @@ -1031,6 +1090,7 @@ "projection-root-entity-swap", "projection-root-write-overlay", "projection-row-memo-relanding-4305", + "projection-staged-error-reader-link-4517", "projection-sync-throw-reaches-readers", "projection-unchain-from-store-proxy", "propagation-hot-path-regression", @@ -1045,7 +1105,10 @@ "reaction-pending-arm", "reaction-rearm-replaces", "read-every-body-the-transport-tees", + "reader-seat-s1-rebaseline", + "reader-seat-shadow", "rearm-boundary-scope-u9", + "rebased-guess-waits-parked-question", "rebuild-buffered-request-from-parts", "recompute-preserves-disposed", "reconcile-array-object-shape-guard", @@ -1068,6 +1131,7 @@ "refine-superseded-settle-invariant", "refresh-call-expr-registration", "refresh-decline-document-shell-modules", + "refresh-forwards-rest-args", "refresh-held-write-stays-reask", "refresh-lifts-stale-manual-write-mask", "refresh-memo-plumbing", @@ -1087,6 +1151,7 @@ "rejected-first-read-reask", "rejected-replacement-retires-frame", "relay-tear-measuring-effects", + "release-after-retry-4474", "release-companion-leaf-3503", "relocate-uninit-lane-check", "remove-binding-slots", @@ -1112,6 +1177,7 @@ "render-record-and-values-option", "render-to-string-sync-dispose", "renderer-owned-jsx-types", + "repark-drops-unreached-source-4541", "repeat-children-once", "repeat-disjoint-window", "replayed-event-own-flush", @@ -1125,6 +1191,7 @@ "response-head-lifecycle", "responsive-preload-links", "restaged-effect-no-early-run", + "retain-optimistic-question-observation", "reveal-order-prop", "reveal-ssr-streaming-support", "reveal-string-ssr-collapsed", @@ -1136,6 +1203,7 @@ "row-proof-admission", "rude-pillows-tell", "rxcore-ssr-async-value", + "same-tick-first-answer-reask", "sanitize-graph-failures", "scope-deferred-server-function-results", "scope-function-children-holes", @@ -1186,6 +1254,7 @@ "server-store-replacement-optimistic-noop", "server-trace-context", "setter-row-ops-tentative-lists", + "settle-chain-staged-mark-4562", "settle-fast-path", "settle-superseded-flight-dependents", "settle-unchanged-pending-branches", @@ -1248,6 +1317,7 @@ "snapshot-boundary-assets-serialization", "snapshot-hydration-safety", "snapshot-trailing-holes", + "snapshot-walk-materialize-guard", "solid-2-0-agent-primer", "solid-native-frame-protocol-identifiers", "solid-query-gate-packs-compiler", @@ -1263,6 +1333,7 @@ "ssr-component-names", "ssr-element-attrs-and-merge-read-path", "ssr-element-join-in-place", + "ssr-element-scope-child", "ssr-element-sources", "ssr-error-sanitization", "ssr-falsy-rejections-and-thenables", @@ -1287,7 +1358,11 @@ "ssr-validate-svg-partials", "ssrSource-effects-and-fix-server-createEffect", "ssrsource-async-iterables", + "staged-error-netted-write", + "staged-error-reaches-derivations", + "staged-first-value-equal-repass-4540", "staged-reporter-deps-tail", + "staged-signed-zero", "stale-read-uninitialized-cross-transition", "steady-reveal-composites", "store-applystate-fast-slow-split", @@ -1299,7 +1374,9 @@ "store-delete-key-count", "store-descriptor-override-value", "store-descriptor-trap-subscribes", + "store-empty-proxy-target", "store-enumerator-presence-nodes-3664", + "store-family-mangled-fields", "store-first-read-diet", "store-fold-owner-stamp", "store-fold-queue-prebatch-record", @@ -1309,6 +1386,7 @@ "store-next-settled-visibility", "store-node-rule1", "store-override-survives-unobserved", + "store-override-write-notify-4484", "store-owner-stamp", "store-pending-overlay", "store-platform-objects-raw", @@ -1366,6 +1444,8 @@ "tiny-lions-jam", "trace-ids-math-random", "track-applied-classes", + "tracked-effect-memo-and-landing", + "tracked-effect-same-pass-write", "tracked-style-class-objects", "transform-result-sees-thrown-errors", "transparent-devcomponent", @@ -1374,8 +1454,10 @@ "trim-batch-bytes-1026", "truncated-fragment-fresh-render-computes", "truncation-sweep-all-registry-refs", + "truncation-sweep-late-start", "tsrx-explicit-accessor-bindings", "tsrx-syntax-frontend", + "two-sources-answered-reasked-4495", "two-weeks-smell", "typed-preload-links", "uncommitted-input-overwritten", @@ -1384,12 +1466,15 @@ "universal-renderer-effect-names", "universal-spread-sources", "unowned-memo-ispending-wake-4366", + "unread-derive-holds-nothing", + "unread-pending-memo-held-mount-4542", "unstable-list-identity", "unstable-memo-symbol-keys", "until-confirmed-derivation", "until-flip-entanglement", "until-live-source-ack", "until-truth-reads-split", + "untrack-pending-read-dev-error", "untracked-async-handler", "untracked-read-after-await", "untracked-verdict-snapshot", @@ -1408,10 +1493,13 @@ "update-refs-dom-expressions", "update-signals-0-13-8", "update-signals-bugfix-baseline", + "upload-blob-metadata", "use-head-json-script-escape", "validate-malformed-html-error", "validate-prepare-request-return", "valueless-prop-attribute-true", + "verdict-born-held-mount-joins-4467", + "verdict-born-into-other-flush", "verdict-memo-after-staged-read", "verdict-memo-flight-no-reask", "verdict-memo-under-held-memo-u10", @@ -1420,9 +1508,11 @@ "verdict-mount-unread-pending-chain", "verdict-mount-unread-pending", "verdict-pull-outside-window", + "verdict-pulled-pass-window-4429", "verdict-reader-born-in-branch", "verdict-reader-first-observer-holds-the-flight", "verdict-reader-silent-landing", + "verdict-seat-merged-lane", "view-table-on-enumeration", "violet-stingrays-end", "wait-asset-seam", diff --git a/examples/board/CHANGELOG.md b/examples/board/CHANGELOG.md index 377ccbe6f0..7da1135a06 100644 --- a/examples/board/CHANGELOG.md +++ b/examples/board/CHANGELOG.md @@ -1,5 +1,26 @@ # board-example +## 0.0.1-rc.6 + +### Patch Changes + +- Updated dependencies [32163a9] +- Updated dependencies [bb51da6] +- Updated dependencies [3c47d06] +- Updated dependencies [46ab2dd] +- Updated dependencies [61bb177] +- Updated dependencies [25fb7be] +- Updated dependencies [62745f6] +- Updated dependencies [551ef0d] +- Updated dependencies [6b6b4da] +- Updated dependencies [3c47d06] +- Updated dependencies [0d4c5e0] +- Updated dependencies [6262453] +- Updated dependencies [99d9821] +- Updated dependencies [b7e4f16] + - @solidjs/web@2.0.0-rc.21 + - solid-js@2.0.0-rc.21 + ## 0.0.1-rc.5 ### Patch Changes diff --git a/examples/board/package.json b/examples/board/package.json index 079abb6a8d..0d7bf27ca3 100644 --- a/examples/board/package.json +++ b/examples/board/package.json @@ -1,7 +1,7 @@ { "name": "board-example", "description": "A shared board over one live data source: lists of cards that several tabs drag at once, read into an optimistic store, with every write acknowledged on the stream", - "version": "0.0.1-rc.5", + "version": "0.0.1-rc.6", "private": true, "author": "Ryan Carniato", "license": "MIT", diff --git a/examples/canvas/CHANGELOG.md b/examples/canvas/CHANGELOG.md index 71fa16548f..68434ed2bb 100644 --- a/examples/canvas/CHANGELOG.md +++ b/examples/canvas/CHANGELOG.md @@ -1,5 +1,26 @@ # canvas-example +## 0.0.1-rc.2 + +### Patch Changes + +- Updated dependencies [32163a9] +- Updated dependencies [bb51da6] +- Updated dependencies [3c47d06] +- Updated dependencies [46ab2dd] +- Updated dependencies [61bb177] +- Updated dependencies [25fb7be] +- Updated dependencies [62745f6] +- Updated dependencies [551ef0d] +- Updated dependencies [6b6b4da] +- Updated dependencies [3c47d06] +- Updated dependencies [0d4c5e0] +- Updated dependencies [6262453] +- Updated dependencies [99d9821] +- Updated dependencies [b7e4f16] + - @solidjs/web@2.0.0-rc.21 + - solid-js@2.0.0-rc.21 + ## 0.0.1-rc.1 ### Patch Changes diff --git a/examples/canvas/package.json b/examples/canvas/package.json index 9c12ad5097..3221c35ef2 100644 --- a/examples/canvas/package.json +++ b/examples/canvas/package.json @@ -1,7 +1,7 @@ { "name": "canvas-example", "description": "A multiplayer canvas: shapes several people drag at once, with live cursors and live drags, over one shared broadcast and plain server-function writes", - "version": "0.0.1-rc.1", + "version": "0.0.1-rc.2", "private": true, "author": "Ryan Carniato", "license": "MIT", diff --git a/examples/server-dbmon/CHANGELOG.md b/examples/server-dbmon/CHANGELOG.md index fff2b27adc..00afdf0ead 100644 --- a/examples/server-dbmon/CHANGELOG.md +++ b/examples/server-dbmon/CHANGELOG.md @@ -1,5 +1,26 @@ # server-dbmon-example +## 0.0.1-rc.5 + +### Patch Changes + +- Updated dependencies [32163a9] +- Updated dependencies [bb51da6] +- Updated dependencies [3c47d06] +- Updated dependencies [46ab2dd] +- Updated dependencies [61bb177] +- Updated dependencies [25fb7be] +- Updated dependencies [62745f6] +- Updated dependencies [551ef0d] +- Updated dependencies [6b6b4da] +- Updated dependencies [3c47d06] +- Updated dependencies [0d4c5e0] +- Updated dependencies [6262453] +- Updated dependencies [99d9821] +- Updated dependencies [b7e4f16] + - @solidjs/web@2.0.0-rc.21 + - solid-js@2.0.0-rc.21 + ## 0.0.1-rc.4 ### Patch Changes diff --git a/examples/server-dbmon/package.json b/examples/server-dbmon/package.json index d636b64f7c..10016c3e5b 100644 --- a/examples/server-dbmon/package.json +++ b/examples/server-dbmon/package.json @@ -1,7 +1,7 @@ { "name": "server-dbmon-example", "description": "DBMon as a live server component: a monitoring dashboard whose data lives on the server, rendered there and streamed to every open tab as it changes", - "version": "0.0.1-rc.4", + "version": "0.0.1-rc.5", "private": true, "author": "Ryan Carniato", "license": "MIT", diff --git a/examples/todos-server/CHANGELOG.md b/examples/todos-server/CHANGELOG.md index 82e57768e7..883444d2c5 100644 --- a/examples/todos-server/CHANGELOG.md +++ b/examples/todos-server/CHANGELOG.md @@ -1,5 +1,26 @@ # todos-server-example +## 0.0.1-rc.9 + +### Patch Changes + +- Updated dependencies [32163a9] +- Updated dependencies [bb51da6] +- Updated dependencies [3c47d06] +- Updated dependencies [46ab2dd] +- Updated dependencies [61bb177] +- Updated dependencies [25fb7be] +- Updated dependencies [62745f6] +- Updated dependencies [551ef0d] +- Updated dependencies [6b6b4da] +- Updated dependencies [3c47d06] +- Updated dependencies [0d4c5e0] +- Updated dependencies [6262453] +- Updated dependencies [99d9821] +- Updated dependencies [b7e4f16] + - @solidjs/web@2.0.0-rc.21 + - solid-js@2.0.0-rc.21 + ## 0.0.1-rc.8 ### Patch Changes diff --git a/examples/todos-server/package.json b/examples/todos-server/package.json index ba3654836d..2040cd1832 100644 --- a/examples/todos-server/package.json +++ b/examples/todos-server/package.json @@ -1,7 +1,7 @@ { "name": "todos-server-example", "description": "TodoMVC as a Solid Server Component — the list is server markup whose every control is a form that works without JavaScript; with it, a submission's aria-busy mark shows the intent through CSS and typed errors come back through useSubmissions", - "version": "0.0.1-rc.8", + "version": "0.0.1-rc.9", "private": true, "author": "Ryan Carniato", "license": "MIT", diff --git a/packages/babel-plugin/CHANGELOG.md b/packages/babel-plugin/CHANGELOG.md index 221d1fd174..1f1ff5dbd3 100644 --- a/packages/babel-plugin/CHANGELOG.md +++ b/packages/babel-plugin/CHANGELOG.md @@ -1,5 +1,11 @@ # @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 {x.join()};` 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. + ## 2.0.0-rc.20 ### Patch Changes diff --git a/packages/babel-plugin/package.json b/packages/babel-plugin/package.json index c3bd13a984..cc8bee353a 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.20", + "version": "2.0.0-rc.21", "author": "Ryan Carniato", "license": "MIT", "repository": { diff --git a/packages/compiler/CHANGELOG.md b/packages/compiler/CHANGELOG.md index b75c76c664..5e884f81c0 100644 --- a/packages/compiler/CHANGELOG.md +++ b/packages/compiler/CHANGELOG.md @@ -1,5 +1,7 @@ # @solidjs/compiler +## 2.0.0-rc.21 + ## 2.0.0-rc.20 ### Patch Changes diff --git a/packages/compiler/npm/darwin-arm64/package.json b/packages/compiler/npm/darwin-arm64/package.json index d54da53f58..08450a4e9d 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.20", + "version": "2.0.0-rc.21", "cpu": [ "arm64" ], diff --git a/packages/compiler/npm/darwin-x64/package.json b/packages/compiler/npm/darwin-x64/package.json index e593ab5c06..8773165db3 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.20", + "version": "2.0.0-rc.21", "cpu": [ "x64" ], diff --git a/packages/compiler/npm/linux-arm64-gnu/package.json b/packages/compiler/npm/linux-arm64-gnu/package.json index c7fbd50157..5bfba66654 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.20", + "version": "2.0.0-rc.21", "cpu": [ "arm64" ], diff --git a/packages/compiler/npm/linux-x64-gnu/package.json b/packages/compiler/npm/linux-x64-gnu/package.json index 12eba6df56..9cae0e3856 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.20", + "version": "2.0.0-rc.21", "cpu": [ "x64" ], diff --git a/packages/compiler/npm/wasm32-wasi/package.json b/packages/compiler/npm/wasm32-wasi/package.json index e88bc10a2f..ad9fafe674 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.20", + "version": "2.0.0-rc.21", "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 9237263dfb..efb779ffdf 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.20", + "version": "2.0.0-rc.21", "cpu": [ "x64" ], diff --git a/packages/compiler/package.json b/packages/compiler/package.json index 1037d00028..7b515d5cd6 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.20", + "version": "2.0.0-rc.21", "author": "Ryan Carniato", "license": "MIT", "repository": { @@ -62,11 +62,11 @@ "emnapi": "^1.11.3" }, "optionalDependencies": { - "@solidjs/compiler-darwin-x64": "2.0.0-rc.20", - "@solidjs/compiler-darwin-arm64": "2.0.0-rc.20", - "@solidjs/compiler-linux-x64-gnu": "2.0.0-rc.20", - "@solidjs/compiler-linux-arm64-gnu": "2.0.0-rc.20", - "@solidjs/compiler-win32-x64-msvc": "2.0.0-rc.20", - "@solidjs/compiler-wasm32-wasi": "2.0.0-rc.20" + "@solidjs/compiler-darwin-x64": "2.0.0-rc.21", + "@solidjs/compiler-darwin-arm64": "2.0.0-rc.21", + "@solidjs/compiler-linux-x64-gnu": "2.0.0-rc.21", + "@solidjs/compiler-linux-arm64-gnu": "2.0.0-rc.21", + "@solidjs/compiler-win32-x64-msvc": "2.0.0-rc.21", + "@solidjs/compiler-wasm32-wasi": "2.0.0-rc.21" } } diff --git a/packages/diagnostics/CHANGELOG.md b/packages/diagnostics/CHANGELOG.md index 5ea5daf400..a575185901 100644 --- a/packages/diagnostics/CHANGELOG.md +++ b/packages/diagnostics/CHANGELOG.md @@ -1,5 +1,101 @@ # @solidjs/diagnostics +## 2.0.0-rc.21 + +### Patch Changes + +- Updated dependencies [32163a9] +- Updated dependencies [bb51da6] +- Updated dependencies [f509fe3] +- Updated dependencies [3c47d06] +- Updated dependencies [46ab2dd] +- Updated dependencies [61bb177] +- Updated dependencies [9379257] +- Updated dependencies [f17cd09] +- Updated dependencies [65da5de] +- Updated dependencies [689347f] +- Updated dependencies [20c115c] +- Updated dependencies [5315127] +- Updated dependencies [ecf3011] +- Updated dependencies [bb7f9b5] +- Updated dependencies [64fedc7] +- Updated dependencies [e49b0c7] +- Updated dependencies [6af149e] +- Updated dependencies [19e0951] +- Updated dependencies [ecf3011] +- Updated dependencies [25fb7be] +- Updated dependencies [39f951b] +- Updated dependencies [3a73a36] +- Updated dependencies [a56b10b] +- Updated dependencies [b773146] +- Updated dependencies [343f007] +- Updated dependencies [ab3e844] +- Updated dependencies [87f3446] +- Updated dependencies [62745f6] +- Updated dependencies [4a4803c] +- Updated dependencies [6ec1613] +- Updated dependencies [d9aa8f7] +- Updated dependencies [60d6307] +- Updated dependencies [7135a77] +- Updated dependencies [592a43b] +- Updated dependencies [2ba429b] +- Updated dependencies [c8d6fd2] +- Updated dependencies [64625bc] +- Updated dependencies [2ba10bd] +- Updated dependencies [8cac5f0] +- Updated dependencies [42924f4] +- Updated dependencies [9c4e4a8] +- Updated dependencies [edd3c44] +- Updated dependencies [77be406] +- Updated dependencies [551ef0d] +- Updated dependencies [d9a97d0] +- Updated dependencies [97e1826] +- Updated dependencies [6b6b4da] +- Updated dependencies [eed4469] +- Updated dependencies [71a6a75] +- Updated dependencies [2abf27d] +- Updated dependencies [b5077ea] +- Updated dependencies [3c47d06] +- Updated dependencies [5315127] +- Updated dependencies [5f07d04] +- Updated dependencies [ecf3011] +- Updated dependencies [9034647] +- Updated dependencies [efd7f7d] +- Updated dependencies [25b94f0] +- Updated dependencies [e56a4a0] +- Updated dependencies [e56a4a0] +- Updated dependencies [8a8e950] +- Updated dependencies [0d4c5e0] +- Updated dependencies [74126b1] +- Updated dependencies [2c9a1e3] +- Updated dependencies [718ec9c] +- Updated dependencies [643a7a7] +- Updated dependencies [fda83a3] +- Updated dependencies [f0471e8] +- Updated dependencies [6262453] +- Updated dependencies [66c6f56] +- Updated dependencies [749b0d7] +- Updated dependencies [404d06a] +- Updated dependencies [50dec1b] +- Updated dependencies [456e6d5] +- Updated dependencies [e44f824] +- Updated dependencies [ecf3011] +- Updated dependencies [7ea8706] +- Updated dependencies [aeca8da] +- Updated dependencies [99d9821] +- Updated dependencies [ef0aadd] +- Updated dependencies [d0fc285] +- Updated dependencies [62bf4c4] +- Updated dependencies [f8080f3] +- Updated dependencies [b7e4f16] +- Updated dependencies [663ecb0] +- Updated dependencies [2e05808] +- Updated dependencies [ab3d2ad] +- Updated dependencies [131ceb8] + - @solidjs/web@2.0.0-rc.21 + - @solidjs/signals@2.0.0-rc.21 + - solid-js@2.0.0-rc.21 + ## 2.0.0-rc.20 ### Patch Changes diff --git a/packages/diagnostics/package.json b/packages/diagnostics/package.json index a5403f90a8..87a9ba5341 100644 --- a/packages/diagnostics/package.json +++ b/packages/diagnostics/package.json @@ -1,6 +1,6 @@ { "name": "@solidjs/diagnostics", - "version": "2.0.0-rc.20", + "version": "2.0.0-rc.21", "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,11 +52,11 @@ "test:watch": "vitest watch tests" }, "dependencies": { - "@solidjs/signals": "^2.0.0-rc.20" + "@solidjs/signals": "^2.0.0-rc.21" }, "peerDependencies": { - "@solidjs/web": "^2.0.0-rc.20", - "solid-js": "^2.0.0-rc.20", + "@solidjs/web": "^2.0.0-rc.21", + "solid-js": "^2.0.0-rc.21", "vitest": ">=2.0.0" }, "peerDependenciesMeta": { diff --git a/packages/element/CHANGELOG.md b/packages/element/CHANGELOG.md index 39403b7094..5a1233574e 100644 --- a/packages/element/CHANGELOG.md +++ b/packages/element/CHANGELOG.md @@ -1,5 +1,26 @@ # solid-element +## 2.0.0-rc.21 + +### Patch Changes + +- Updated dependencies [32163a9] +- Updated dependencies [bb51da6] +- Updated dependencies [3c47d06] +- Updated dependencies [46ab2dd] +- Updated dependencies [61bb177] +- Updated dependencies [25fb7be] +- Updated dependencies [62745f6] +- Updated dependencies [551ef0d] +- Updated dependencies [6b6b4da] +- Updated dependencies [3c47d06] +- Updated dependencies [0d4c5e0] +- Updated dependencies [6262453] +- Updated dependencies [99d9821] +- Updated dependencies [b7e4f16] + - @solidjs/web@2.0.0-rc.21 + - solid-js@2.0.0-rc.21 + ## 2.0.0-rc.20 ### Patch Changes diff --git a/packages/element/package.json b/packages/element/package.json index 2e35018413..e9e467561d 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.20", + "version": "2.0.0-rc.21", "homepage": "https://github.com/solidjs/solid/blob/next/packages/element#readme", "repository": { "type": "git", @@ -30,8 +30,8 @@ "component-register": "^0.8.7" }, "peerDependencies": { - "solid-js": "^2.0.0-rc.20", - "@solidjs/web": "^2.0.0-rc.20" + "solid-js": "^2.0.0-rc.21", + "@solidjs/web": "^2.0.0-rc.21" }, "devDependencies": { "solid-js": "workspace:*", diff --git a/packages/h/CHANGELOG.md b/packages/h/CHANGELOG.md index 5d42aba8f5..3eadd7fa20 100644 --- a/packages/h/CHANGELOG.md +++ b/packages/h/CHANGELOG.md @@ -1,5 +1,22 @@ # @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 [6262453] +- Updated dependencies [b7e4f16] + - @solidjs/web@2.0.0-rc.21 + ## 2.0.0-rc.20 ### Patch Changes diff --git a/packages/h/package.json b/packages/h/package.json index 197f0b0047..a1b0f55e18 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.20", + "version": "2.0.0-rc.21", "author": "Ryan Carniato", "license": "MIT", "homepage": "https://solidjs.com", @@ -58,7 +58,7 @@ "test": "vitest run" }, "peerDependencies": { - "@solidjs/web": "^2.0.0-rc.20" + "@solidjs/web": "^2.0.0-rc.21" }, "devDependencies": { "@solidjs/web": "workspace:*", diff --git a/packages/html/CHANGELOG.md b/packages/html/CHANGELOG.md index 9dd97fd841..c770904b36 100644 --- a/packages/html/CHANGELOG.md +++ b/packages/html/CHANGELOG.md @@ -1,5 +1,21 @@ # @solidjs/html +## 2.0.0-rc.21 + +### Patch Changes + +- 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 [6262453] +- Updated dependencies [b7e4f16] + - @solidjs/web@2.0.0-rc.21 + ## 2.0.0-rc.20 ### Patch Changes diff --git a/packages/html/package.json b/packages/html/package.json index 43b40842cf..b4ae4645cb 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.20", + "version": "2.0.0-rc.21", "author": "Ryan Carniato", "license": "MIT", "homepage": "https://solidjs.com", @@ -42,7 +42,7 @@ "test": "vitest run" }, "peerDependencies": { - "@solidjs/web": "^2.0.0-rc.20" + "@solidjs/web": "^2.0.0-rc.21" }, "devDependencies": { "@solidjs/web": "workspace:*", diff --git a/packages/signals/CHANGELOG.md b/packages/signals/CHANGELOG.md index 5b91e6ab1c..22d18213d0 100644 --- a/packages/signals/CHANGELOG.md +++ b/packages/signals/CHANGELOG.md @@ -1,5 +1,93 @@ # @solidjs/signals +## 2.0.0-rc.21 + +### Patch Changes + +- f509fe3: Avoid evaluating property getters when attribution compares memo outputs and list items for unstable identity diagnostics. +- 46ab2dd: Dev diagnostic `CAUGHT_REACTIVE_READ` (D-42 / S-47): warns once per computation when a reactive read's throw — `NotReadyError` or the source's error — was caught inside the computation's body and the pass completed with a value. An `async` computation is judged when its flight settles (a rejection is the throw continuing; a landed value is the catch). The runtime's own catches (boundaries, `isPending`, `watch`, comparator/cleanup/effect-callback routing, solid-js's hydration trace) never warn. Dev-only; no production bytes. +- 9379257: `deep()` tracks and snapshots a plain store record in one walk instead of two. Records in a projection or optimistic family, chained stores and overlays keep the two walks. +- f17cd09: `deep()` and `snapshot()` read inside a computation now serve the frame the store's container node serves that computation. Before, a container held by a transaction (an action that wrote the store on both sides of a yield) always served its committed backing to `deep()`/`snapshot()`, even in the transaction's own landing flush, where the same computation's property reads already saw the landed values: a render effect reading `s.x` and `deep(s)` logged `3:{"x":1}` and was never re-run. The same applied to a derived `createStore(fn, seed)` whose user setter wrote across a yield. Reads outside a computation still see the committed backing of a held container. +- 65da5de: fix(signals): `defer: true` skips an effect's first run when a held update mounts it (#4543) +- 689347f: fix(signals): a deferred effect mounted by a held update keeps its first value as the next pass's `prev` (#4556) +- 20c115c: `createStore(fn)`: a derive that went pending on a source and was settled without re-running (a staged rejection, or a re-ask that returned to the committed question) settles its readers with it, as a memo's would: `isPending` ends and a refetch's rejection reaches them. +- 5315127: A derived store (`createStore(fn)`, `createProjection`, `createOptimisticStore(fn)`) hands an upstream error to its readers once: a re-run of the derive that meets the same error no longer re-runs a reader already showing it, so an effect's error arm runs once per error. +- ecf3011: A derived store's held rejection is staged like a memo's (D-41, #4489). While a hold is open — an action holding a filter change behind a pending guess, or any transition — an untracked read of the store (a click handler on a row the screen still shows) reads the screen instead of throwing the new error; the effect's error arm, `` and the read all see the error together at the reveal. Closes D-41's derived-store deviation (the `it.fails` pin in `error-is-an-answer.test.ts` now passes as `it`). +- bb7f9b5: `createStore(fn)` over a `latest()`-reading memo shows an action's value as the memo does: a derive pass that is a lane's work writes its leaves as that lane's derivation instead of staging them with the action. +- 64fedc7: A reader of a derived store that mounts while the derive's input is in flight is held until it answers, as a reader of the async memo is, instead of showing the previous answer first: `createStore(d => { d.v = m1() })` over a memo that reads `latest()`, read mid-flight, no longer shows the old question's value before the new one (#4491). +- e49b0c7: A sync derived store over a failing sync memo hands each new error to its readers once per flush, not twice: the error a source propagates to the derive now reaches the family's dedupe. +- 6af149e: A write that a custom `equals` calls equal to the committed value now nets to it (D-8) while another write to the signal is staged, so it pends nothing (#4483). +- 19e0951: An error boundary no longer hands its reader an error that was superseded inside the same transition (#4527). Here is the case: an action keeps its transition open, the store's re-ask is rejected (that rejection is staged, D-41), and a second re-ask answers before the commit. An effect whose compute created `createErrorBoundary(() => store, …)` used to get the fallback at the commit and never ran again. Now it gets the answer, as the screen does. + + Two changes make that work. First, a pass that a derived store's pull throws a staged error into is now linked to the store's derive, including the untracked shape probe of a returned proxy. That way the re-ask and the answer that supersede the error reach the memo. Second, an error boundary no longer waits for first content: one that has not shown content reveals a recovery that lands in the hold it caught the error in together with that hold's commit, instead of keeping its fallback past it. + +- ecf3011: An error boundary that a held pass mounts over a source whose error is staged in that hold (D-41) no longer loops the flush for good (#4480). The seam's fold-back of a fallback staged into the hold its readers landed in (D-16, U-9) is a loading boundary's: it also cleared an error boundary's readers, so the output re-derived into the staged error every round and the effect owning the boundary re-ran on each new output. The error now waits with the hold and its fallback reveals with the frame (D-41, F-12). Seen with a derived optimistic store whose re-ask failed while a guess was pending, read by an effect through `createErrorBoundary`. +- 39f951b: A rejection under a `` that has not shown its content reaches `` at once when a `latest()` reader under the same boundary reads a derivation whose upstream still has a flight out for an older question (#4568). The boundary judged its readers settled while that `latest()` reader was queued to re-derive, revealed into a hold the reader then went pending in, and the later rejection was staged in that hold until the obsolete flight landed. A verdict reader queued to re-derive is now waited on until its pass answers (A19, D-41). +- 3a73a36: An `` boundary over a list no longer reveals the list from before the error when the error's replacement lands held with an action (a guess on the errored store re-asked it): the error stays until that action's frame reveals, instead of showing the previous question's rows. +- a56b10b: `` no longer recovers beside a memo that is still answering an older input (#4592). While the error fallback shows, a reader behind it that goes pending — which passes the error boundary by (A6) and, hidden, holds nothing — is now also waited on by the boundary, as a pending under a hidden loading fallback already was. When the source that threw answers but another reader in the content is still asking for the new input, the error stays the display until that reader answers too, so the content reveals as one whole frame instead of showing the pending memo's stale value beside the new input (D-39, F-1). +- b773146: A `Loading`/`Errored` fallback is born held only when the boundary's output pass that builds it read the hold (D-27), no longer by the flag of the enclosing pass it is parented under (#4428). +- 343f007: A memo whose verdict posture is only inherited (it reads a memo that calls `isPending`/`latest`, and probes nothing itself) is the hold's work where it reads the hold's own write: it reads that staging instead of the pre-hold value, so a branch the hold opens no longer reads the pre-hold world and the hold lands, whether the writes go through one `flush()` or several. A memo that probes in its own body still reads the screen, and what a branch born into the hold then asks for no longer keeps the hold from landing (#4544). +- ab3e844: A derived store heals with its Errored like the memo it derives from (#4451). A leaf born from a lane container's staging — a derive's lane-pass write to a key nobody had read yet — takes the staging as the lane's derivation, as the write would have left a leaf that existed then; before, the leaf was born a plain staging the park held with the frame, and an Errored the memo's lane value healed stayed on its fallback over the store. +- 87f3446: Clear the settled source at `propagateStatus`'s verdict re-derive shortcut: a verdict reader (`isPending`/`latest`) whose probed source errored kept that source in its pending set, so when its re-run parked on a second source, that source's landing left the reader pending forever (and a `Loading` boundary over it never released). +- 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). +- 4a4803c: A derived store (or memo) reading a keyed optimistic store through `latest()` now picks up a confirmed row after a correction folded the truth beneath the guess: a confirming truth landing re-derives the `latest()` readers too. +- 6ec1613: fix(signals): a guess over a question in flight keeps the frame whole when a memo, or a chain of derivations, sits between the list and its binding — the guess shows (#4561) +- d9aa8f7: A keyed optimistic store's arrangement guess written while its derive asks a new question (an input changed, not a `refresh()`) is re-based over that question's answer, like an older truth (#4525). Before, the answer folded beneath the guess, so the rows the guess had only carried over from the old answer stayed on screen; under `` the region left its fallback showing the new input beside the old list minus the guess until the action's refresh landed. +- 60d6307: A render effect in a branch an action holds (` 0}>` opened by the action's write) no longer runs ahead of that branch's landing when it reads `latest(y)` inline, while the same read through a memo waited: a member of the frame a held pass built is the hold's own work, so neither form seats it as the hold's verdict reader, and memo wrapping no longer changes what it shows. +- 7135a77: A verdict memo (`createMemo(() => isPending(x))`, the router's `useIsRouting`) whose probe ran before its flush joined a transaction now shows `true` while that transaction is held, instead of `false` until it lands (#4439). +- 592a43b: A keyed child under a display-ahead branch no longer mounts a third time when a flush parks: a re-derive that gives back the staging it superseded keeps its held readers and their children (#4417). A display-ahead branch no longer attaches with an empty text hole while a child born into the open hold is still pending (#4574). +- 2ba429b: A lane member disposed before its lane dissolves no longer runs again (#4613). When an action's commit disposed a region whose list was still the action's lane work (e.g. a keyed `` region swapped by a filter change held with the action), dissolving the lane re-queued the dead list memo; its pass dropped the disposed flag, so it mapped rows in the torn-down region, stayed subscribed, and dev logged `RUN_WITH_DISPOSED_OWNER`. A disposed reader is no reader (F-3, D-11): dissolution now skips it. +- c8d6fd2: A landing that settles a reader held by an optimistic lane no longer makes the flush join that lane as its transaction: rows a list guess mounted over a pending refresh render instead of staying empty. +- 64625bc: fix(signals): effects an optimistic guess mounts honor `defer` and run once per write (#4557) +- 2ba10bd: An async memo over two verdict memos asks each question once, and a lane's readers show its answer together (#4408, #4399; F-6, F-9, D-25, D-26). + - An async memo with no verdict window of its own that waits on a source's flight as the hold's work (`holdWork`) drops its verdict posture at the wait, so the source's verdict-lane re-derive does not move it into that lane early, and the pass the landing runs reads plainly. Before, `latest(m2)` showed `c1101` while `m1:1122` of the same lane was still in flight. + - A held memo's pass that re-entered its hold at its head stays that hold's work when it reads another hold's verdict lane, in either read order. Before, moved into the other lane, it read its own hold's landing as the screen and asked `m1:15` a second time. + - A memo with a committed value and no pass staged keeps the verdict posture it reads when a pass of it reads that verdict memo while it is pending (#4408 after #4504; D-25). #4504's rule — a pending read hands on no posture — stays for the hold's own work: a pass born in the hold's world, or one over a staged pass of its own. Before, `m2 = m0b() + 1` lost its posture at such a read, re-ran plainly into the frame `m0b`'s answer landed in, and `latest(m2)` showed `c1101` before `v1122`. + +- 8cac5f0: fix(signals): lane work re-based over a held change's answer reads that change's world in every flush and is not re-derived on the committed world while it is parked, so a refresh or a second entangled change no longer commits a derivation over the old inputs beside the new ones, and the held change lands once its last async answers (#4576, #4577) +- 42924f4: A pass that reads `latest(m)` and then `isPending(m)` of an unheld refetch outside any `Loading` no longer loops ("Potential Infinite Loop Detected"): the `latest` read opened the flush's transaction for nothing held, the probe asked to re-run at that transaction's landing, and every re-run opened another. The probe now joins the verdict lane without asking for that re-run; the reader shows the committed value beside `true`, then the refetch's answer. +- 9c4e4a8: The transaction a `latest()` read of an unheld refetch opens is no longer kept alive after it lands: the mark that it was opened by `latest` lives on the transaction itself instead of in a module-level reference. +- edd3c44: A memo pulled inside `latest()` now computes as its own pass (A31): an `isPending()` it calls answers for what it reads, so a held write still in flight reads as pending there as it does when a plain read pulls the memo (D-23). +- 77be406: fix(signals): `latest()` and `isPending()` in a hydration claim read the server's snapshot, as a plain read does, so a client write during the hydration window no longer puts a nested `` into a fallback the server never rendered (a "Hydration key miss") (#4570) +- d9a97d0: The `UNSTABLE_LIST_IDENTITY` diagnostic reads a row's `id`/`key`/`_id` only from an own data property, so it never invokes a getter (a class instance's prototype `id` or an own accessor) while pairing rows. +- 97e1826: A `` that has not shown content no longer reveals content derived from a write still held outside it (F-7, F-1). Two reveals did not consult the hold: a first load the held write re-asked (kept out of every hold, #2937) landed mainline and revealed its answer beside a screen still showing the frame before the write (#4593); and a reader settled by an answer staged in the hold — a rejection, which marks no frame reader (D-41) — revealed the content's stale committed value under a re-armed `on` boundary and let the held write commit early (#4591). The boundary now waits on the held node and reveals with that hold's commit; the rejection shows when a value for the same question would. A first load re-asked under an open action still reveals at its landing (#2937). +- eed4469: `mapArray` and `` with a `keyed` function or `keyed: false` no longer call `setSignal` for a row whose signal already holds the new item and has no staged write. Before, every retained row in the common prefix and suffix was written on every list update. +- 71a6a75: A memo between a render effect and an async memo in flight is born held with the mount that first reads it (#4504, D-2, D-22, D-27). With an input that reads `latest()`/`isPending()`, the memo carried that verdict posture by what it read (D-25), and its pass in a plain mount mid-flight stamped the posture from the read of the pending async memo even though the read threw: at the landing the memo re-ran as a verdict reader and was served the async memo's committed value, so the held reader showed the old answer at the landing and the new one only at the commit (`r:2`, then `r:4`). A read of a pending node now hands on no posture to a pass that is not a verdict reader already: the reader waits for the re-ask's answer and shows it once (`r:4`), as when it reads the async memo directly. A memo that was already a verdict reader on screen keeps its posture. +- 2abf27d: A signal written and written back to its committed value in one tick (D-8, #4452) is no longer read as a staged value by a labelled `untrack` read in dev, which took the slow read path and held what prod did not. The reader-seat shadow's table gains the `D1''` / `L1''` / `V3''` rows for that read (test-only), clearing the `INV-seat-3` "world after the read" classes on `next` (8 in the signals suite, 7 in web, 60 in the generator). +- b5077ea: Writes that net to a signal's committed value in the tick an action opens a hold no longer pend the signal: a render effect reading `isPending(s)` shows `false` during the hold and is not re-run when the action lands (D-8). +- 5315127: `createOptimisticStore(fn)` delivers the error of an upstream memo its derive reads, as `createStore(fn)` does: the optimistic store now builds its family through the projection's own constructor. +- 5f07d04: `createOptimisticStore`: a row removed by an accepted action no longer comes back when its refresh lands while another removal is pending; each re-base of an arrangement guess composes from the rows the setter wrote. +- ecf3011: A keyed optimistic store's removal guess re-based over a new question's answer no longer shows the old list's rows beside the new ones (#4482). The re-base (D-35) kept every guessed row the new truth lacked, including the rows the guess had only carried over from the truth it was written on; it now composes the guess's own edit — the rows it added or carried from another action's guess, minus the rows it removed — over the new truth, and takes the rest from that truth (F-1). +- 9034647: In the production build, `getContext` (and so `useContext`) with no owner now reads as if under an empty root: it returns the context's default, and throws `ContextNotFoundError` when there is none. Before, it threw `NoOwnerError` even when the context had a default, so a component created outside any owner (JSX at module scope, in a timer or event handler, or after an `await`) crashed in production while dev and observe, whose `createComponent` runs each component in a root, returned the default. Dev still throws `NoOwnerError` for a bare read with no owner. Reads under an owner are unchanged. +- efd7f7d: A projection's adopted leaves (`length` among them) written by a lane's pass are the lane's derivation, as its container is: a row closed through an optimistic filter while a truth landing was held beneath another guess no longer stays on screen (or reads as `undefined`) (#4631). A second guess made while an earlier action's re-ask is in flight now shows through a keyed projection when that re-ask lands, as it does through the memo (#4629). +- 25b94f0: A reader of a derived store whose derive carries a staged error (D-41) now links to the derive, as a reader of a pending or errored one does, so it re-runs when the derive's source answers. An `` mounted in the change that errored its content over a keyed `createProjection` showed its fallback for good; it now shows the answer. +- e56a4a0: Reader seat S1 M1 (test-only): the shadow seat and slot table (`core/seat.ts`, `__TEST__`) re-baselined against current `next` — the verdict seat (`vhold`), the branch world (`creatorsWorld`) and the owed table rows (V1'' staged error, Vl4', D8, lane rows for a boundary's structure, `fallback`'s bracketed read) modelled, `INV-seat-1` amended per D-27, and a `shadowKnown` allow-list naming the filed `next` bugs (#4426, #4427, #4428, #4429). No change to any build output. +- e56a4a0: Reader seat shadow (test-only): a new `core/seat.ts` computes the reader seat and slot table beside the existing deciders under `__TEST__`, with the `INV-seat` family recording disagreements for the differential. No change to any build output. +- 8a8e950: fix(signals): a guess re-based over a question's answer stays off the screen while that question's transaction is parked on another read, so the old question never shows beside the new answer's rows (#4559) +- 74126b1: A memo on the observation lifecycle (unowned, or `lazy: true`) that blocked on an async source is no longer released before the retry its source's landing queued (#4474). The settle walk re-enqueues the blocked reader and, finding it unobserved, released it on the spot: the release pulled the retry back out of the heap, so the memo never computed the landing and woke later with no value — `latest()` of it returned `undefined` beside `isPending() === true`. The release now waits for that pass (`REACTIVE_RELEASE_AFTER`): the retry runs once, as the owned twin's does, and the node is released at the pass's tail if it is still unobserved and settled. #2934's contract is kept (no perpetual recompute — one pass, then the release), #3078's untouched (reads revive; a dormant memo dirtied in the same tick is still reclaimed before the heap). Laziness is never observable (D-22). +- 2c9a1e3: fix(signals): a re-parked node drops pending sources its pass no longer reaches, so a `` whose first answer was superseded while a sibling refetched reveals once both settle (#4541) +- 718ec9c: Keep observing a pending store query when a later optimistic guess re-runs an existing reader, so bindings (shared or separate) do not show the new query's inputs beside rows from the previous answer, and the new answer's rows never show beside the old query for a frame when it lands. +- 643a7a7: An async memo's first answer that resolves in the same tick as a plain write re-asking it is answered, then re-asked (D-22, F-9): `isPending` of it is `true` while the new question flies, and an identity memo or derived store over it reads the answer through `latest` like the memo itself. +- fda83a3: A chain's verdict no longer flips to `false` mid-hold where a diamond's stays `true` (#4562). When a superseded flight's error is staged in a hold (D-41), the settle walk now marks every derivation it fully settles with the staging, not only a join it reaches a second time, so `isPending` stays `true` until the commit whatever the graph shape (F-9, F-2). The mark moved behind the verdict engine's hooks (`installVerdictHooks`), so builds without `isPending`/`latest` carry none of it. +- f0471e8: Internal: the snapshot walk drops a redundant overlay guard before materializing a pending backing (`materializePB` already returns the backing unchanged without an overlay). No behavior change. +- 66c6f56: Writes that net to a signal's committed value in one tick no longer hold an errored memo's re-run with an action, so `isPending` of it stays `false` (D-8). +- 749b0d7: A memo's error staged with a hold now reaches the memos and derived stores that derive from it: `latest()` of them throws the proposed error and `isPending()` of them is `true` until the hold commits, as for the memo itself (D-41). +- 404d06a: fix(signals): a re-pass equal to a first value already staged this flush is not a change, so a non-keyed `Show` over an async condition no longer remounts its child when the child writes the source on mount (#4540) +- 50dec1b: Preserve signed zero and pending-state atomicity when a derivation reads a staged signal write accepted by a custom comparator. +- 456e6d5: Store proxies wrap an empty object (an empty array for array stores) and use the store's internal target as their handler. V8 checks every trap result against the proxy target's own keys, so key listing, `for...in` and spread on stores get faster. `Object.freeze`, `Object.preventExtensions` and `Object.setPrototypeOf` on a store now throw a TypeError instead of breaking it. +- e44f824: Smaller store bundles: the store family field (`_fam`) and its `_overlaid`, `_asked`, `_woke` and `_shallow` fields are now `_`-prefixed internals, so the prod and observe builds mangle them (no behavior change). +- ecf3011: A derived store's writes after an `await` no longer leak into the next user setter (#4484). A write-override write (the derive's continuation) notifies its target at once but left it listed for notification, so the next outermost store setter — on any store — notified the derive's staged landing as its own write; on an optimistic family that made the landing a guess over a pending one, and a pending removal guess showed its row again when another action guessed on a different store. An outermost setter now starts with no stale targets (F-11, D-33). +- 7ea8706: A `createTrackedEffect` now re-runs for a same-pass write it reads through a memo (#4606), and for an action's landing when it re-ran during the transition for another dependency (#4607). A memo the run's own read pulls stages its value while the run recomputes, so its subscriber walk woke nobody; the run now re-queues for any memo dependency staged with a different value, as it does for a signal written before the run (#4598). A run during a hold is served the committed value of the held dependency and had consumed the run the landing replays; it now queues one run with that hold's stashed runs, so it re-runs at the landing as a stale reader would (A15), without holding the transaction open (D-29). A tracked effect that writes a signal and then reads a memo of it re-runs once the write commits, as one that reads the memo first already did. +- aeca8da: A `createTrackedEffect` whose first run reads a signal written earlier in the same effect phase (another effect's first run, a parent's `onSettled` writing a prop) now re-runs once the write commits, as `createEffect(compute, fn)` does (#4598). A tracked effect reads the committed value and links its dependencies in the effect phase, after the write had already walked the signal's subscribers, so the commit at the next seam notified nobody. After a tracked effect's run, a dependency staged this flush whose subscriber walk predates the run queues the effect again for the round that commits it; writes that net to the committed value stage no change and queue nothing. The pass's own write-then-read is still never observed and never re-runs (#3006), and `onSettled` stays one-shot. +- ef0aadd: Two or more async memos whose answers resolve in the same tick as a plain write re-asking them are all answered, then re-asked (D-22, #4495): a memo over them reads every answer through `latest` and is pending on the re-ask. An earlier landing's flush no longer re-asks the others before their answers arrive, dropping them. +- d0fc285: `createStore(fn)` that nothing reads no longer holds a plain write with its derive's flight: a derive over a `latest()`-reading memo observed the flight as a frame reader although its store had no reader. +- 62bf4c4: fix(signals): a pending memo nothing reads no longer holds a fresh `` when its subtree mounts under a held update (#4542) +- f8080f3: Dev: in a component body, a plain `untrack(fn)` that reads a pending async memo created in that same body now throws `PENDING_ASYNC_UNTRACKED_READ`, as a direct read does. Before, `untrack` cleared the check: the read threw `NotReadyError` to ``, which re-ran the body onto a fresh pending memo forever, and the page froze. An untracked read of a memo created outside the body still reaches the boundary (D-23), sync untracked reads stay quiet, and `untrack(fn, false)` opts out. Production is unchanged. +- 663ecb0: A memo born into a hold that reads `latest()` in its pass (for example by calling a function a `Loading` fallback returned) no longer mounts that `Loading` again and again once the content lands. The memo's re-run is still the hold's own work, so it joins the hold whatever it asked before (D-25), and the boundary it mounts belongs to the hold and appears at its commit (D-13): the screen goes straight to the content. +- 2e05808: A verdict reader born into a hold reads that hold's value of a node it holds in every flush, not only the hold's own: one run by another transaction's flush was served the committed value (#4426). +- ab3d2ad: A memo pulled inside `isPending()` now computes as its own pass (A31): the probe's state no longer leaks into it, so a `latest()` it calls doesn't join the hold through the probe, and its reads don't answer the outer `isPending` (#4429). +- 131ceb8: A render effect seated as a hold's verdict reader no longer leaves the seat when it reads a verdict lane of a transaction merged into that hold: the merged transaction's lane is the same hold's, read as the lane's value and shown with it (#4427). + ## 2.0.0-rc.20 ### Patch Changes diff --git a/packages/signals/package.json b/packages/signals/package.json index ff6deb222f..cb8eea4ca5 100644 --- a/packages/signals/package.json +++ b/packages/signals/package.json @@ -1,6 +1,6 @@ { "name": "@solidjs/signals", - "version": "2.0.0-rc.20", + "version": "2.0.0-rc.21", "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 ad61da58be..1cad88ed9f 100644 --- a/packages/solid/CHANGELOG.md +++ b/packages/solid/CHANGELOG.md @@ -1,5 +1,92 @@ # solid-js +## 2.0.0-rc.21 + +### Patch Changes + +- 46ab2dd: Dev diagnostic `CAUGHT_REACTIVE_READ` (D-42 / S-47): warns once per computation when a reactive read's throw — `NotReadyError` or the source's error — was caught inside the computation's body and the pass completed with a value. An `async` computation is judged when its flight settles (a rejection is the throw continuing; a landed value is the catch). The runtime's own catches (boundaries, `isPending`, `watch`, comparator/cleanup/effect-callback routing, solid-js's hydration trace) never warn. Dev-only; no production bytes. +- 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` (#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 (#4444). +- 25fb7be: fix(hydration): a content-input write made before a rejected fragment's chunks arrive recovers the hydrated `` fallback (#4588) +- 0d4c5e0: Hot reload: a PascalCase helper function that the refresh transform wraps now gets every argument when it is called directly, not only the first (#4513). +- 99d9821: A stream cut short no longer hangs hydration when the client runtime starts after the parser finished (#2958). The truncation sweep only armed when `hydrate()` ran while `document.readyState` was still `"loading"`. An entry that ran later, such as one waiting on a route module that arrives after `DOMContentLoaded`, or a deferred module entry, left every unsettled `_fr` declaration pending, so its `` kept the fallback and hydration never ended. When the document carries the in-render bootstrap (``, which declares `_$HY.s`), a runtime that boots after parsing now runs the same sweep at boot: the records that can no longer settle leave the registry, the cut fragments are rejected, and a macrotask later the refs a keyed consumer already took are rejected. Documents with a host-placed bootstrap (`generateHydrationScript()`) are unchanged. +- Updated dependencies [f509fe3] +- Updated dependencies [46ab2dd] +- Updated dependencies [9379257] +- Updated dependencies [f17cd09] +- Updated dependencies [65da5de] +- Updated dependencies [689347f] +- Updated dependencies [20c115c] +- Updated dependencies [5315127] +- Updated dependencies [ecf3011] +- Updated dependencies [bb7f9b5] +- Updated dependencies [64fedc7] +- Updated dependencies [e49b0c7] +- Updated dependencies [6af149e] +- Updated dependencies [19e0951] +- Updated dependencies [ecf3011] +- Updated dependencies [39f951b] +- Updated dependencies [3a73a36] +- Updated dependencies [a56b10b] +- Updated dependencies [b773146] +- Updated dependencies [343f007] +- Updated dependencies [ab3e844] +- Updated dependencies [87f3446] +- Updated dependencies [62745f6] +- Updated dependencies [4a4803c] +- Updated dependencies [6ec1613] +- Updated dependencies [d9aa8f7] +- Updated dependencies [60d6307] +- Updated dependencies [7135a77] +- Updated dependencies [592a43b] +- Updated dependencies [2ba429b] +- Updated dependencies [c8d6fd2] +- Updated dependencies [64625bc] +- Updated dependencies [2ba10bd] +- Updated dependencies [8cac5f0] +- Updated dependencies [42924f4] +- Updated dependencies [9c4e4a8] +- Updated dependencies [edd3c44] +- Updated dependencies [77be406] +- Updated dependencies [d9a97d0] +- Updated dependencies [97e1826] +- Updated dependencies [eed4469] +- Updated dependencies [71a6a75] +- Updated dependencies [2abf27d] +- Updated dependencies [b5077ea] +- Updated dependencies [5315127] +- Updated dependencies [5f07d04] +- Updated dependencies [ecf3011] +- Updated dependencies [9034647] +- Updated dependencies [efd7f7d] +- Updated dependencies [25b94f0] +- Updated dependencies [e56a4a0] +- Updated dependencies [e56a4a0] +- Updated dependencies [8a8e950] +- Updated dependencies [74126b1] +- Updated dependencies [2c9a1e3] +- Updated dependencies [718ec9c] +- Updated dependencies [643a7a7] +- Updated dependencies [fda83a3] +- Updated dependencies [f0471e8] +- Updated dependencies [66c6f56] +- Updated dependencies [749b0d7] +- Updated dependencies [404d06a] +- Updated dependencies [50dec1b] +- Updated dependencies [456e6d5] +- Updated dependencies [e44f824] +- Updated dependencies [ecf3011] +- Updated dependencies [7ea8706] +- Updated dependencies [aeca8da] +- Updated dependencies [ef0aadd] +- Updated dependencies [d0fc285] +- Updated dependencies [62bf4c4] +- Updated dependencies [f8080f3] +- Updated dependencies [663ecb0] +- Updated dependencies [2e05808] +- Updated dependencies [ab3d2ad] +- Updated dependencies [131ceb8] + - @solidjs/signals@2.0.0-rc.21 + ## 2.0.0-rc.20 ### Patch Changes diff --git a/packages/solid/package.json b/packages/solid/package.json index b36708c508..2517fbcda4 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.20", + "version": "2.0.0-rc.21", "author": "Ryan Carniato", "license": "MIT", "homepage": "https://solidjs.com", @@ -134,7 +134,7 @@ "tanstack-intent" ], "dependencies": { - "@solidjs/signals": "^2.0.0-rc.20", + "@solidjs/signals": "^2.0.0-rc.21", "csstype": "^3.1.0", "seroval": "1.7.0", "seroval-plugins": "1.7.0" diff --git a/packages/test-integration/CHANGELOG.md b/packages/test-integration/CHANGELOG.md index 6de12af744..3f649240ea 100644 --- a/packages/test-integration/CHANGELOG.md +++ b/packages/test-integration/CHANGELOG.md @@ -1,5 +1,107 @@ # test-integration +## 2.0.0-rc.21 + +### Patch Changes + +- Updated dependencies [32163a9] +- Updated dependencies [bb51da6] +- Updated dependencies [f509fe3] +- Updated dependencies [d815fd4] +- Updated dependencies [3c47d06] +- Updated dependencies [46ab2dd] +- Updated dependencies [61bb177] +- Updated dependencies [9379257] +- Updated dependencies [f17cd09] +- Updated dependencies [65da5de] +- Updated dependencies [689347f] +- Updated dependencies [20c115c] +- Updated dependencies [5315127] +- Updated dependencies [ecf3011] +- Updated dependencies [bb7f9b5] +- Updated dependencies [64fedc7] +- Updated dependencies [e49b0c7] +- Updated dependencies [6af149e] +- Updated dependencies [19e0951] +- Updated dependencies [ecf3011] +- Updated dependencies [25fb7be] +- Updated dependencies [39f951b] +- Updated dependencies [3a73a36] +- Updated dependencies [a56b10b] +- Updated dependencies [b773146] +- Updated dependencies [343f007] +- Updated dependencies [ab3e844] +- Updated dependencies [87f3446] +- Updated dependencies [62745f6] +- Updated dependencies [4a4803c] +- Updated dependencies [6ec1613] +- Updated dependencies [d9aa8f7] +- Updated dependencies [480f522] +- Updated dependencies [60d6307] +- Updated dependencies [7135a77] +- Updated dependencies [592a43b] +- Updated dependencies [2ba429b] +- Updated dependencies [c8d6fd2] +- Updated dependencies [64625bc] +- Updated dependencies [2ba10bd] +- Updated dependencies [8cac5f0] +- Updated dependencies [42924f4] +- Updated dependencies [9c4e4a8] +- Updated dependencies [edd3c44] +- Updated dependencies [77be406] +- Updated dependencies [551ef0d] +- Updated dependencies [d9a97d0] +- Updated dependencies [97e1826] +- Updated dependencies [6b6b4da] +- Updated dependencies [eed4469] +- Updated dependencies [71a6a75] +- Updated dependencies [2abf27d] +- Updated dependencies [b5077ea] +- Updated dependencies [3c47d06] +- Updated dependencies [5315127] +- Updated dependencies [5f07d04] +- Updated dependencies [ecf3011] +- Updated dependencies [9034647] +- Updated dependencies [efd7f7d] +- Updated dependencies [25b94f0] +- Updated dependencies [e56a4a0] +- Updated dependencies [e56a4a0] +- Updated dependencies [8a8e950] +- Updated dependencies [0d4c5e0] +- Updated dependencies [74126b1] +- Updated dependencies [2c9a1e3] +- Updated dependencies [718ec9c] +- Updated dependencies [643a7a7] +- Updated dependencies [fda83a3] +- Updated dependencies [f0471e8] +- Updated dependencies [6262453] +- Updated dependencies [66c6f56] +- Updated dependencies [749b0d7] +- Updated dependencies [404d06a] +- Updated dependencies [50dec1b] +- Updated dependencies [456e6d5] +- Updated dependencies [e44f824] +- Updated dependencies [ecf3011] +- Updated dependencies [7ea8706] +- Updated dependencies [aeca8da] +- Updated dependencies [99d9821] +- Updated dependencies [ef0aadd] +- Updated dependencies [d0fc285] +- Updated dependencies [62bf4c4] +- Updated dependencies [f8080f3] +- Updated dependencies [b7e4f16] +- Updated dependencies [663ecb0] +- Updated dependencies [2e05808] +- Updated dependencies [ab3d2ad] +- Updated dependencies [131ceb8] + - @solidjs/web@2.0.0-rc.21 + - @solidjs/signals@2.0.0-rc.21 + - @solidjs/babel-plugin@2.0.0-rc.21 + - solid-js@2.0.0-rc.21 + - @solidjs/h@2.0.0-rc.21 + - @solidjs/html@2.0.0-rc.21 + - @solidjs/universal@2.0.0-rc.21 + ## 2.0.0-rc.20 ### Patch Changes diff --git a/packages/test-integration/package.json b/packages/test-integration/package.json index 41804a6d5e..457fa259b1 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.20" + "version": "2.0.0-rc.21" } diff --git a/packages/universal/CHANGELOG.md b/packages/universal/CHANGELOG.md index 34e93a42b0..80074103a2 100644 --- a/packages/universal/CHANGELOG.md +++ b/packages/universal/CHANGELOG.md @@ -1,5 +1,16 @@ # @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 + ## 2.0.0-rc.20 ### Patch Changes diff --git a/packages/universal/package.json b/packages/universal/package.json index 9dbe1d9416..7a6176968c 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.20", + "version": "2.0.0-rc.21", "author": "Ryan Carniato", "license": "MIT", "homepage": "https://solidjs.com", @@ -51,7 +51,7 @@ "test": "vitest run" }, "peerDependencies": { - "solid-js": "^2.0.0-rc.20" + "solid-js": "^2.0.0-rc.21" }, "devDependencies": { "solid-js": "workspace:*" diff --git a/packages/web/CHANGELOG.md b/packages/web/CHANGELOG.md index 3f627a0c85..fc7f9ada7a 100644 --- a/packages/web/CHANGELOG.md +++ b/packages/web/CHANGELOG.md @@ -1,5 +1,26 @@ # @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 ``) 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` (#4502). It was `Record & { _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` (#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 (#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 (#4595). +- 6b6b4da: Server-rendered `` 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. +- 6262453: The server `ssrElement` joins a compiled dynamic child in place. The compiler emits a spread element's dynamic child as `() => scope(() => expr)`, and `ssrScope` returns a function in both modes, so after `ssrElement`'s one call the child was still a function and every such element fell to `resolveSSRNode` plus `ssr()`'s hole loop. Outside a live-hole render, `ssrElement` now calls the scope's evaluator once more, as `resolveSSRNode` would, and joins a string or number result directly. Other values resolve nested as before, and a suspension becomes the same async hole through a shared `pushSSRAsyncHole`. Server output is byte-identical. On a prod build, `spread-static-tail` renders 7–14% faster (500 rows). +- 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 + ## 2.0.0-rc.20 ### Patch Changes diff --git a/packages/web/package.json b/packages/web/package.json index 34214fec6c..040ff40508 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.20", + "version": "2.0.0-rc.21", "author": "Ryan Carniato", "license": "MIT", "homepage": "https://solidjs.com", @@ -379,7 +379,7 @@ "seroval-plugins": "1.7.0" }, "peerDependencies": { - "solid-js": "^2.0.0-rc.20" + "solid-js": "^2.0.0-rc.21" }, "devDependencies": { "@codspeed/vitest-plugin": "^5.4.0",