DanielHZhang / unlike-the-others

0 stars 0 forks source link

Bump recoil from 0.1.3 to 0.4.0 #116

Closed dependabot-preview[bot] closed 3 years ago

dependabot-preview[bot] commented 3 years ago

Bumps recoil from 0.1.3 to 0.4.0.

Release notes

Sourced from recoil's releases.

0.4.0

New Features

  • Selector cache configuration: introduced cachePolicy_UNSTABLE option for selectors and selector families. This option allows you to control the behavior of how the selector evicts entries from its internal cache.
  • Improved useRecoilTransaction_UNSTABLE() hook for transactions with multiple atoms (#1085)

Fixes and Optimizations

  • Fix TypeScript typing for selectorFamily(), getCallback(), useGetRecoilValueInfo(), and Snapshot#getNodes() (#1060, #1116, #1123)
  • Allow mutable values in selectors to be used with waitFor*() helpers (#1074, #1096)
  • Atom Effects fixes:
    • Fix onSet() handler to get the proper new value when an atom is reset or has an async default Promise that resolves (#1059, #1050, #738) (Slightly breaking change)
    • Fix support for multiple Atom effects cleanup handlers (#1125)
    • Fix selector subscriptions when atoms with effects are initialized via a Snapshot (#1135, #1107)
  • Optimization for async selectors when dependencies resolve to cached values (#1037)
  • Remove unnecessary warning message (#1034, #1062)

0.3.1

  • Fix TypeScript exports

0.3

Breaking Changes

For supporting garbage collection in the future there is a slight breaking change that Snapshot's will only be valid for the duration of the callback or render. A new retain() API can be used to persist them longer. This is not enforced yet, but Recoil will now provide a warning in dev-mode if a Snapshot is used past its lifetime. (#1006)

New Features / Improvements

  • Add override prop to <RecoilRoot> (#973)
  • Add getCallback() to selector evaluation interface (#989)
  • Improved TypeScript and Flow typing for Loadables (#966, #1022)

Performance Optimizations

  • Improve scalability (time and memory) of Atom families by cleaning up a legacy feature.

Bug Fixes

  • Throwing an error in an async selector should be properly caught by <ErrorBoundary>'s (#998, #1017)
  • Fix for Atom Effects onSet() should not be called when triggered from setSelf() initializing with a Promise or from the same onSet() handler. (#974, #979, #953, #986)
  • Improved support for Safari (#967, #609)
  • Objects stored in selectors are properly frozen in dev mode (#911)

0.2.0 (2021-3-18)

Major improvements

  • More reliable async selectors
  • Improved performance using HAMT data structures (b7d1cfddec66dae).

Other improvements

  • Changed semantics of waitForAny() such that it will always return loadables unless everything is loading. This better aligns behaviour of waitForAny() and waitForNone()
  • Added a waitForAllSettled helper analogous to Promise.allSettled. (4c95591)
  • Friendly error message for misuse of useRecoilCallback (#870)

... (truncated)

Changelog

Sourced from recoil's changelog.

Change Log

UPCOMING

Add new changes here as they land

  • Performance optimization to suppress re-rendering components:
    • When subscribed selectors evaluate to the same value. (#749, #952)
    • On initial render when not using React Concurrent Mode (#820)
  • Memory management
  • useTransition() compatibility
  • Re-renders from Recoil updates now occur 1) earlier, 2) in sync with React updates in the same batch, and 3) before transaction observers instead of after.

0.4 (2021-07-30)

New Features

  • Introduce Recoil Transactions with useRecoilTransaction_UNSTABLE() (#1085)
  • Selector cache configuration: introduced cachePolicy_UNSTABLE option for selectors and selector families. This option allows you to control the behavior of how the selector evicts entries from its internal cache.

Fixes and Optimizations

  • Fix TypeScript typing for selectorFamily(), getCallback(), useGetRecoilValueInfo(), and Snapshot#getNodes() (#1060, #1116, #1123)
  • Allow mutable values in selectors to be used with waitFor*() helpers (#1074, #1096)
  • Atom Effects fixes:
    • Fix onSet() handler to get the proper new value when an atom is reset or has an async default Promise that resolves (#1059, #1050, #738) (Slightly breaking change)
    • Fix support for multiple Atom effects cleanup handlers (#1125)
    • Fix selector subscriptions when atoms with effects are initialized via a Snapshot (#1135, #1107)
  • Optimization for async selectors when dependencies resolve to cached values (#1037)
  • Remove unnecessary warning message (#1034, #1062)

0.3.1 (2021-5-18)

  • Fix TypeScript exports

0.3.0 (2021-5-14)

For supporting garbage collection in the future there is a slight breaking change that Snapshot's will only be valid for the duration of the callback or render. A new retain() API can be used to persist them longer. This is not enforced yet, but Recoil will now provide a warning in dev-mode if a Snapshot is used past its lifetime. (#1006)

New Features / Improvements

  • Add override prop to <RecoilRoot> (#973)
  • Add getCallback() to selector evaluation interface (#989)
  • Improved TypeScript and Flow typing for Loadables (#966, #1022)

Performance Optimizations

  • Improve scalability (time and memory) of Atom families by cleaning up a legacy feature.

Bug Fixes

  • Throwing an error in an async selector should be properly caught by <ErrorBoundary>'s (#998, #1017)
  • Fix for Atom Effects onSet() should not be called when triggered from setSelf() initializing with a Promise or from the same onSet() handler. (#974, #979, #953, #986)
  • Improved support for Safari (#967, #609)

... (truncated)

Commits


Dependabot compatibility score

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 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) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)
dependabot-preview[bot] commented 3 years ago

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.