Open renovate[bot] opened 2 years ago
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.
This PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error.
This PR contains the following updates:
^5.0.0
->^9.0.0
⚠ Dependency Lookup Warnings ⚠
Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information.
GitHub Vulnerability Alerts
CVE-2020-28477
Overview
Affected versions of immer are vulnerable to Prototype Pollution.
Proof of exploit
Remediation
Version 8.0.1 contains a fix for this vulnerability, updating is recommended.
CVE-2021-23436
This affects the package immer before 9.0.6. A type confusion vulnerability can lead to a bypass of CVE-2020-28477 when the user-provided keys used in the path parameter are arrays. In particular, this bypass is possible because the condition (p === "proto" || p === "constructor") in applyPatches_ returns false if p is ['proto'] (or ['constructor']). The === operator (strict equality operator) returns false if the operands have different type.
CVE-2021-3757
immer is vulnerable to Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution').
Release Notes
immerjs/immer
### [`v9.0.19`](https://togithub.com/immerjs/immer/releases/tag/v9.0.19) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.18...v9.0.19) ##### Bug Fixes - don't freeze drafts returned from produce if they were passed in as draft ([#917](https://togithub.com/immerjs/immer/issues/917)) ([46867f8](https://togithub.com/immerjs/immer/commit/46867f8aa90f6c8d2d94517f6bd748d679b6ea79)) - produce results should never be frozen when returned from nested produces, to prevent 'hiding' drafts. Fixes [#935](https://togithub.com/immerjs/immer/issues/935) ([a810960](https://togithub.com/immerjs/immer/commit/a81096024ca1d6de75feb0b26a2f6a4aa5ae4bf7)) - release and publish from 'main' rather than 'master' branch ([82acc40](https://togithub.com/immerjs/immer/commit/82acc409b2b1d66373fc44200443e63917a32198)) - revert earlier fix ([#990](https://togithub.com/immerjs/immer/issues/990)) for recursive types ([#1014](https://togithub.com/immerjs/immer/issues/1014)) ([3eeb331](https://togithub.com/immerjs/immer/commit/3eeb33190523635a2fc3a8aa7f83b537d15a7c3c)) - Upgrade Github actions to Node 16 attempt 1 ([9d4ea93](https://togithub.com/immerjs/immer/commit/9d4ea93f8eb17f646aef2782f1d088a8c109bd53)) - Upgrade Github actions to Node 16 attempt 2 ([082eecd](https://togithub.com/immerjs/immer/commit/082eecd6101d27d1fda1817461ef0ad060341715)) ### [`v9.0.18`](https://togithub.com/immerjs/immer/releases/tag/v9.0.18) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.17...v9.0.18) ##### Bug Fixes - Preserve insertion order of Sets, fixes [#819](https://togithub.com/immerjs/immer/issues/819) ([#976](https://togithub.com/immerjs/immer/issues/976)) ([b3eeb69](https://togithub.com/immerjs/immer/commit/b3eeb69f2926c5f9ef3632023d3ef0695470f724)) - unnecessarily recursive Draft type ([#990](https://togithub.com/immerjs/immer/issues/990)) ([b9eae1d](https://togithub.com/immerjs/immer/commit/b9eae1d18083b63cf37483183e91356ec5ee912c)) ### [`v9.0.17`](https://togithub.com/immerjs/immer/releases/tag/v9.0.17) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.16...v9.0.17) ##### Bug Fixes - special case NaN in setter ([#912](https://togithub.com/immerjs/immer/issues/912)) ([5721bb7](https://togithub.com/immerjs/immer/commit/5721bb7cface08fe8727d69ead406fc9ff2b8cde)) ### [`v9.0.16`](https://togithub.com/immerjs/immer/releases/tag/v9.0.16) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.15...v9.0.16) ##### Bug Fixes - protect isDraftable against undefined constructor ([#969](https://togithub.com/immerjs/immer/issues/969)) ([ced4563](https://togithub.com/immerjs/immer/commit/ced45636865729ec6a27a814183a3af5db3ffceb)) ### [`v9.0.15`](https://togithub.com/immerjs/immer/releases/tag/v9.0.15) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.14...v9.0.15) ##### Bug Fixes - Add "types" to exports for TypeScript 4.7 ([#946](https://togithub.com/immerjs/immer/issues/946)) ([85ce6b7](https://togithub.com/immerjs/immer/commit/85ce6b74e80ed867d69161c8f4058abade264cd9)) ### [`v9.0.14`](https://togithub.com/immerjs/immer/releases/tag/v9.0.14) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.13...v9.0.14) ##### Bug Fixes - Use .esm.js module for backwards compatibility with old build tools ([#939](https://togithub.com/immerjs/immer/issues/939)) ([d30d219](https://togithub.com/immerjs/immer/commit/d30d219983e139920d2b93fc4eb0b7b36a56eb5c)) ### [`v9.0.13`](https://togithub.com/immerjs/immer/releases/tag/v9.0.13) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.12...v9.0.13) ##### Bug Fixes - consistent recipe return type in produceWithPatches ([#934](https://togithub.com/immerjs/immer/issues/934)) ([220d61d](https://togithub.com/immerjs/immer/commit/220d61d47fea7fae24c794f14dc529bcd7b46249)) - incorrect return type for async produceWithPatches ([#933](https://togithub.com/immerjs/immer/issues/933)) ([9f7623d](https://togithub.com/immerjs/immer/commit/9f7623d43466bd3b705099f0c825cb00670a9214)) ### [`v9.0.12`](https://togithub.com/immerjs/immer/releases/tag/v9.0.12) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.11...v9.0.12) ##### Bug Fixes - produceWithPatches should not wrap result in Immutable, fixes [#850](https://togithub.com/immerjs/immer/issues/850), [#881](https://togithub.com/immerjs/immer/issues/881) ([d8f2636](https://togithub.com/immerjs/immer/commit/d8f26362a9ff1ca7385943ce0b4cb49e9530edaf)) ### [`v9.0.11`](https://togithub.com/immerjs/immer/releases/tag/v9.0.11) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.10...v9.0.11) ##### Bug Fixes - incorrect patches for `delete` on arrays. Fixes [#879](https://togithub.com/immerjs/immer/issues/879) ([d91a659](https://togithub.com/immerjs/immer/commit/d91a6597e92570086b329ba5b197c18d211077db)) ### [`v9.0.10`](https://togithub.com/immerjs/immer/releases/tag/v9.0.10) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.9...v9.0.10) ##### Bug Fixes - No patches being generated for root primitive replacements. Fixes [#888](https://togithub.com/immerjs/immer/issues/888) ([0f96270](https://togithub.com/immerjs/immer/commit/0f96270840f3b3ab20f566b18a421acdc0eb8d35)) ### [`v9.0.9`](https://togithub.com/immerjs/immer/releases/tag/v9.0.9) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.8...v9.0.9) ##### Bug Fixes - make sure produceWithPatches accepts promises ([d80e823](https://togithub.com/immerjs/immer/commit/d80e8237334226624f25424fdd0e7c0b6f2543d7)) ### [`v9.0.8`](https://togithub.com/immerjs/immer/releases/tag/v9.0.8) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.7...v9.0.8) ##### Bug Fixes - immerjs[#876](https://togithub.com/immerjs/immer/issues/876) Ensure empty patch set for atomic set+delete on Map ([#878](https://togithub.com/immerjs/immer/issues/878)) ([e140918](https://togithub.com/immerjs/immer/commit/e1409180ebf657dc49263afef4a55b1e739b4625)) ### [`v9.0.7`](https://togithub.com/immerjs/immer/releases/tag/v9.0.7) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.6...v9.0.7) ##### Bug Fixes - Append to array when key is "-" ([#872](https://togithub.com/immerjs/immer/issues/872)) ([2afdb1b](https://togithub.com/immerjs/immer/commit/2afdb1b37d784f6df64d6d66a25e86ce88131807)) ### [`v9.0.6`](https://togithub.com/immerjs/immer/releases/tag/v9.0.6) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.5...v9.0.6) ##### Bug Fixes - **security:** Follow up on CVE-2020-28477 where `path: [["__proto__"], "x"]` could still pollute the prototype ([fa671e5](https://togithub.com/immerjs/immer/commit/fa671e55ee9bd42ae08cc239102b665a23958237)) ### [`v9.0.5`](https://togithub.com/immerjs/immer/releases/tag/v9.0.5) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.4...v9.0.5) ##### Bug Fixes - release missing dist/ folder ([bfb8dec](https://togithub.com/immerjs/immer/commit/bfb8decc92ded85d035da4b0c70dd642bb25e451)) ### [`v9.0.4`](https://togithub.com/immerjs/immer/releases/tag/v9.0.4) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.3...v9.0.4) ##### Bug Fixes - [#791](https://togithub.com/immerjs/immer/issues/791) return 'nothing' should produce undefined patch ([5412c9f](https://togithub.com/immerjs/immer/commit/5412c9f770663d0f19fe9bdaeabfa05ff3127cc9)) - [#807](https://togithub.com/immerjs/immer/issues/807) new undefined properties should end up in result object ([dc3f66c](https://togithub.com/immerjs/immer/commit/dc3f66cdea53fd5a8c814924bfafa9f6b53c9c62)) - Better applyPatches type ([#810](https://togithub.com/immerjs/immer/issues/810)) ([09ac097](https://togithub.com/immerjs/immer/commit/09ac097513714130e08ff18bc7496c4fd04f6531)), closes [#809](https://togithub.com/immerjs/immer/issues/809) ### [`v9.0.3`](https://togithub.com/immerjs/immer/releases/tag/v9.0.3) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.2...v9.0.3) ##### Bug Fixes - isPlainObject: add quick comparison between input and `Object` to short-circuit taxing `Function.toString` invocations ([#805](https://togithub.com/immerjs/immer/issues/805)) ([07575f3](https://togithub.com/immerjs/immer/commit/07575f38f49babcc6014dc898e77d39e4a9347b1)) ### [`v9.0.2`](https://togithub.com/immerjs/immer/releases/tag/v9.0.2) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.1...v9.0.2) ##### Bug Fixes - [#785](https://togithub.com/immerjs/immer/issues/785) fix type inference for produce incorrectly inferring promise ([#786](https://togithub.com/immerjs/immer/issues/786)) ([6555173](https://togithub.com/immerjs/immer/commit/6555173838f575d48a3fcb825c5a7d1953573a11)) ### [`v9.0.1`](https://togithub.com/immerjs/immer/releases/tag/v9.0.1) [Compare Source](https://togithub.com/immerjs/immer/compare/v9.0.0...v9.0.1) ##### Bug Fixes - [#768](https://togithub.com/immerjs/immer/issues/768) `immerable` field being lost during patch value cloning ([#771](https://togithub.com/immerjs/immer/issues/771)) ([e0b7c01](https://togithub.com/immerjs/immer/commit/e0b7c01c4ce039b7a68b5cb3cd97a7242962b7ab)) ### [`v9.0.0`](https://togithub.com/immerjs/immer/releases/tag/v9.0.0) [Compare Source](https://togithub.com/immerjs/immer/compare/v8.0.4...v9.0.0) ##### feature - Improved typescript types ([2c2f30e](https://togithub.com/immerjs/immer/commit/2c2f30e1c7bda5a1902acb4548678434e18cae5d)), closes [#720](https://togithub.com/immerjs/immer/issues/720) ##### BREAKING CHANGES - It is no longer allowed to return `nothing` from a recipe if the target state doesn't accept `undefined`. - 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. ### [`v8.0.4`](https://togithub.com/immerjs/immer/releases/tag/v8.0.4) [Compare Source](https://togithub.com/immerjs/immer/compare/v8.0.3...v8.0.4) ##### Bug Fixes - make sure isPlainObject checks support objects send accross frames. Fixes [#766](https://togithub.com/immerjs/immer/issues/766) / [#405](https://togithub.com/immerjs/immer/issues/405) ([5ae3547](https://togithub.com/immerjs/immer/commit/5ae354718c4f2046fdcc29186d492b8e7e98ad27)) ### [`v8.0.3`](https://togithub.com/immerjs/immer/releases/tag/v8.0.3) [Compare Source](https://togithub.com/immerjs/immer/compare/v8.0.2...v8.0.3) ##### Bug Fixes - new Immer().produce now has the same type as produce. Fixes [#749](https://togithub.com/immerjs/immer/issues/749) ([f8b77d1](https://togithub.com/immerjs/immer/commit/f8b77d189489814fbae7c6753931b3bb5881aeb4)) ### [`v8.0.2`](https://togithub.com/immerjs/immer/releases/tag/v8.0.2) [Compare Source](https://togithub.com/immerjs/immer/compare/v8.0.1...v8.0.2) ##### Bug Fixes - Add a type-checking fast path for primitive types ([#755](https://togithub.com/immerjs/immer/issues/755)) ([d395efe](https://togithub.com/immerjs/immer/commit/d395efeb5ef1002e0b79a3eab22fcf6e3e457209)) - Ignore equal reference assignments. Fixes [#648](https://togithub.com/immerjs/immer/issues/648) ([3b4286d](https://togithub.com/immerjs/immer/commit/3b4286d94bde80ae4d7b06a32c348ca011d2587c)) ### [`v8.0.1`](https://togithub.com/immerjs/immer/releases/tag/v8.0.1) [Compare Source](https://togithub.com/immerjs/immer/compare/v8.0.0...v8.0.1) ##### Bug Fixes - Fixed security issue [#738](https://togithub.com/immerjs/immer/issues/738): prototype pollution possible when applying patches CVE-2020-28477 ([da2bd4f](https://togithub.com/immerjs/immer/commit/da2bd4fa0edc9335543089fe7d290d6a346c40c5)) ### [`v8.0.0`](https://togithub.com/immerjs/immer/releases/tag/v8.0.0) [Compare Source](https://togithub.com/immerjs/immer/compare/v7.0.15...v8.0.0) ##### feature - Always freeze by default ([#702](https://togithub.com/immerjs/immer/issues/702)) ([a406c8f](https://togithub.com/immerjs/immer/commit/a406c8f1e524efabfe641f4eaf742b444e501cc0)) ##### BREAKING CHANGES - always freeze by default, even in production mode. Use `setAutoFreeze(process.env.NODE_ENV !== 'production')` for the old behavior. See [https://github.com/immerjs/immer/issues/687#issuecomment-728881754](https://togithub.com/immerjs/immer/issues/687#issuecomment-728881754) for the rationale. Fixes [#649](https://togithub.com/immerjs/immer/issues/649), [#681](https://togithub.com/immerjs/immer/issues/681), [#687](https://togithub.com/immerjs/immer/issues/687) ### [`v7.0.15`](https://togithub.com/immerjs/immer/releases/tag/v7.0.15) [Compare Source](https://togithub.com/immerjs/immer/compare/v7.0.14...v7.0.15) ##### Bug Fixes - make plugin loading idempotent, fixes [#692](https://togithub.com/immerjs/immer/issues/692) ([754331b](https://togithub.com/immerjs/immer/commit/754331bb0d0a24ca56399ac7a778f5e87be1c236)) ### [`v7.0.14`](https://togithub.com/immerjs/immer/releases/tag/v7.0.14) [Compare Source](https://togithub.com/immerjs/immer/compare/v7.0.13...v7.0.14) ##### Bug Fixes - build issue. Fixes [#685](https://togithub.com/immerjs/immer/issues/685) (?) ([9007be0](https://togithub.com/immerjs/immer/commit/9007be0a68e8c521d23657729036d2eee9f5df83)) ### [`v7.0.13`](https://togithub.com/immerjs/immer/releases/tag/v7.0.13) [Compare Source](https://togithub.com/immerjs/immer/compare/v7.0.12...v7.0.13) ##### Bug Fixes - reconcile if the original value is assigned after creating a draft. Fixes [#659](https://togithub.com/immerjs/immer/issues/659) ([c0e6749](https://togithub.com/immerjs/immer/commit/c0e6749e8df3e20d880d61b726b1395167ba2088)) ### [`v7.0.12`](https://togithub.com/immerjs/immer/releases/tag/v7.0.12) [Compare Source](https://togithub.com/immerjs/immer/compare/v7.0.11...v7.0.12) ##### Bug Fixes - undraftable values should not be cloned for patches, fixes [#676](https://togithub.com/immerjs/immer/issues/676) ([1b70ad5](https://togithub.com/immerjs/immer/commit/1b70ad509d192de20c50dd8f132d0a5a121413a9)) ### [`v7.0.11`](https://togithub.com/immerjs/immer/releases/tag/v7.0.11) [Compare Source](https://togithub.com/immerjs/immer/compare/v7.0.10...v7.0.11) ##### Bug Fixes - skip ReadonlyMap and ReadonlySet types when not available ([#653](https://togithub.com/immerjs/immer/issues/653)). Fixes [#624](https://togithub.com/immerjs/immer/issues/624) ([12f4cf8](https://togithub.com/immerjs/immer/commit/12f4cf8a107e89645fe65833a359a53f36e01103)) ### [`v7.0.10`](https://togithub.com/immerjs/immer/releases/tag/v7.0.10) [Compare Source](https://togithub.com/immerjs/immer/compare/v7.0.9...v7.0.10) ##### Bug Fixes - Clearing empty Set\&Map should be noop ([#682](https://togithub.com/immerjs/immer/issues/682)). Fixes [#680](https://togithub.com/immerjs/immer/issues/680) ([33a305b](https://togithub.com/immerjs/immer/commit/33a305b116dec7871bcfeab706ea3f4f86efb423)) ### [`v7.0.9`](https://togithub.com/immerjs/immer/releases/tag/v7.0.9) [Compare Source](https://togithub.com/immerjs/immer/compare/v7.0.8...v7.0.9) ##### Bug Fixes - clear map creates invalid patches, fixes [#663](https://togithub.com/immerjs/immer/issues/663) ([bacc1e0](https://togithub.com/immerjs/immer/commit/bacc1e0b2276b71e0d6dfc1d4787c10cefb5be78)) ### [`v7.0.8`](https://togithub.com/immerjs/immer/releases/tag/v7.0.8) [Compare Source](https://togithub.com/immerjs/immer/compare/v7.0.7...v7.0.8) ##### Bug Fixes - Use a named type for Draft object for smaller type declaration files ([a1a0da0](https://togithub.com/immerjs/immer/commit/a1a0da024d7cd925cd8e7fc11389802744cf9307)) - use Array.prototype.slice() for copying arrays. Fixes [#650](https://togithub.com/immerjs/immer/issues/650) ([bf90358](https://togithub.com/immerjs/immer/commit/bf90358c1bfedf0afb6e3bb016d6e6233b96e3ac)) - use Array.prototype.slice() for copying arrays. Fixes [#650](https://togithub.com/immerjs/immer/issues/650) ([bb40c36](https://togithub.com/immerjs/immer/commit/bb40c3610d69003eafd1e6504137f061cef164ff)) ### [`v7.0.7`](https://togithub.com/immerjs/immer/releases/tag/v7.0.7) [Compare Source](https://togithub.com/immerjs/immer/compare/v7.0.6...v7.0.7) ##### Bug Fixes - made NOTHING and IMMERABLE shared symbols. Fixes [#632](https://togithub.com/immerjs/immer/issues/632) ([b1c6a8e](https://togithub.com/immerjs/immer/commit/b1c6a8e884c48e115851ddf91b04c0a9c7ef3ade)) - make sure changing an undefined value to undefined is not picked up as change. Fixes [#646](https://togithub.com/immerjs/immer/issues/646) ([5521527](https://togithub.com/immerjs/immer/commit/5521527cf44cdbc121023573bced9d4bebe416b2)) - out of range assignments were broken in ES5 mode. Fixes [#638](https://togithub.com/immerjs/immer/issues/638) ([0fe9132](https://togithub.com/immerjs/immer/commit/0fe9132987c5a22426373cc477f65e0661d9cec9)) - Set finalization can get stuck in a loop, fixes [#628](https://togithub.com/immerjs/immer/issues/628) ([b12e5c9](https://togithub.com/immerjs/immer/commit/b12e5c93d8b28142499e380997d2d17eceab82f4)) - Trigger setters with the correct context, fixes [#604](https://togithub.com/immerjs/immer/issues/604) ([2697430](https://togithub.com/immerjs/immer/commit/2697430694dd4f68dcc48b1029d15624cd0b1c80)) ### [`v7.0.6`](https://togithub.com/immerjs/immer/releases/tag/v7.0.6) [Compare Source](https://togithub.com/immerjs/immer/compare/v7.0.5...v7.0.6) ##### Bug Fixes - **flow:** added types for produceWithPatches ([b355838](https://togithub.com/immerjs/immer/commit/b35583813d5263485d3c5c8d4b43368b2fa125b6)) ### [`v7.0.5`](https://togithub.com/immerjs/immer/releases/tag/v7.0.5) [Compare Source](https://togithub.com/immerjs/immer/compare/v7.0.4...v7.0.5) ##### Bug Fixes - Fixed regression in Object.frozen for IE11. Fixes [#600](https://togithub.com/immerjs/immer/issues/600) ([6371d05](https://togithub.com/immerjs/immer/commit/6371d058b4594410436518ba852a79874ff6a601)) ### [`v7.0.4`](https://togithub.com/immerjs/immer/releases/tag/v7.0.4) [Compare Source](https://togithub.com/immerjs/immer/compare/v7.0.3...v7.0.4) ##### Bug Fixes - Flow: Add tests for Map and Set and fix base type ([9022672](https://togithub.com/immerjs/immer/commit/90226727f0741a2a68d74a9c860af2ee19ead70b)) - new map keys were not added if value is undefined ([4a1bd65](https://togithub.com/immerjs/immer/commit/4a1bd6590e0180da458533969ee06503171336aa)) ### [`v7.0.3`](https://togithub.com/immerjs/immer/releases/tag/v7.0.3) [Compare Source](https://togithub.com/immerjs/immer/compare/v7.0.2...v7.0.3) ##### Bug Fixes - `getOwnPropertyDescriptors` is not available in Internet Explorer and Hermes. Fixes [#626](https://togithub.com/immerjs/immer/issues/626) ([c7a47e2](https://togithub.com/immerjs/immer/commit/c7a47e251e9289561d7a7c539576c80e17dae2de)) ### [`v7.0.2`](https://togithub.com/immerjs/immer/releases/tag/v7.0.2) [Compare Source](https://togithub.com/immerjs/immer/compare/v7.0.1...v7.0.2) ##### Bug Fixes - Fixed [#620](https://togithub.com/immerjs/immer/issues/620): Symbolic properties were not drafted or finalized correctly ([91915cf](https://togithub.com/immerjs/immer/commit/91915cf2868d80bf164dc6b80a038707405265c2)) ### [`v7.0.1`](https://togithub.com/immerjs/immer/releases/tag/v7.0.1) [Compare Source](https://togithub.com/immerjs/immer/compare/v7.0.0...v7.0.1) ##### Bug Fixes - Add missing type `current` for pre-TS 3.7 types ([7d6b57b](https://togithub.com/immerjs/immer/commit/7d6b57b843aa8f3ec2664ae43dab7e31d391f9d3)) ### [`v7.0.0`](https://togithub.com/immerjs/immer/releases/tag/v7.0.0) [Compare Source](https://togithub.com/immerjs/immer/compare/v6.0.9...v7.0.0) - Introduced `current`, which takes a snapshot of the current state of a draft and finalizes it (but without freezing). Current is a great utility to print the current state during debugging (no Proxies in the way), and the output of current can also be safely leaked outside the producer. Implements [#441](https://togithub.com/immerjs/immer/issues/441), [#591](https://togithub.com/immerjs/immer/issues/591) - \[BREAKING CHANGE] getters and setters are now handled consistently: own getters and setters will always by copied into fields (like Object.assign does), inherited getters and setters will be left as-is. This should allow using Immer directly on objects that trap their fields, like done in Vue or MobX. Fixes [#584](https://togithub.com/immerjs/immer/issues/584), [#439](https://togithub.com/immerjs/immer/issues/439), [#593](https://togithub.com/immerjs/immer/issues/593), [#558](https://togithub.com/immerjs/immer/issues/558) - \[BREAKING CHANGE] produce no longer accepts non-draftable objects as first argument - \[BREAKING CHANGE] original can only be called on drafts and will throw otherwise (fixes [#605](https://togithub.com/immerjs/immer/issues/605)) - \[BREAKING CHANGE] non-enumerable and symbolic fields will never be frozen - \[BREAKING CHANGE] the patches for arrays are now computed differently to fix some scenarios in which they were incorrect. In some cases they will be more optimal now, in other cases less. Especially splicing / unshifting items into an existing array might result in a lot of patches. Fixes [#468](https://togithub.com/immerjs/immer/issues/468) - Improved documentation in several areas, there is now a page for typical update patterns and a separate page on how to work with classes. And additional performance tips have been included. Fixes [#457](https://togithub.com/immerjs/immer/issues/457), [#115](https://togithub.com/immerjs/immer/issues/115), [#462](https://togithub.com/immerjs/immer/issues/462) - Fixed [#462](https://togithub.com/immerjs/immer/issues/462): All branches of the produced state should be frozen - Fixed [#588](https://togithub.com/immerjs/immer/issues/588): Inconsistent behavior with nested produce - Fixed [#577](https://togithub.com/immerjs/immer/issues/577): Immer might not work with polyfilled symbols - Fixed [#514](https://togithub.com/immerjs/immer/issues/514), [#609](https://togithub.com/immerjs/immer/issues/609): Explicitly calling useProxies(false) shouldn’t check for the presence of Proxy. ### [`v6.0.9`](https://togithub.com/immerjs/immer/releases/tag/v6.0.9) [Compare Source](https://togithub.com/immerjs/immer/compare/v6.0.8...v6.0.9) ##### Bug Fixes - typo in feature.md (sovled > solved) ([3445168](https://togithub.com/immerjs/immer/commit/3445168dd518feb37ae5f205b7afa547f3071fbc)) ### [`v6.0.8`](https://togithub.com/immerjs/immer/releases/tag/v6.0.8) [Compare Source](https://togithub.com/immerjs/immer/compare/v6.0.7...v6.0.8) ##### Bug Fixes - Make sure Immer works correctly when Symbol is polyfilled, fixes [#577](https://togithub.com/immerjs/immer/issues/577) ([2b40aec](https://togithub.com/immerjs/immer/commit/2b40aecbe305a0cc74b1eef93948eb0f079afd24)) ### [`v6.0.7`](https://togithub.com/immerjs/immer/releases/tag/v6.0.7) [Compare Source](https://togithub.com/immerjs/immer/compare/v6.0.6...v6.0.7) ##### Bug Fixes - fixed issue where new items in Set where not recorded after iterating. Fixes [#586](https://togithub.com/immerjs/immer/issues/586) ([169db77](https://togithub.com/immerjs/immer/commit/169db77b4fd76e7be570dc466673589b171fd005)) ### [`v6.0.6`](https://togithub.com/immerjs/immer/releases/tag/v6.0.6) [Compare Source](https://togithub.com/immerjs/immer/compare/v6.0.5...v6.0.6) ##### Bug Fixes - Object.isFrozen dies on non objects in Internet Explorer. Fixes [#600](https://togithub.com/immerjs/immer/issues/600) ([974bd70](https://togithub.com/immerjs/immer/commit/974bd7062b06b2d4c94a84b9c0210f7c89d47ef2)) ### [`v6.0.5`](https://togithub.com/immerjs/immer/releases/tag/v6.0.5) [Compare Source](https://togithub.com/immerjs/immer/compare/v6.0.4...v6.0.5) ##### Bug Fixes - Don't recurse into non-enumerable members when freezing tree. Fixes [#590](https://togithub.com/immerjs/immer/issues/590) ([497d1a0](https://togithub.com/immerjs/immer/commit/497d1a0aff9426e3c81e383c39ad235674f79979)) - Don't recurse into non-enumerable members when freezing tree. Fixes [#590](https://togithub.com/immerjs/immer/issues/590) ([d64c2bd](https://togithub.com/immerjs/immer/commit/d64c2bd38b15584c41ec88a56c92e81652b224e0)) ### [`v6.0.4`](https://togithub.com/immerjs/immer/releases/tag/v6.0.4) [Compare Source](https://togithub.com/immerjs/immer/compare/v6.0.3...v6.0.4) ##### Bug Fixes - added flow typings for new API's introduced in v6. Fixes [#570](https://togithub.com/immerjs/immer/issues/570) ([0ddddfc](https://togithub.com/immerjs/immer/commit/0ddddfc516da31279e6f3f9a4f91c45e38042750)) - Ensure values in patches are never a draft, fixes [#559](https://togithub.com/immerjs/immer/issues/559) ([33ecbd6](https://togithub.com/immerjs/immer/commit/33ecbd6cce2f5967ef5f9fe4a56fad59169397a0)) - improve flow types ([427040c](https://togithub.com/immerjs/immer/commit/427040c4a6ad8884a2eeecf58ef743ef792fe5f3)) ### [`v6.0.3`](https://togithub.com/immerjs/immer/releases/tag/v6.0.3) [Compare Source](https://togithub.com/immerjs/immer/compare/v6.0.2...v6.0.3) ##### Bug Fixes - copy flow types to where flow can find them ([6247c03](https://togithub.com/immerjs/immer/commit/6247c039ddba95521b5d12f42f449b368db6597e)) - Flow failed to find the Immer typings ([c2ae050](https://togithub.com/immerjs/immer/commit/c2ae050a83e694e2474bb100932029e0fd1f91f7)) ### [`v6.0.2`](https://togithub.com/immerjs/immer/releases/tag/v6.0.2) [Compare Source](https://togithub.com/immerjs/immer/compare/v6.0.1...v6.0.2) ##### Bug Fixes - change Full error url ([2778ce8](https://togithub.com/immerjs/immer/commit/2778ce8c74efad5604eee7893e4b992a8fa632c8)) - fixed broken minimized error url (issue[#550](https://togithub.com/immerjs/immer/issues/550)) ([949960f](https://togithub.com/immerjs/immer/commit/949960fce7360ebd9796f1d208c32cea3d71a76a)) ### [`v6.0.1`](https://togithub.com/immerjs/immer/releases/tag/v6.0.1) [Compare Source](https://togithub.com/immerjs/immer/compare/v6.0.0...v6.0.1) ##### Bug Fixes - rename compat `index.d.ts` to `immer.d.ts` ([ed6ba6d](https://togithub.com/immerjs/immer/commit/ed6ba6d1168feb5f90a6fb97641a68eee26375f7)) ### [`v6.0.0`](https://togithub.com/immerjs/immer/releases/tag/v6.0.0) [Compare Source](https://togithub.com/immerjs/immer/compare/v5.3.6...v6.0.0) - Merge pull request [#536](https://togithub.com/immerjs/immer/issues/536) from immerjs/multi-bundle ([0d87fc8](https://togithub.com/immerjs/immer/commit/0d87fc88e8efffdacbb5db295cb9efd624cd2757)), closes [#536](https://togithub.com/immerjs/immer/issues/536) - Adding large data sets to a draft has been optimized (in case autofreeze is disabled) - Added compatibility typing support for TypeScript versions pre 3.7 ##### BREAKING CHANGES - Support for ES5, patches and Map/Set collections has to be *explicitly* enable now: https://immerjs.github.io/immer/docs/installation - Custom serialization hooks are no longer supportedConfiguration
📅 Schedule: Branch creation - "" in timezone America/Los_Angeles, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.