Never miss a release that matters
AI-powered summaries of every GitHub release.
AI Summaries
Changelogs condensed into clear, actionable insights.
Always Free
Track up to 5 packages at no cost, forever.
Weekly Digest
A curated summary of every release, delivered weekly.
TL;DR
Solid 2.0 beta is now available, fundamentally changing how reactivity, async operations, and state management work with first-class support for Promises, a new <Loading> component, and optimistic updates via action.
Breaking
- List rendering:
Indexis replaced with<For keyed={false}>usingitem()andi()accessors. - Effects & lifecycle:
createEffectis split into compute and apply, andonMountis replaced byonSettledwith cleanup capabilities. - Stores: Setters are now draft-first; use
storePath()for previous path-style behavior. - DOM:
use:directives are removed; userefdirective factories instead.
New
- Async Support: Computations can now return Promises, enabling seamless handling of asynchronous data.
- Optimistic Updates:
actioncombined with optimistic primitives simplifies managing UI state during server interactions. <Loading>Component: Provides a declarative way to display loading states for initial renders and data revalidation.
Fixes Worth Knowing
None
Before You Upgrade
Review the migration guide at https://github.com/solidjs/solid/blob/next/documentation/solid-2.0/MIGRATION.md before upgrading.
TL;DR
SolidJS now includes improved JSX validation using JSDOM (in-browser DOM implementation) to catch invalid HTML during build time, preventing unexpected browser behavior.
Breaking
- Browser Field Removal: The
browserfield has been removed from package exports. Legacy packages without export condition support may experience resolution issues.
New
- Advanced Event Handling: Events now support object syntax for setting options like
passiveorcapturedirectly within theon:directive, replacing deprecatedoncapture:syntax. - Custom Element Support: Improved detection of custom elements using the
isattribute and better event handling within shadow DOM.
Fixes Worth Knowing
- Hydration Errors: Hydration mismatch errors now display the problematic template, aiding debugging.
- Lazy Image Handling: Corrected an issue with cloning lazy-loaded images.
- Improved Exports: Client methods are now exported to the server to prevent import errors.
TL;DR
Signals in Solid now only notify components when the value actually changes, improving performance and consistency with standard reactive principles (data reactivity).
Breaking
- Signals no longer always notify on change (prevents unnecessary re-renders).
createSignalandcreateMemocomparators now behave differently (may require updating custom comparators).
Before You Upgrade
If you’ve customized signal comparison logic with a comparator or false in createSignal or createMemo, review its behavior to ensure it still meets your needs.