Skip to content

chore: ride solid 2.0.0-rc.13 - #384

Merged
ryansolid merged 1 commit into
nextfrom
chore/solid-rc13
Sep 30, 2026
Merged

ryansolid merged 1 commit into
nextfrom
chore/solid-rc13

Conversation

@ryansolid

Copy link
Copy Markdown
Member

Rides Solid 2.0.0-rc.13. The solid-js / @solidjs/web peer floor and the @solidjs/compiler / @solidjs/babel-plugin dependency floors move from ^2.0.0-rc.10 to ^2.0.0-rc.13 (the @solidjs/diagnostics dev pin and the examples' catalog: entries follow, as in #371); the build, the Cypress and Vitest suites and every example suite pass against it. No code change — a floor bump plus one stale comment.

What

  • package.json — every solid-js, @solidjs/web, @solidjs/compiler, @solidjs/babel-plugin range (dependencies, devDependencies, peerDependencies) ^2.0.0-rc.10 → ^2.0.0-rc.13; the exact @solidjs/diagnostics devDependency 2.0.0-rc.10 → 2.0.0-rc.13.
  • pnpm-workspace.yaml — the solid-js / @solidjs/web catalog the examples consume via catalog:, and 2.0.0-rc.13 appended to the existing minimumReleaseAgeExclude entries, mirroring feat: source names for the dev and observe postures #371.
  • pnpm-lock.yaml — regenerated with pnpm install (pnpm 9.15.3); every Solid package resolves to rc.13, @solidjs/signals included.
  • src/index.ts — the getSolidOptions comment describing what serverFunctions.components turns on still named the _bnd behavior-claim marker; rewritten for the rc.13 contract (below). Comment only, no behavior change.
  • .changeset/solid-rc13.md — patch (pre mode).

Why

The plugin rides a Solid rc in lockstep. With ^2.0.0-rc.10, an existing lockfile can hold @solidjs/compiler / @solidjs/babel-plugin at ≤ rc.11 while the app moves its runtime to rc.13, and rc.13 is the first published release where that pairing is wrong for serverFunctions.components apps (rc.12 was never published):

  • The server-component SSR marker contract changed: ref/on* positions on intrinsic elements still compile to one guarded ssrClaim hole per element, but the runtime now emits _s:on:<event> / _s:ref attribute-slot markers in place of the _bnd behavior-claim marker, which the rc.13 client no longer reads. A dynamic class / style under serverComponents compiles to a whole-attribute ssrElementAttribute hole so a client attribute slot can own it, and a spread element's named ref / on* are handed to ssrElement as a seventh claims argument (previously they dropped silently).
  • The native compiler gained $key on spread elements.

A ≤ rc.11 compiler paired with an rc.13 runtime therefore emits markup the runtime does not resolve. Pinning the floor to rc.13 keeps compiler ↔ runtime in lockstep. An audit of what the plugin couples to (export maps, compiler option surface, _SOLID_* constants, the server-function contract, the dedupe set) found nothing else changed between rc.11 and rc.13, so no plugin code needs to follow.

Verification

  • npm view … versions: solid-js, @solidjs/web, @solidjs/signals, @solidjs/compiler, @solidjs/babel-plugin, @solidjs/diagnostics all publish 2.0.0-rc.13 (and no rc.12).
  • pnpm install → node_modules/solid-js, @solidjs/web, @solidjs/compiler, @solidjs/babel-plugin, @solidjs/diagnostics at 2.0.0-rc.13; the installed @solidjs/web server build carries the _s:on / _s:ref markers and no _bnd.
  • pnpm build — rollup + tsc --emitDeclarationOnly pass.
  • pnpm test (Cypress e2e, vite-8) — 1 spec, 1 test passing, 0 failing.
  • examples/vite-8: pnpm test (Vitest browser mode, Chromium) — 1 file, 1 test passing.
  • Example suites (pnpm test in each): ssr 12/12 + boundary 8/8; css-matrix 87/87 + bridge 19/19; start-client 65/65; start-env 47/47; start-ssr — the full run.mjs pass came in at 576/579 with three headless-Chrome timing failures (frames-prod/boot adoption read before the panel landed, and node/run "Chrome CDP not reachable" from a stale /tmp/start-ssr-chrome-node profile); both modes pass in isolation (frames 61/61, node 74/74), and the companion scripts pass: http-bridge 10/10, components-warning 11/11, webworker-warning 12/12, dedupe 8/8.
  • Prettier: the touched hunks are prettier-clean; src/index.ts and pnpm-workspace.yaml already had unrelated pre-existing prettier drift on next (lines 109 / 1063 of index.ts), left alone so this diff stays a floor bump.

Public API changes

  • Peer range change: peerDependencies.solid-js and peerDependencies.@solidjs/web move from ^2.0.0-rc.10 to ^2.0.0-rc.13. Consumers on rc.10 / rc.11 get a peer warning from their package manager and must upgrade their runtime to rc.13 to use this plugin release.
  • Dependency floor change: dependencies.@solidjs/compiler and dependencies.@solidjs/babel-plugin move to ^2.0.0-rc.13, so an install of this plugin release always brings the rc.13 compilers (a ^2.0.0-rc.10 lockfile can no longer hold a ≤ rc.11 compiler).
  • No option, export, type, or diagnostic changes.

— Claude via Cursor

Bump the solid-js / @solidjs/web peer floor and the @solidjs/compiler /
@solidjs/babel-plugin dependency floors from ^2.0.0-rc.10 to
^2.0.0-rc.13 (the @solidjs/diagnostics dev pin and the examples' catalog
follow). rc.13 is the first published release with the new
server-component SSR marker contract (rc.12 was never published):
`_s:on:*` / `_s:ref` attribute-slot markers replace `_bnd`, dynamic
class/style compile to whole-attribute ssrElementAttribute holes, and
spread elements hand ssrElement a trailing claims thunk. A <= rc.11
compiler paired with an rc.13 runtime emits markers the runtime no
longer reads, so the floors move together. Rewrites the stale `_bnd`
comment in getSolidOptions; no behavior change.

Co-authored-by: Cursor <cursoragent@cursor.com>
@changeset-bot

changeset-bot Bot commented Sep 30, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 995727b

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@solidjs/vite-plugin Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​solidjs/​diagnostics@​2.0.0-rc.10 ⏵ 2.0.0-rc.1382 +210010095 +1100
Updated@​solidjs/​web@​2.0.0-rc.10 ⏵ 2.0.0-rc.13100 +110083 +197 +1100
Updated@​solidjs/​babel-plugin@​2.0.0-rc.10 ⏵ 2.0.0-rc.1392 +5100100 +195 +1100
Updated@​solidjs/​compiler@​2.0.0-rc.10 ⏵ 2.0.0-rc.1396 +110010095 +1100
Updatedsolid-js@​2.0.0-rc.10 ⏵ 2.0.0-rc.13100 +110095 +196 +2100

View full report

@pkg-pr-new

pkg-pr-new Bot commented Sep 30, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@solidjs/vite-plugin@384

commit: 995727b

@ryansolid
ryansolid merged commit 5bfeb10 into next Sep 30, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant