Releases: pmndrs/zustand
v4.5.1
People might have misunderstood with useStore
deprecation message. Hope this mitigates it.
What's Changed
- Relax types for
persist
middleware by @rafaeelaudibert in #2332 - chore: clarify deprecation message by @dai-shi in #2337
New Contributors
- @alexander-densley made their first contribution in #2321
- @rafaeelaudibert made their first contribution in #2332
Full Changelog: v4.5.0...v4.5.1
v4.5.0
This version adds a new capability for SSR/Hydration.
What's Changed
- feat: getInitialState by @TkDodo in #2277
- fix: Add deprecation notice for getServerState() in WithReact type by @charkour in #2266
New Contributors
- @Jontii made their first contribution in #2228
- @wherehows made their first contribution in #2239
- @ahulterstrom made their first contribution in #2252
- @JaeBrian made their first contribution in #2267
- @CodyCodes95 made their first contribution in #2218
Full Changelog: v4.4.7...v4.5.0
v4.4.7
There's a small fix for a use case with an non-object value in store.
What's Changed
- fix(vanilla): unexpected null state update behavior by @wulimao49 in #2213
New Contributors
- @isiagi made their first contribution in #2208
- @ADTC made their first contribution in #2202
- @wulimao49 made their first contribution in #2213
Full Changelog: v4.4.6...v4.4.7
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