Packages

immer

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

Your version

193 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.

  1. 11.x · latest line
  2. 11.2.9

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

  3. 11.2.8

    22 Oct 2026
    • Skip patches of a draft discarded by writing its base value back

  4. 11.2.7

    21 Oct 2026
    • Snapshot array length before optimized filter callbacks

  5. 11.2.6

    21 Oct 2026
    • Avoid excessive Draft recursion for readonly arrays in recursive types

  6. 11.2.5

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

  7. 11.2.4

    21 Oct 2026
    • Resolve the splice start index against the pre-splice length in array-methods plugin

  8. 11.2.3

    20 Oct 2026
    • Skip nested patches for children of shifted or reordered arrays

  9. 11.2.2

    20 Oct 2026
    • Export WritableNonArrayDraft type.

  10. 11.2.1

    20 Oct 2026
    • Rebuild Set snapshots without mutating the traversal

  11. 11.2.0

    20 Oct 2026
    • utils: add isModified helper to check whether a draft was modified

  12. 11.1.23

    20 Oct 2026
    • Preserve live Map iteration during draft mutations

  13. 11.1.22

    20 Oct 2026
    • Snapshot the iteration range of array searches

  14. 11.1.21

    2 Oct 2026
    • Throw on reads of a revoked Map or Set draft

  15. 11.1.20

    2 Oct 2026
    • Do not record a deletion when a base value is written back

  16. 11.1.19

    2 Oct 2026
    • Forward thisArg in the array-methods plugin

  17. 11.1.18

    19 Aug 2026
    • Remove global var Iterator declaration conflicting with ESNext lib (#1290) (b00474e), closes #1273

  18. 11.1.17

    16 Aug 2026
    • Preserve structural sharing for no-op array-methods calls

  19. 11.1.16

    5 Aug 2026
    • Key inserted array indices by name in the array-methods plugin

  20. 11.1.15

    16 Jul 2026
  21. 11.1.14

    16 Jul 2026
    • Throw proper immer error when applyPatches path traverses null

  22. 11.1.13

    16 Jul 2026
    • Draft relocated base refs after reverse/sort in array-methods plugin

  23. 11.1.12

    16 Jul 2026
  24. 11.1.11

    3 Jul 2026
    • Improve DraftMap.{entries,values}() compatibility#1228

  25. 11.1.10

    3 Jul 2026
    • Undefined assigned to a prototype-inherited key gets dropped

  26. 11.1.9

    1 Jul 2026
    • security

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

  27. 11.1.8

    8 May 2026
    • Update current and original typings to assert draft value is unwrapped

  28. 11.1.7

    6 May 2026
    • Improve higher order type inference for WritableDraft

  29. 11.1.6

    4 May 2026
    • Remove invalid curried producer type

  30. 11.1.5

    4 May 2026
    • Handle nested proxies after spreading and inserting into an array

  31. 11.1.4

    10 Feb 2026
    • Handle nested proxies after spreading and inserting into an array

  32. 11.1.3

    29 Dec 2025
    • Recursive T for WritableDraft

  33. 11.1.2

    29 Dec 2025
    • Bogus commit to retest release

  34. 11.1.0

    20 Dec 2025
    • Mutating: push, pop, shift, unshift, splice, reverse, sort

    • Non-mutating: filter, slice, concat, flat, find, findIndex, findLast, findLastIndex, some, every, indexOf, lastIndexOf, includes, join, toString, toLocaleString

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

  35. 11.0.1

    28 Nov 2025
    • (dummy fix to release freeze fix per #1193)

  36. 11.0.0

    23 Nov 2025
    • breaking

      Enable loose iteration by default

    • breaking

      Simplify some iteration checks

    • breaking

      Allow passing type to get/set utils to skip archetype lookup

  37. 10.x
  38. 10.2.0

    25 Oct 2025
    • Optimize Immer performance where possible, introduce setUseStrictIteration

  39. 10.1.3

    1 Sep 2025
    • Mark exports as pure, for better tree-shakability

  40. 10.1.2

    1 Sep 2025
    • non-enumerable (immutable) methods on Map/Set

    • Update package.json exports for react-native

  41. 10.1.1

    27 Apr 2024
    • Export lost types

    • Make applyPatches to accept readonly Patch

  42. 10.1.0

    27 Apr 2024
    • performance: Make non-strict mode faster for classes. Addresses #1071 (53e3203). Immer 10.x solved slow iteration for plain JS objects. This update applies the same handling to class instances. In cases this makes class instance handling 3 times faster. Note that this slightly modifies the behavior of Immer with classes in obscure corner cases, in ways that match current documentation, but do not match previous behavior. If you run into issues with this release icmw. class instances, use setUseStrictShallowCopy("class_only") to revert to the old behavior. For more details see immerjs.github.io/immer/complex-objects

  43. 10.0.4

    9 Mar 2024
    • Fix handling of Symbol and non-enumerable properties in finalization / freeze. Fixes #1096, #1087, #1091 (#1105))

  44. 10.0.3

    2 Oct 2023
    • Don't use .mjs file for react-native, which isn't supported by default. Fixes #1058 #1065

  45. 10.0.2

    9 May 2023
    • Export Objectish type

    • Move index.js.flow from dist/ -> dist/cjs/ to match index.js

  46. 10.0.1

    17 Apr 2023
    • Production bundle was loaded incorrectly, fixes #1037

  47. 10.0.0

    17 Apr 2023
    • breaking

      Immer 10 only supports modern browsers, that have support for Proxy, Reflect, Symbol and Map and Set.

    • breaking

      There is no longer a UMD build exposed (thanks Mark Erikson for modernizing the build setup in #1032!

    • breaking

      Getters and setters are ignored by default on plain object, as this is a very uncommon case and provides a significant performance boost (ca 33%, but depends a lot on the scenario). Fixes #867, #1012. Thanks hrsh7th for implementing it in #941!

  48. 9.x
  49. 9.0.21

    23 Mar 2023
    • Ensure type exports is first in package.json export declaration

  50. 9.0.20

    23 Mar 2023
    • Patching maps failed when using number keys

  51. 9.0.19

    27 Jan 2023
    • Don't freeze drafts returned from produce if they were passed in as draft

    • Produce results should never be frozen when returned from nested produces, to prevent 'hiding' drafts. Fixes #935

    • Release and publish from 'main' rather than 'master' branch

  52. 9.0.18

    15 Jan 2023
    • Preserve insertion order of Sets, fixes #819

    • Unnecessarily recursive Draft type

  53. 9.0.17

    2 Jan 2023
    • Special case NaN in setter