Packages

immer

11.2.9 · 22 Oct 2026MIT89.4M / weekRepositoryHomepagenpmAtom feed

Upgrading immer From 0.0.3 to 11.2.9

190 releases in betweennotes for 147

Other targets from 0.0.3Newest 0.x0.8.5
1.0.0 has no release note on GitHub or in the repository's changelog, so its breaking changes are missing from the counts below.
  1. 0.0.3yours
  2. 1 release
  3. 0.1.0major
  4. 2 releases
  5. 0.2.0major
  6. 2 releases
  7. 0.3.0major
  8. 1 release
  9. 0.4.0major
  10. 2 releases
  11. 0.5.0major
  12. 0.6.0major
  13. 1 release
  14. 0.7.0major
  15. 0.8.0major
  16. 5 releases
  17. 1.0.0major
  18. 36 releases
  19. 2.0.0major
  20. 7 releases
  21. 3.0.0major
  22. 8 releases
  23. 4.0.0major
  24. 2 releases
  25. 5.0.0major
  26. 12 releases
  27. 6.0.0major
  28. 9 releases
  29. 7.0.0major
  30. 15 releases
  31. 8.0.0major
  32. 8.0.1security
  33. 3 releases
  34. 9.0.0major
  35. 5 releases
  36. 9.0.6security
  37. 15 releases
  38. 10.0.0major
  39. 9 releases
  40. 11.0.0major
  41. 9 releases
  42. 11.1.9security
  43. 23 releases
  44. 11.2.9target
44+
changes to make
0
advisories fixed
40+
new
156+
fixes

Counted from 147 of 190 release notes. Advisories are counted from the advisory database, in full.

Before you upgrade

Tick each one off as you go
  • breaking11.0.0
  • breaking11.0.0
  • breaking11.0.0
  • breaking11.0.0
  • breaking11.0.0
  • breaking11.0.0
  • breaking11.0.0
  • breaking11.0.0
  • breaking11.0.0
  • breaking11.0.0

Security

  • Prevent prototype pollution via constructor.prototype access (CVE-2026-XXXX)

    11.1.9
  • security: Follow up on CVE-2020-28477 where path: [["__proto__"], "x"] could still pollute the prototype

    9.0.6
  • Fixed security issue #738: prototype pollution possible when applying patches CVE-2020-28477

    8.0.1

Release by release

  1. 11.2.9

    22 Oct 20261 fix
    • fixed

      Export WritableNonArrayDraft from immer.ts so it gets picked up by type generation in builds

  2. 11.2.8

    22 Oct 20261 fix
    • fixed

      Skip patches of a draft discarded by writing its base value back

  3. 11.2.7

    21 Oct 20261 fix
    • fixed

      Snapshot array length before optimized filter callbacks

  4. 11.2.6

    21 Oct 20261 fix
    • fixed

      Avoid excessive Draft recursion for readonly arrays in recursive types

  5. 11.2.5

    21 Oct 20261 fix
    • fixed

      Draft relocated base objects at previously assigned indices in array-methods plugin (#1314) (4d37e43), closes #1255

  6. 11.2.4

    21 Oct 20261 fix
    • fixed

      Resolve the splice start index against the pre-splice length in array-methods plugin

  7. 11.2.3

    20 Oct 20261 fix
    • fixed

      Skip nested patches for children of shifted or reordered arrays

  8. 11.2.2

    20 Oct 20261 fix
    • fixed

      Export WritableNonArrayDraft type.

21 other lines we could not sort, mostly version bumps
  • Revert "prevent prototype pollution via constructor.prototype access (CVE-2026-XXXX) (#1259)" (#1271) (4d3d6ff), closes #1266 #1268 #1265

    11.1.12
  • Override array methods to avoid proxy creation while iterating and updating

    11.1.0
  • Immer is now an ESM package that can be directly imported into the browser. CJS should still work, UMD support has been removed.

    10.0.0
  • If you have any enableES5() call, don't migrate

    10.0.0
  • When using getters/ setters icmw plain objects, call useStrictShallowCopy(true) at startup

    10.0.0
  • Replace all default imports: Replace import produce from "immer" with import {produce} from "immer"

    10.0.0
  • Replace all calls to enableAllPlugins() with enablePatches(); enableMapSet(); to be more specific and smoothen future migrations.

    10.0.0
  • If any producer returned a Promise, refactor it to leverage createDraft instead. Roughly:

    10.0.0
  • Merge pull request #536 from immerjs/multi-bundle (0d87fc8), closes #536

    6.0.0
  • Adding large data sets to a draft has been optimized (in case autofreeze is disabled)

    6.0.0

8 internal lines (docs, tests, tooling) left out.