← All stories
● Covered by 1 source · 1 reportMedium impact1 neutral

Jotai 3.0 Released as ESM-Only Package, Drops Legacy Builds and Deprecated APIs

🔄 Updated 2h ago
New to BrevFeed? We gather this story from every outlet covering it into one summary — ranked by real-world impact, not just the latest headline — so you never miss what matters. What is BrevFeed? →

Key points

  • Jotai 3.0 is now an ESM-only package.
  • Removed CommonJS, UMD, and SystemJS bundles.
  • Deprecated APIs like atomFamily and loadable are removed from core.
  • Migration for atomFamily involves a new dedicated package.

Jotai 3.0 Focuses on Modernization

Jotai, the atomic state management library for React, has released its v3.0.0 stable version. This update primarily focuses on modernizing the package by making it ESM-only, removing legacy builds, and dropping deprecated APIs. The maintainers describe it as a backward-compatible update for teams that have already addressed previous deprecation warnings.

Removal of Legacy Support

Version 3.0 eliminates the CommonJS build, UMD, and SystemJS bundles. It also discontinues support for older Node, React, and TypeScript versions, and removes the jotai/babel plugin. The package now targets ES2020 and reads NODE_ENV directly, moving away from build-time replacements and switching build tooling from Rollup. This shift is a culmination of efforts to address the dual package hazard of shipping both CJS and ESM, resulting in a more streamlined core.

API Changes and Migration Path

While framed as having "no breaking changes," several public APIs, including atomFamily, loadable, and the setSelf argument to atom read functions, have been removed from the core. These APIs were deprecated in late v2, so teams that followed deprecation notices should experience a smooth upgrade. The internal building blocks API has also been redesigned.

For atomFamily, users must now import it from the new jotai-family package. Similarly, loadable users are directed to jotai-eager. A detailed migration guide is available for users to follow.

Future Development Considerations

Discussions around v3 indicated some user concerns, such as the removal of setSelf, which impacts patterns like optimistic atomWithStorageWhileRevalidate. There were also requests for a first-class default store lifecycle to simplify state resetting in tests. Maintainer Daishi Kato confirmed that new features and deeper breaking changes were intentionally excluded from 3.0, with plans to address concurrent-safe atoms and external-store syncing in future v3.x releases or a later major version.

✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →

The daily brief

One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.

One email a day. Unsubscribe in one click, any time.

Today's brief

Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.

~7 min · 6 stories · Sep 13

▶ Play today's brief Listen on Spotify

New every morning, and the back catalogue is archived by date.

Primary sources

GitHub pmndrs/jotai

Reporting from

Jotai, a React state management library, released version 3.0, transitioning to an ESM-only package and removing deprecated APIs and legacy build formats. This update aims to create a leaner core and simplify maintenance by eliminating support for older environments and build systems.