Releases: pmndrs/zustand
v4.4.6
v4.4.5 has an issue with some TypeScript configs about module resolution. It should be fixed now. Thanks for the patience.
What's Changed
- Update export types by @dbritto-dev in #2170
New Contributors
Full Changelog: v4.4.5...v4.4.6
v4.4.5
Hopefully, it should fix some issues with Node.js environment including Next.js.
What's Changed
- fix: importing CJS React in ESM by @dai-shi in #2154
- Apply publint recommendations by @dbritto-dev in #2157
New Contributors
- @plrs9816 made their first contribution in #2137
- @Brammm made their first contribution in #2139
- @sobies93 made their first contribution in #2142
Full Changelog: v4.4.4...v4.4.5
v4.4.4
v4.4.3
The changes in v4.4.2 were troublesome for some users. This version should fix/mitigate such cases.
What's Changed
- fix(shallow): Extract shallow vanilla and react by @dbritto-dev in #2097
- fix(types): mitigate devtools typing by @dai-shi in #2099
Full Changelog: v4.4.2...v4.4.3
v4.4.2
This adds useShallow
hook to cover some use cases that are deprecated with v4.4.0 change. Check out the guide.
Migration Guide
#1991 requires something like below if you are using the devtools
middleware and TypeScript.
import { devtools } from 'zustand/middleware'
+ import type {} from '@redux-devtools/extension'
What's Changed
- fix(types)(middleware/devtools): avoid copying types by @dai-shi in #1991
- fix(traditional): make defaultEqualityFn optional in TS Types by @charkour in #2060
- feat: add useShallow by @FaberVitale in #2090
New Contributors
- @aykutkardas made their first contribution in #1993
- @michelts made their first contribution in #1997
- @elusive made their first contribution in #2001
- @mayank1513 made their first contribution in #2015
- @fdb made their first contribution in #2029
- @tmkx made their first contribution in #2032
- @OshriAsulin made their first contribution in #2028
- @ivanquirino made their first contribution in #2047
- @stavkamil made their first contribution in #2071
- @NaamuKim made their first contribution in #2088
- @FaberVitale made their first contribution in #2090
Full Changelog: v4.4.1...v4.4.2
v4.4.1
Fixes some issues reported with the deprecated feature in v4.4.0.
What's Changed
- fix(types): accept undefined equalityFn for the deprecated useStore by @dai-shi in #1972
- fix: improve warning for deprecated equalityFn by @dai-shi in #1976
New Contributors
- @kangju2000 made their first contribution in #1969
Full Changelog: v4.4.0...v4.4.1
v4.4.0
This adds new zustand/traditional
entry point and deprecates equalityFn from zustand
.
Migration Guide
If you don't use custom equalityFn
, nothing is required.
For those who use custom equalityFn such as shallow
:
// previously
import { create } from 'zustand'
const useFooStore = create((set) => ...)
// now
import { createWithEqualityFn } from 'zustand/traditional'
const useFooStore = createWithEqualityFn((set) => ..., Object.is)
// Object.is is the default quailtyFn in zustand create; to match that behavior, pass that function here. This can be updated to shallow or anything else
What's Changed
- feat: deprecate equalityFn and add createWithEqualityFn by @dai-shi in #1945
- fix: declare @types/react as peerDep to avoid phantom dep by @leviosa-e in #1963
New Contributors
- @luizeboli made their first contribution in #1915
- @mohammedmulazada made their first contribution in #1931
- @coder054 made their first contribution in #1932
- @itayperry made their first contribution in #1957
- @cwtuan made their first contribution in #1953
- @tiagobento made their first contribution in #1962
- @leviosa-e made their first contribution in #1963
Full Changelog: v4.3.9...v4.4.0
v4.3.9
This includes a small improvement for production build mostly for Vite users. Docs have been improved too!
What's Changed
New Contributors
- @Debbl made their first contribution in #1792
- @Nipodemos made their first contribution in #1782
- @vadimshvetsov made their first contribution in #1800
- @bobylito made their first contribution in #1810
- @celineling made their first contribution in #1804
- @valerii15298 made their first contribution in #1819
- @Hecmatyar made their first contribution in #1816
- @203x made their first contribution in #1826
- @Ciensprog made their first contribution in #1844
- @Romainlg29 made their first contribution in #1843
- @dcorb made their first contribution in #1847
- @ivoilic made their first contribution in #1856
- @Kiku-CN made their first contribution in #1889
- @LartyHD made their first contribution in #1893
- @ChoiHyunjin made their first contribution in #1903
- @thesuryavivek made their first contribution in #1906
- @thedipankarroy made their first contribution in #1913
Full Changelog: v4.3.8...v4.3.9
v4.3.8
For persist middleware, a new option for createJSONStorage in introduced to support more cases. Note that createJSONStorage isn't a required function (and it's not very recommended as it's not type safe), and one should create a custom storage for more use cases.
What's Changed
- chore: add extension in imports by @dai-shi in #1678
- feat(middleware/persist): improve createJSONStorage for Maps by @lauhon in #1763
- chore(tests): migrate to vitest by @arjunvegda in #1753
New Contributors
- @JacobWeisenburger made their first contribution in #1737
- @spacemeowx2 made their first contribution in #1742
- @arjunvegda made their first contribution in #1754
- @zc627788 made their first contribution in #1752
- @arvinxx made their first contribution in #1758
- @SilentFlute made their first contribution in #1762
- @dannobytes made their first contribution in #1779
- @BLooDBRothER made their first contribution in #1777
- @lauhon made their first contribution in #1763
Full Changelog: v4.3.7...v4.3.8
v4.3.7
This includes a couple of improvements in persist
middleware.
What's Changed
- feat(middleware/persist): add skip hydration option #405 by @gmanninglive in #1647
- fix(middleware/persist): ensure
persist
does not drop updates inonRehydrateStorage
when using a synchronous storage API by @coffeebeats in #1689 - fix(middleware/persist): ensure argument for
onRehydrateStorage
andonHydrate
is defined on first hydration by @coffeebeats in #1692
New Contributors
- @hi-otto made their first contribution in #1687
- @pastelmind made their first contribution in #1707
- @gmanninglive made their first contribution in #1647
- @coffeebeats made their first contribution in #1689
Full Changelog: v4.3.6...v4.3.7