[breaking change] Immer 10 only supports modern browsers, that have support for Proxy, Reflect, Symbol and Map and Set.
[breaking change] There is no longer a UMD build exposed (thanks Mark Erikson for modernizing the build setup in #1032!
[breaking change] 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!
[breaking change] Promise based reducers are no longer supported. Conceptually it is an anti pattern to hold on to drafts over time. If needed the old behavior can still be achieved by leveraging createDraft and finishDraft.
[breaking change] ES5 mode (for legacy browsers) has been dropped. If your project relies on enableES5(), you SHOULD NOT upgrade Immer. enableES5 has been removed.
[breaking change] produce is no longer exposed as the default export. This improves eco system compatibility, and makes sure that there is only one correct way of doing things
[breaking change] enableAllPlugins has been removed, use enablePatches(); enableMapSet() instead
[breaking change] shortening the length of a JSON array now results in delete patches, rather than a mutation of the length property, in accordance with JSON spec. Thanks kshramt for implementing this in #964!
Immer is now an ESM package that can be directly imported into the browser. CJS should still work, UMD support has been removed.
Overall, there is a rough performance increase of 33% for Immer (and in some cases significantly higher), and the (non gzipped) bundle size has reduced from 16 to 11.5 KB, while the the minimal gzipped import of just produce has remained roughly the same at 3.3 KB.
... (truncated)
Commits
8949a3e fix: Fix handling of Symbol and non-enumerable properties in finalization / f...
44363f7 chore: remove dependency on spec.ts to fix build issue (#1104)
8fd0481 chore(deps): bump postcss from 8.4.20 to 8.4.31 in /website (#1076)
8f35846 chore(deps): bump semver from 5.7.1 to 5.7.2 (#1055)
1c82d1e chore(deps): bump semver from 5.7.1 to 5.7.2 in /website (#1054)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps immer from 9.0.21 to 10.0.4.
Release notes
Sourced from immer's releases.
... (truncated)
Commits
8949a3e
fix: Fix handling of Symbol and non-enumerable properties in finalization / f...44363f7
chore: remove dependency on spec.ts to fix build issue (#1104)8fd0481
chore(deps): bump postcss from 8.4.20 to 8.4.31 in /website (#1076)8f35846
chore(deps): bump semver from 5.7.1 to 5.7.2 (#1055)1c82d1e
chore(deps): bump semver from 5.7.1 to 5.7.2 in /website (#1054)a92242b
chore: Update question.md. Fixes #1089f6736a4
fix: don't use.mjs
file for react-native, which isn't supported by default...75e004d
fix: exportObjectish
type (#1043)a3b5603
fix: Move index.js.flow from dist/ -> dist/cjs/ to match index.js (#1038)327082c
chore(deps): bump ajv from 6.11.0 to 6.12.6 (#1036)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show