Solid.js Single Page ApplicationsWeb DevelopmentFrontend Development 1 min read

Solid.js 2.0.0-rc.17 Adds Robust Error Handling and Input Diagnostics

The latest release of Solid.js improves reactive error management, refines context error messaging, and introduces development-only warnings to prevent accidental input overwrites.

Solid.js 2.0.0-rc.17 ships with updated error handling for reactive cleanups and new form input diagnostic warnings.

If a cleanup function throws during teardown, the remaining operations in the reactive tree still execute. Solid.js aggregates these errors and rethrows them after teardown finishes.

Context management changes include an updated ContextNotFoundError message. It distinguishes when no provider exists, when createContext has an undefined default, or when a provider passes an undefined value. Documentation now states undefined means "not provided," and null defines an optional context.

Development builds include the UNCOMMITTED_INPUT_OVERWRITTEN warning. This detects when a stateful DOM property like value or checked gets overwritten by a re-render before the user input commits to the signal. The check warns about input and checked overwrites, is restricted to development builds, and tree-shakes away in production. You can use onInput to update signals or opt for uncontrolled elements.

Docs now explicitly state that effects do not perform value comparisons. They re-run whenever the computation half re-executes, regardless of output value changes. You can use createMemo to skip work based on previous values.

Finally, updated guidance covers from() async generators and their cleanup cycles.