v2.19.1
This release includes several small refactors to improve performance.
- fix(vanilla/utils/atomWithObservable): use symbol index signature to avoid 'Symbol.observable' type reference by @sukvvon in https://github.com/pmndrs/jotai/pull/3274
- refactor(internals): replace nextDeps with prevDeps by @dmaskasky in https://github.com/pmndrs/jotai/pull/3278
- refactor(internals): reduce recomputeInvalidatedAtoms overhead (performance) by @dmaskasky in https://github.com/pmndrs/jotai/pull/3284
- refactor(internals): reduce flushPending overhead (performance) by @dmaskasky in https://github.com/pmndrs/jotai/pull/3285
- fix(internals): check if atom has dependencies before doing mountDependencies work (performance) by @dmaskasky in https://github.com/pmndrs/jotai/pull/3290
- fix(internals): check if atom has onMount property before queueing processOnMount callback (performance) by @dmaskasky in https://github.com/pmndrs/jotai/pull/3291
- refactor(types): prefer no-any by @dai-shi in https://github.com/pmndrs/jotai/pull/3304
- @aio39 made their first contribution in https://github.com/pmndrs/jotai/pull/3277
Full Changelog: https://github.com/pmndrs/jotai/compare/v2.19.0...v2.19.1
v2.19.0
We improved the core to enable atom caching for performance for some cases.
- fix(react): deprecate delay option by @dai-shi in https://github.com/pmndrs/jotai/pull/3264
- feat: improve store.get performance when atoms are not mutated by @dmaskasky in https://github.com/pmndrs/jotai/pull/3265
- @composite made their first contribution in https://github.com/pmndrs/jotai/pull/3268
Full Changelog: https://github.com/pmndrs/jotai/compare/v2.18.1...v2.19.0
v2.18.1
This release fixes a regression introduced in v2.12.1, which affects an uncommon edge case.
- fix(vanilla): subscriber not notified when derived read calls store.set by @dmaskasky in https://github.com/pmndrs/jotai/pull/3245
- fix(vanilla/utils/atomWithObservable): add 'Symbol.observable' type support to 'ObservableLike' by @sukvvon in https://github.com/pmndrs/jotai/pull/3253
- refactor(vanilla/utils/atomWithStorage): use optional chaining for 'storage.subscribe' by @sukvvon in https://github.com/pmndrs/jotai/pull/3260
Full Changelog: https://github.com/pmndrs/jotai/compare/v2.18.0...v2.18.1
v2.18.0
We moved jotai/babel to jotai-babel.
If you use the preset:
{
- "presets": ["jotai/babel/preset"]
+ "presets": ["jotai-babel/preset"]
}
If you use a plugin:
{
- "plugins": ["jotai/babel/plugin-debug-label"]
+ "plugins": ["jotai-babel/plugin-debug-label"]
}
- refactor(internals): simplify promise handing by @dai-shi in https://github.com/pmndrs/jotai/pull/3232
- feat: deprecate jotai/babel in favor of jotai-babel by @dai-shi in https://github.com/pmndrs/jotai/pull/3236
- fix: keep reactivity if get is called in a different atom by @dai-shi in https://github.com/pmndrs/jotai/pull/3241
- @pavan-sh made their first contribution in https://github.com/pmndrs/jotai/pull/3238
Full Changelog: https://github.com/pmndrs/jotai/compare/v2.17.1...v2.18.0
v2.17.1
Small typing improvements. If you are using v2.16 or earlier, we recommend upgrading to the latest version.
- fix(core/types): Wrong variance on the WritableAtom Result type parameter by @atomanyih in https://github.com/pmndrs/jotai/pull/3135
- chore: leftover with #3219 by @dai-shi in https://github.com/pmndrs/jotai/pull/3231
- @atomanyih made their first contribution in https://github.com/pmndrs/jotai/pull/3135
Full Changelog: https://github.com/pmndrs/jotai/compare/v2.17.0...v2.17.1
v2.17.0
This release deprecates some features, which will be dropped in v3.
- deprecate loadable util by @dai-shi in https://github.com/pmndrs/jotai/pull/3217
- breaking: remove unstable_onInit by @dai-shi in https://github.com/pmndrs/jotai/pull/3219
- deprecate setSelf in the atom read function by @dai-shi in https://github.com/pmndrs/jotai/pull/3220
Full Changelog: https://github.com/pmndrs/jotai/compare/v2.16.2...v2.17.0
v2.16.2
Fixes unwrap and loadable, resolving a regression introduced in v2.15.2.
- fix(utils): unwrap should not violate the store mutation rule by @dai-shi in https://github.com/pmndrs/jotai/pull/3213
- @dev-itsheng made their first contribution in https://github.com/pmndrs/jotai/pull/3206
Full Changelog: https://github.com/pmndrs/jotai/compare/v2.16.1...v2.16.2
v2.16.1
This fixes an internal API issue that affects ecosystem libraries.
- fix(internals): buildingblocks should not invoke buildingblock definitions from top-scope by @dmaskasky in https://github.com/pmndrs/jotai/pull/3197
Full Changelog: https://github.com/pmndrs/jotai/compare/v2.16.0...v2.16.1
v2.16.0
This version deprecates atomFamily in jotai/utils in favor of jotai-family, and includes some internal changes.
- fix(internals): Minor tweaks to store internals by @dmaskasky in https://github.com/pmndrs/jotai/pull/3186
- feat(utils): deprecate atomFamily in
jotai/utils(migrate tojotai-family) by @dmaskasky in https://github.com/pmndrs/jotai/pull/3187 - fix(internals): only mounted dependents can be added to mounted.t by @dmaskasky in https://github.com/pmndrs/jotai/pull/3189
- feat: rename to INTERNAL_onInit by @dai-shi in https://github.com/pmndrs/jotai/pull/3193
Full Changelog: https://github.com/pmndrs/jotai/compare/v2.15.2...v2.16.0
v2.15.2
This release introduces some internal changes. In particular, it adds a warning when unsupported store mutations (side effects) are detected.
- fix(internals): add dev-only warning for unsupported side effect by @dai-shi in https://github.com/pmndrs/jotai/pull/3179
- refactor(utils): prefer onInit over setSelf by @dai-shi in https://github.com/pmndrs/jotai/pull/3172
- fix(internals): add storeHooks.i to be called when atomState is created by @dmaskasky in https://github.com/pmndrs/jotai/pull/3181
Full Changelog: https://github.com/pmndrs/jotai/compare/v2.15.1...v2.15.2