Skip to content

Version Packages#7

Merged
Wendystraite merged 1 commit into
mainfrom
changeset-release/main
May 9, 2026
Merged

Version Packages#7
Wendystraite merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented May 9, 2026

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

jotai-logger@5.0.0

Major Changes

  • 4436d69: Split the package into vanilla/react/formatter entry points

    • Split the core logger from its console formatter.
    • The core handle only scheduling and filtering options and accepts a new formatter option.
    • The new consoleFormatter factory creates the built in console formatter and accepts the old display options (domain, logger, colorScheme, etc.).
    • Add the formatter option to bindAtomsLoggerToStore and useAtomsLogger to replace the default console output with any custom function.

    BREAKING CHANGE:

    Formatting options that were present in bindAtomsLoggerToStore and useAtomsLogger are now moved to the new consoleFormatter factory options.

    - bindAtomsLoggerToStore(store, { stringifyLimit: 100 });
    + const loggedStore = createLoggedStore(store, { formatter: consoleFormatter({ stringifyLimit: 100 }) });
  • 43291e2: Jotai 2.20 support

    Adds support for Jotai 2.20's new internal INTERNAL_buildStoreRev3 API
    (see pmndrs/jotai#3293).

    BREAKING CHANGE:

    Only jotai 2.20.0 and up is supported due to changes in their internal APIs.

  • 496b4e0: Replace the mutation-based API with a derived-store API

    • The store is no longer mutated. Instead, createLoggedStore returns a new store that shares all internal state with the parent but intercepts get, set and sub for logging.
    • On the React side, AtomLoggerProvider propagates the logged store to children via a Jotai <Provider>, retrieving the parent store from context automatically.
    • This approach aligns with Jotai's internal INTERNAL_buildStoreRev2 API introduced in jotai v2.15 (see feat(internals): External building blocks surface pmndrs/jotai#3149).

    BREAKING CHANGE:

    A migration guide from v4 to v5 is present in the README. See link. TLDR:

    • useAtomsLogger is replaced by AtomLoggerProvider, a Provider-like component that automatically picks up the nearest Jotai store from context and wraps children in a new logged store.
    • bindAtomsLoggerToStore is replaced by createLoggedStore that creates and return a new store.
    • isAtomsLoggerBoundToStore removed → use isLoggedStore
    • createLoggedStore throws instead of returning false

Minor Changes

  • 096fdc0: fix: retroactively set dependents and pendingPromises on initialized/mounted events

Patch Changes

  • ffa5442: fix: track dependencies that have the same name
  • ff5a893: fix: don't add empty or undefined data to events

Releases:
  jotai-logger@5.0.0

[skip ci]
@Wendystraite Wendystraite merged commit c54142e into main May 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant