← Back to all briefs
Architecture50s read

Solid 2.0 RC: The Big <Reveal>

Solid 2.0's release candidate reworks async around promises and new Loading/Errored/Reveal primitives while retiring SolidStart, so adopters need a migration plan before the stable release.

Solid 2.0 hit its first release candidate, and the async story is a rewrite, not a tweak. Computations can return promises directly. Solid retires Suspense, ErrorBoundary, and SuspenseList in favor of three primitives: , , and . If you currently wrap components in a Suspense boundary, that pattern is not migrating forward. This is a different model, not a renamed import.

The 2.0 cut removes a batch of 1.x APIs, including createResource, batch, produce, and startTransition. The compiler moves to Rust on OXC, benchmarked up to roughly 355x faster; treat that as a nice-to-have tooling win. The Vite plugin gains a start mode, solid({ start: true }), that the team says replaces SolidStart. Solid is retiring SolidStart, and maintenance releases continue. The team describes most migrations as mechanical.

For anyone on Solid, this is the cue to build a migration plan. Mechanical migrations are still migrations: you have to touch the code. Audit where you use createResource, batch, produce, and startTransition, move loading and error handling onto the new primitives, and get SolidStart apps onto the start mode. Pin your dependencies and track the stable release before anything goes to production. Nothing here needs to change today, but the API surface you depend on is shifting under you.

Architecture50s read

Edge 152 Begins Retiring the unload Event

The unload event stops firing by default for 60% of page loads in Edge 152, 100% by Edge 155, so move telemetry and state-saving to pagehide or visibilitychange before your data silently vanishes.

1 source