Releases: pmndrs/jotai
v2.11.0
There are no public API changes, but some internal behaviors have been improved. Now, atom updates are batched in a single write, which might provide a performance benefit in certain edge cases. This feature has been requested actually for a long time, and it's finally implemented. See also #2782.
What's Changed
- refactor(store): rename pending to batch by @dai-shi in #2868
- lazy recomputeDependents by @dmaskasky in #2827
- fix(store): robust flush batch by @dmaskasky in #2871
- fix(store): refactor batch priority by @dmaskasky in #2875
- feat: dev store with unstable_derive by @dai-shi in #2852
New Contributors
- @rainagalbiati-turngate made their first contribution in #2882
- @leweyse made their first contribution in #2883
Full Changelog: v2.10.4...v2.11.0
v2.10.4
A minor improvement for some edge cases. (For more information, see #2789.)
What's Changed
New Contributors
Full Changelog: v2.10.3...v2.10.4
v2.10.3
This fixes various edge cases. Huge thanks to @dmaskasky ! 🎉
What's Changed
- fix: flushPending in async write by @dai-shi in #2804
- fix: flush pending finally everywhere by @dmaskasky in #2818
- fix: rethrow falsy errors thrown in flushPending by @dmaskasky in #2820
- fix: setAtom uses stale pending on atom unmount by @dmaskasky in #2811
- fix: onMount setSelf does not notify listeners by @dmaskasky in #2815
- refactor(core): Use iterative approach in recompute dependents by @dmaskasky in #2821
- refactor(store): prefer epoch number comparisons to indicate value change by @dmaskasky in #2828
Full Changelog: v2.10.2...v2.10.3
v2.10.2
Fixed some jotai/utils for a regression in v2.10.0.
What's Changed
- fix(unstable_derive): trap atom methods by @dai-shi in #2741
- Throw error on
useAtom(undefined)
oruseAtom(null)
by @kevinschaich in #2778 - fix(utils): make 'loadable' update immediate after resolve by @e7h4n in #2790
- fix(utils): make 'unwrap' update immediate after resolve by @organize in #2794
New Contributors
- @niklasbec made their first contribution in #2773
- @romain-trotard made their first contribution in #2781
- @kretajak made their first contribution in #2786
- @Brokyeom made their first contribution in #2798
- @ryoku4 made their first contribution in #2802
- @yairEO made their first contribution in #2805
- @kevinschaich made their first contribution in #2778
- @e7h4n made their first contribution in #2790
- @organize made their first contribution in #2794
Full Changelog: v2.10.1...v2.10.2
v2.10.1
This fixes a bug in an extreme edge case. If you find this change breaks something, please report to us.
What's Changed
New Contributors
- @vangie made their first contribution in #2753
- @ts1994tw made their first contribution in #2759
- @KagamiChan made their first contribution in #2761
- @nguyenbry made their first contribution in #2762
- @jaycho46 made their first contribution in #2766
- @midzdotdev made their first contribution in #2767
Full Changelog: v2.10.0...v2.10.1
v2.10.0
It comes with another significant internal change to address some edge cases.
Since v2.9.0, we've been working on some internal refactors to support more edge cases and clean up the code.
Users are encouraged to update to the new versions eventually, but if you're satisfied with the current situation and prefer to avoid temporary instability, you can stick with v2.8.4 for now.
What's Changed
New Contributors
- @sphinxrave made their first contribution in #2653
- @mxthxngx made their first contribution in #2712
- @hoangvu12 made their first contribution in #2716
- @YuHyeonWook made their first contribution in #2734
Full Changelog: v2.9.3...v2.10.0
v2.9.3
This fixes a regression in an edge case that is introduced in v2.6.4.
What's Changed
- fix(store): derived atom not updating when its value changes if another atom is read it conditionally by @yuneco in #2700
- experimental(core): expose unstable_derive by @dai-shi in #2652
New Contributors
Full Changelog: v2.9.2...v2.9.3
v2.9.2
A small improvement in atomFamily for edge use cases.
What's Changed
- feat(utils): atomFamily supports getParams and unstable_listen api by @dmaskasky in #2685
New Contributors
- @junkboy0315 made their first contribution in #2694
Full Changelog: v2.9.1...v2.9.2
v2.9.1
This patch version includes various fixes. Huge thanks to contributors!
What's Changed
- refactor(core): follow naming convention by @dai-shi in #2662
- refactor(core): store with Object.assign by @dai-shi in #2663
- fix(core): atom toString includes debugLabel in dev mode by @dmaskasky in #2659
- fix(core): Unmount an atom that is no longer dependent within a derived atom by @nogaten in #2660
- fix(types): add undefined initial value to Atom definition by @rtritto in #2668
New Contributors
Full Changelog: v2.9.0...v2.9.1
v2.9.0
This version introduces a new core implementation. All tests are passing but there can be some regressions due to missing tests. Please feel free to report such cases and let's improve test coverage.
The benefit with the new implementation:
- Fix memory leak issue with vanilla store usage.
- More readability of the core code.
What's Changed
Full Changelog: v2.8.4...v2.9.0