Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions .changeset/pre.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
},
"changesets": [
"absorb-expressions",
"accept-empty-server-function-posts",
"action-done-window-batch-adoption",
"action-in-owned-scope-guard",
"action-thenable-assimilation-settle",
Expand All @@ -35,6 +36,8 @@
"add-serialization-subpath",
"add-serialize-error-stacks-option",
"add-server-functions-subpath",
"add-tsrx-semantic-ir",
"add-tsrx-tooling-mappings",
"adopt-claim-scope-wire-id",
"adopt-runtime-wire-protocols",
"adopted-recall-claim-gate",
Expand All @@ -52,6 +55,7 @@
"arch-tier2-consolidations",
"async-arg-border-typing",
"async-slot-args-value-tier",
"async-waterfall-attribution",
"attribution-unstable-memo-output",
"attribution-wide-write",
"audit-driver-family-decline-multi-slot",
Expand Down Expand Up @@ -81,6 +85,7 @@
"clean-bikes-teach",
"client-only-preload-hints",
"client-only-sibling-id-drift",
"client-store-hydration-pending",
"coalesce-refresh-scheduling",
"cold-field-extension-split",
"commit-clears-transition-stamp",
Expand All @@ -92,12 +97,14 @@
"contain-flight-collector-errors",
"container-tier-projection-traces",
"context-default-less-throws",
"continue-tsrx-semantic-ir",
"core-hot-path-shape-alignment",
"csr-hydration-seam-trim",
"curly-rats-dress",
"dedup-hydration-gate-boilerplate",
"dedupe-disposal-dep-clearing",
"dedupe-dispose-unobserved",
"dedupe-settle-walk-code",
"dedupe-strict-read-diagnostics",
"demote-boundary-primitives",
"deprecate-server-writes",
Expand All @@ -110,6 +117,7 @@
"dev-warn-unhandled-async",
"diagnostic-code-prefix",
"diagnostic-console-footers",
"disable-authored-tsrx-lazy-destructuring",
"document-action-await-contract",
"document-action-mutation-navigation-framing",
"document-control-flow-callback-shapes",
Expand All @@ -128,8 +136,10 @@
"element-foreign-owner-fallback",
"eliminate-optimistic-revert-targets",
"encode-failure-error-trailer",
"enforce-provide-event-single-invocation",
"export-memo-options",
"expose-enableExternalSource-loading-on",
"fail-untagged-2xx-responses",
"fetch-option-retry-contract",
"fill-cleanup-occurrence-scope",
"fix-absorbed-compiler-parity",
Expand Down Expand Up @@ -157,29 +167,36 @@
"fix-buffered-iterable-replay-latest",
"fix-buffered-store-replay-claim",
"fix-chunk-reader-quadratic-growth",
"fix-class-primitive-consistency",
"fix-codec-options-declaration",
"fix-composed-header-bounds",
"fix-content-length-guard-bypass",
"fix-cookie-bounds-and-validity",
"fix-create-projection-seed-inference",
"fix-dead-transition-stamp-revival",
"fix-deep-optimistic-store-pending",
"fix-deep-snapshot-held-landing-visibility",
"fix-derived-event-locals-sharing",
"fix-derived-manual-writes",
"fix-derived-optimistic-store-fresh-data",
"fix-derived-signal-same-write",
"fix-derived-store-action-pending",
"fix-detached-eager-jsx-initial-fill",
"fix-disposed-owner-leak-via-sibling-chain",
"fix-disposed-read-lifecycle",
"fix-dom-insert-marker-anchors",
"fix-dynamic-hydration-key-alignment",
"fix-dynamic-select-multiple",
"fix-dynamic-shell-gating",
"fix-dynamic-svg-namespace",
"fix-effect-waste-attribution",
"fix-element-owner-markers",
"fix-element-shadow-delegation",
"fix-equals-comparator-errors",
"fix-errored-derive-memo-parity",
"fix-errored-loading-hydration-ids",
"fix-flatten-needsunwrap-or",
"fix-flight-owned-transaction",
"fix-flow-getter-eval-owner-parity",
"fix-flow-hydration-key-alignment",
"fix-flush-syncdepth-leak-on-throw",
Expand Down Expand Up @@ -263,6 +280,7 @@
"fix-projection-store-root-chaining",
"fix-projection-streaming-without-loading-boundary",
"fix-projection-transition-isolation",
"fix-quiet-refresh-pending-pulse",
"fix-reaction-zero-dep-dispose",
"fix-reconcile-array-node-sync",
"fix-reconcile-array-object-type-mismatch",
Expand Down Expand Up @@ -294,9 +312,11 @@
"fix-server-effect-pending-read-loop",
"fix-server-entry-client-types",
"fix-server-fn-transport-correctness",
"fix-server-function-body-lifecycle",
"fix-server-function-error-header-and-null-body-statuses",
"fix-server-function-failure-signal",
"fix-server-function-redirect-status-consistency",
"fix-server-function-stack-default",
"fix-server-render-effect-defer",
"fix-server-signal-overload-declarations",
"fix-server-transparent-memo-id-shift",
Expand Down Expand Up @@ -324,6 +344,8 @@
"fix-ssr-stream-rejected-fragment-hang",
"fix-ssr-sync-memo-child-id-leak",
"fix-ssrsource-client-hybrid-hydration",
"fix-stateful-prop-hydration-adoption",
"fix-static-select-value",
"fix-storage-types-path",
"fix-store-cold-write-batching",
"fix-store-fold-scheduling-strand",
Expand All @@ -334,6 +356,8 @@
"fix-store-symbol-keys-and-truncation-notify",
"fix-storepath-prototype-pollution",
"fix-strict-read-pending-store",
"fix-style-hydration-adoption",
"fix-superseded-flight-pending-sources",
"fix-switch-nullish-match-slot",
"fix-switch-settles-at-headers",
"fix-sync-rejecting-thenable",
Expand All @@ -342,6 +366,11 @@
"fix-transition-merge-optimistic-dup",
"fix-transparent-insert-alignment",
"fix-truth-author-draft-overlay-read",
"fix-tsrx-direct-child-parity",
"fix-tsrx-dynamic-child-style-scoping",
"fix-tsrx-index-loop-mode",
"fix-tsrx-lazy-update-rewrites",
"fix-tsrx-release-expansion-stack",
"fix-universal-text-escaping",
"fix-usehead-prelude-hydration-walk",
"fix-version-skew-label-before-gate",
Expand Down Expand Up @@ -373,11 +402,14 @@
"head-shell-hold-probe-seam",
"hide-internal-type-exports",
"hoist-web-protocol-components",
"hot-scope-fanout-aggregation",
"html-element-claims",
"hydrating-store-engine-seam",
"hydration-primitive-wrappers",
"identity-keyed-server-function-ids",
"ignore-inherited-dom-properties",
"import-solid-signals-monorepo",
"improve-tsrx-lazy-destructuring",
"include-web-cookie-declarations",
"inv2-active-override-assertion",
"ispending-loading-guard",
Expand Down Expand Up @@ -434,6 +466,7 @@
"optimize-single-pending-node",
"optimize-store-utilities",
"option-a-mid-transition-observability",
"own-abandoned-server-result-promises",
"owned-non-lazy-memo-autodispose",
"pass-2-collapse",
"patch-channel-pay-for-use",
Expand All @@ -453,17 +486,20 @@
"pay-for-use-treeshaking-phase-2",
"pay-for-use-treeshaking-phase-3",
"pending-hold-provenance-and-a20",
"pending-server-store-reads",
"per-root-boundary-resume",
"per-row-patch-unbinds",
"perf-2893-guard-cleanup",
"perf-dep-revalidation-and-reconcile",
"perf-footer-attribution-discovery",
"perfect-spies-pretend",
"phase2-optimistic-code-reduction",
"pin-prop-condition-memo-id-parity",
"port-store-return-security",
"portal-client-only-island",
"portal-marker-cleanup",
"predigested-flight-outcome",
"preserve-bound-event-tuples",
"preserve-store-symbol-snapshots",
"projection-lists-drivable",
"projection-root-entity-swap",
Expand All @@ -478,16 +514,24 @@
"reconcile-symbol-keyed-nodes",
"reconcile-walk-guard-hoist",
"recover-from-halt-in-dev-workflows",
"recover-tsrx-editor-snapshots",
"redesign-refresh-targets",
"redirect-carrier-and-shim-removal",
"redirect-target-scheme-floor",
"reduce-client-listener-state",
"reduce-server-projection-gating",
"refactor-ssr-stream-blocking",
"refactor-widen-prop-value-printwidth",
"refine-server-boundary-settlement",
"refine-superseded-settle-invariant",
"refresh-call-expr-registration",
"refresh-decline-document-shell-modules",
"refresh-lifts-stale-manual-write-mask",
"refreshable-type-alias",
"refusals-commit-event-stub",
"register-settle-walk-diagnostic-code",
"remove-capturing-event-listeners",
"remove-create-effect-single-argument-overload",
"remove-derived-initial-values",
"remove-dist-exports-and-fix-dual-types",
"remove-initial-ssr-source",
Expand All @@ -512,6 +556,7 @@
"rude-pillows-tell",
"rxcore-ssr-async-value",
"sanitize-graph-failures",
"scope-deferred-server-function-results",
"scope-function-children-holes",
"serialization-decode-entry",
"server-component-context-barrier",
Expand All @@ -520,17 +565,22 @@
"server-function-data-address-split",
"server-function-extension-surface",
"server-function-guard-batch",
"server-function-guard-simplification",
"server-function-http-hygiene",
"server-function-path-addressing",
"server-function-types-not-any",
"server-functions-client-fetch",
"server-memo-commit-liveness",
"server-memo-scaffold-diet",
"server-mock-csp-nonce",
"server-projection-errors",
"server-slot-store-and-boundary-trims",
"server-store-replacement-optimistic-noop",
"setter-row-ops-tentative-lists",
"settle-superseded-flight-dependents",
"settle-walk-dev-invariant",
"settle-walk-invariant-completion",
"settle-walk-requires-initialization",
"sever-reveal-group-at-boundaries",
"shallow-compiled-slot-channel",
"shallow-slot-alignment-samevaluezero",
Expand Down Expand Up @@ -585,19 +635,28 @@
"stream-demand-gate",
"strict-untrack-warning",
"strictread-untrack-parameter",
"strip-proto-key-at-argument-decode",
"support-async-memo-callbacks-ssr",
"support-delegated-event-listener-objects",
"support-tsrx-expression-containers",
"support-tsrx-scoped-styles",
"support-tsrx-server-function-composition",
"support-tsrx-source-maps",
"suppress-hydration-owned-scope-warnings",
"sync-config-and-flush-nested-drain",
"sync-flag-control-flow-memos",
"thin-badgers-move",
"tighten-show-match-jsx-types",
"tiny-lions-jam",
"track-applied-classes",
"transparent-devcomponent",
"transparent-effect-option-typed",
"transport-failure-on-foreign-response",
"truncation-sweep-all-registry-refs",
"tsrx-syntax-frontend",
"two-weeks-smell",
"typed-preload-links",
"universal-renderer-effect-names",
"until-flip-entanglement",
"until-live-source-ack",
"unwrap-status-error-nullish",
Expand All @@ -616,6 +675,7 @@
"update-signals-0-13-8",
"update-signals-bugfix-baseline",
"validate-malformed-html-error",
"validate-prepare-request-return",
"violet-stingrays-end",
"wait-asset-seam",
"warm-doors-flow",
Expand Down
12 changes: 12 additions & 0 deletions packages/babel-plugin/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# @solidjs/babel-plugin

## 2.0.0-rc.6

### Patch Changes

- 1e7fa73: Reject authored TSRX lazy destructuring in Solid while retaining deferred patterns generated for keyed loops and catch clauses.
- bbff5e0: Direct `value`/`checked` (and other stateful DOM property) bindings no longer overwrite pre-hydration user input during the hydration claim pass (#3182). Hydratable compiled output now routes locked DOM properties through `setProperty`, which skips writes on hydrating nodes and carries the `<select value>` microtask and input/textarea nullish special cases.
- cdbd584: Assign static `<select value>` values through the live DOM property so the matching option is selected consistently with reactive values.
- 5a1abb3: Compile TSRX loops with an index but no explicit key using Solid's non-keyed callback shape.
- 82868c6: Support recursive lazy destructuring, lazy arrow parameters, per-read defaults, computed keys, rest views, standalone assignments, accessor-backed keyed-loop and catch patterns, and JavaScript-correct writes and updates across the Babel and native TSRX frontends.
- 774aad5: Add compile-time scoped styles, CSS sidecar output, style class maps, and style refs to both TSRX frontends.
- c9c16cb: Add an experimental TSRX syntax frontend to both compilers. `.tsrx` sources (routed by filename with the new `syntax: "auto" | "jsx" | "tsrx"` option) desugar `@if`/`@else`, `@for … @empty`, `@switch`/`@case`, `@try`/`@catch`/`@pending`, `@{}` statement containers, and lazy destructuring (`&{}`/`&[]`) into the shared Solid JSX lowering, producing byte-identical output from both compilers. The Babel plugin loads the optional `@tsrx/core` peer dependency lazily; the native compiler ships the frontend behind the default-on `tsrx` cargo feature (statement containers in expression position are rejected with a structured diagnostic pending upstream oxc-tsrx support).

## 2.0.0-rc.5

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/babel-plugin/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@solidjs/babel-plugin",
"description": "Babel compiler plugin for Solid templates",
"version": "2.0.0-rc.5",
"version": "2.0.0-rc.6",
"author": "Ryan Carniato",
"license": "MIT",
"repository": {
Expand Down
25 changes: 25 additions & 0 deletions packages/compiler/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,30 @@
# @solidjs/compiler

## 2.0.0-rc.6

### Patch Changes

- 5a1abb3: Add a typed semantic IR stage and a compiler-owned TSRX typecheck projection with authored source maps, style metadata, and embedded CSS/script regions.
- bb9dacb: Expose exact authored-to-generated TSRX ranges for editor tooling.
- 38cab7a: Lower TSRX compiler output directly to Oxc AST without reparsing a generated text projection.
- 1e7fa73: Reject authored TSRX lazy destructuring in Solid while retaining deferred patterns generated for keyed loops and catch clauses.
- c9c16cb: Fix DOM insert markers to reference the following sibling's declared walk variable (`_$insert(_el$, expr, _el$2)`) instead of re-deriving the walk inline (`_el$.firstChild`), matching babel-plugin output. Affects dynamic slots followed by static content in both single-slot and per-slot parents.
- bbff5e0: Direct `value`/`checked` (and other stateful DOM property) bindings no longer overwrite pre-hydration user input during the hydration claim pass (#3182). Hydratable compiled output now routes locked DOM properties through `setProperty`, which skips writes on hydrating nodes and carries the `<select value>` microtask and input/textarea nullish special cases.
- cdbd584: Assign static `<select value>` values through the live DOM property so the matching option is selected consistently with reactive values.
- 59da78e: Preserve direct JSX child shape and deferred callback evaluation when lowering TSRX control flow.
- ed9993f: Preserve scoped selectors when a TSRX element contains dynamic children.
- 5a1abb3: Compile TSRX loops with an index but no explicit key using Solid's non-keyed callback shape.
- a836015: Rewrite prefix and postfix updates of TSRX lazy bindings to their deferred member targets, matching the Babel frontend.
- f02ce64: Preserve nested TSRX deferred-binding rewrites in optimized native compiler builds.
- 82868c6: Support recursive lazy destructuring, lazy arrow parameters, per-read defaults, computed keys, rest views, standalone assignments, accessor-backed keyed-loop and catch patterns, and JavaScript-correct writes and updates across the Babel and native TSRX frontends.
- 005d938: Recover common incomplete TSRX editor snapshots in the typecheck projection while keeping compilation strict.
- 4da3fb4: Refresh pass: modules rendering document-shell elements (`<html>`/`<head>`/`<body>`) now take the `@refresh reload` path (decline + full reload) instead of registering hot-swappable components (#3151). A document shell can never hot-swap: the hydratable compile emits no client template for those elements — they are only recoverable from the hydration walk, so a post-hydration re-render throws a hydration mismatch — and their static markup/attributes exist only in the server-rendered HTML, so even a successful swap could not reflect the edit. Editing a Document/Shell component now triggers a full page reload that fetches a fresh server render.
- 82868c6: Support TSRX statement containers in expression positions in the native compiler.
- 774aad5: Add compile-time scoped styles, CSS sidecar output, style class maps, and style refs to both TSRX frontends.
- d9a10b8: Support composing lowered `.tsrx` modules with the server-function directive transform while preserving path-stable function IDs.
- 66cce98: Emit native TSRX source maps against authored `.tsrx` locations while leaving compiler-generated projection ranges unmapped.
- c9c16cb: Add an experimental TSRX syntax frontend to both compilers. `.tsrx` sources (routed by filename with the new `syntax: "auto" | "jsx" | "tsrx"` option) desugar `@if`/`@else`, `@for … @empty`, `@switch`/`@case`, `@try`/`@catch`/`@pending`, `@{}` statement containers, and lazy destructuring (`&{}`/`&[]`) into the shared Solid JSX lowering, producing byte-identical output from both compilers. The Babel plugin loads the optional `@tsrx/core` peer dependency lazily; the native compiler ships the frontend behind the default-on `tsrx` cargo feature (statement containers in expression position are rejected with a structured diagnostic pending upstream oxc-tsrx support).

## 2.0.0-rc.5

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/compiler/npm/darwin-arm64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@solidjs/compiler-darwin-arm64",
"version": "2.0.0-rc.5",
"version": "2.0.0-rc.6",
"cpu": [
"arm64"
],
Expand Down
2 changes: 1 addition & 1 deletion packages/compiler/npm/darwin-x64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@solidjs/compiler-darwin-x64",
"version": "2.0.0-rc.5",
"version": "2.0.0-rc.6",
"cpu": [
"x64"
],
Expand Down
2 changes: 1 addition & 1 deletion packages/compiler/npm/linux-arm64-gnu/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@solidjs/compiler-linux-arm64-gnu",
"version": "2.0.0-rc.5",
"version": "2.0.0-rc.6",
"cpu": [
"arm64"
],
Expand Down
2 changes: 1 addition & 1 deletion packages/compiler/npm/linux-x64-gnu/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@solidjs/compiler-linux-x64-gnu",
"version": "2.0.0-rc.5",
"version": "2.0.0-rc.6",
"cpu": [
"x64"
],
Expand Down
2 changes: 1 addition & 1 deletion packages/compiler/npm/wasm32-wasi/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@solidjs/compiler-wasm32-wasi",
"version": "2.0.0-rc.5",
"version": "2.0.0-rc.6",
"main": "compiler.wasi.cjs",
"files": [
"compiler.wasm32-wasi.wasm",
Expand Down
2 changes: 1 addition & 1 deletion packages/compiler/npm/win32-x64-msvc/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@solidjs/compiler-win32-x64-msvc",
"version": "2.0.0-rc.5",
"version": "2.0.0-rc.6",
"cpu": [
"x64"
],
Expand Down
Loading