github solidjs/solid @solidjs/compiler@2.0.0-rc.7

pre-release3 hours ago

Patch Changes

  • ead7b1a: Keep hydration IDs aligned when an intrinsic element has a ref and one reactive spread.
  • b3586e8: Validate document-shell templates in the document context (#3259). The validate pass round-trips templates through a body-context fragment parse, which strips <html>/<head>/<body> wrappers no matter how well-formed the markup — so once #3099 made validate failures compile errors, a root component owning the document shell failed to compile in plain client mode, and merely importing it (the jsdom component-test configuration) was fatal. Shell-rooted templates now parse as a document and the shell element is compared back — the analogue of the synthetic <table> wrap for table partials, in both the Babel plugin and the native compiler. Genuine restructuring (an implied <head>, flow content in <head>, a <p> split in <body>) still errors. Since <template> parsing flattens shells, actually client-creating one now throws a descriptive dev-mode error from template() pointing at hydrate() — the failure moved from every import to the one broken act.
  • d601119: Remove the experimental patch channel and patch-mode list driver (always opt-in, never default). Graph-native regions own value delivery and the unified-For design owns list structure, so the channel's parallel delivery machinery is retired: patch.ts/patch-driver.ts deleted, the compiler-contract exports (registerPatch/registerRowOps/registerSlotPatch/patchableRaw, patchDriver/rowProof/driveList) removed, the patchDriver compiler option dropped from both compilers, the insert $ll seam stripped, and the write-side channel struct dieted to the single written-keys bound (t.wk) the core fold/notify paths actually use. Store-family app bundles reclaim up to ~900 B brotli; every measured tier shrinks.

Don't miss a new solid release

NewReleases is sending notifications on new releases.