immer
11.2.9 · 22 Oct 2026MIT89.4M / weekRepositoryHomepagenpmAtom feed
Upgrading immer From 7.0.7 to 9.0.6
20 releases in betweenevery note read
Before you upgrade
Tick each one off as you go- breaking9.0.0
- breaking9.0.0
- breaking8.0.0
Security
Fixes 3 advisories affecting 7.0.7
- Prototype Pollution in immercritical · GHSA-33f9-j839-rf8h
- Prototype Pollution in immerhigh · GHSA-9qmh-276g-x5pj
- Prototype Pollution in immerhigh · GHSA-c36v-fmgq-m8hx
- 9.0.6
security: Follow up on CVE-2020-28477 where
path: [["__proto__"], "x"]could still pollute the prototype - 8.0.1
Fixed security issue #738: prototype pollution possible when applying patches CVE-2020-28477
Release by release
- security
security: Follow up on CVE-2020-28477 where
path: [["__proto__"], "x"]could still pollute the prototype
- security
- fixed
Release missing dist/ folder
- fixed
- new
isPlainObject: Add quick comparison between input and
Objectto short-circuit taxingFunction.toStringinvocations
- new
- fixed
Fix type inference for produce incorrectly inferring promise
- fixed
- fixed
immerablefield being lost during patch value cloning
- fixed
- breaking
It is no longer allowed to return
nothingfrom a recipe if the target state doesn't acceptundefined. - breaking
It is no longer allowed to return arbitrary things from a recipe. Recipes should either return nothing, or something that is assignable to the original state type. This will catch mistakes with accidental returns earlier.
- new
- breaking