Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency recoil to v0.7.7 #13

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Nov 4, 2021

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
recoil 0.4.1 -> 0.7.7 age adoption passing confidence

Release Notes

facebookexperimental/Recoil (recoil)

v0.7.7

Compare Source

  • Fix potential unhandled promise rejection in useRecoilCallback() (#​2075)
  • Add OSS support for GateKeeper feature toggling via RecoilEnv.RECOIL_GKS_ENABLED (#​2078)
  • Fix resolving suspense of async selectors used with SSR (#​2073, #​1960)
  • Fix SSR with some versions of React DOM used with Next.JS 13 (#​2082, #​2086)

v0.7.6

Compare Source

  • Expose flag to disable "duplicate atom key" checking / logging, as it was too noisy in environments such as NextJS or some dev environments using Fast Refresh. (#​733, #​2020, #​2046)
    • Import RecoilEnv from the recoil package, and set RecoilEnv.RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED = false in code to disable the checking and logging.
    • We also support process.env.RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED=false in NodeJS environments such as NextJs
    • Caution: This disables all checks for duplicate atom keys including legitimate errors, so use with caution!
  • Workaround for React 18 environments with nested renderers that don't support useSyncExternalStore(). (#​2001, #​2010)

v0.7.5

Compare Source

  • Fix useRecoilSnapshot() with React's Fast Refresh during development (#​1891)
  • Fix useRecoilSnapshot() and recoil-sync with changed browser behavior starting with Chrome v104 (#​1943, #​1936)

v0.7.4

Compare Source

v0.7.3

Compare Source

  • Enable atoms and selectors to be used in family parameters (#​1172)
  • Add parentStoreID_UNSTABLE to atom effects which is the ID of the parent store it cloned from, such as the host <RecoilRoot> store for useRecoilCallback() snapshots. (#​1744)
  • Atom effects can initialize or set atoms to wrapped values (#​1681)

v0.7.2

Compare Source

  • Selector cache lookup optimizations (#​1720, #​1736)
  • Allow async selectors to re-evaluate when async dependencies are discovered with stale state (#​1736)

v0.7.1

Compare Source

Typing

  • Add explicit children prop to <RecoilRoot> and useRecoilBridgeAcrossReactRoots_UNSTABLE() for TypeScript for @types/react with React 18 (#​1718, #​1717, #​1726, #​1731)
  • Update typing for family parameters to better support Map, Set, and classes with toJSON(). (#​1709, #​1703)

Fixes

  • Avoid dev-mode console error with React 18 when using shared async selectors across multiple <RecoilRoot>'s. (#​1712)
  • Cleanup potential memory leak when using async selectors. (#​1714)
  • Fix potentially hung async selectors when shared across multiple roots that depend on atoms initialized with promises that don't resolve. (#​1714)

v0.7.0

Compare Source

New Features

  • The default value is now optional for atom() and atomFamily(). If not provided the atom will initialize to a pending state. (#​1639)
  • Add getStoreID() method to Snapshot (#​1612)
  • Publish RecoilLoadable.loading() factory for making an async Loadable which never resolves. (#​1641)

Breaking Changes

  • Selector's get() and Atom's default can now accept a Loadable to put the node in that state. If you wish to store a Loadable, Promise, or RecoilValue directly you can wrap it with selector.value() or atom.value(). (#​1640)
  • useRecoilCallback() now provides a snapshot for the latest state when the callback is called instead of the latest rendered state, which had issues (#​1610, #​1604)

Improvements / Optimizations

  • Automatically retain snapshots for the duration of async callbacks. (#​1632)
  • Optimization for more selector dependencies. 2x improvement with 100 dependencies, 4x with 1,000, and now able to support 10,000+. (#​1651, #​1515, #​914)
  • Better error reporting when selectors provide inconsistent results (#​1696)

Fixes

  • Avoid spurious console errors from effects when calling setSelf() from onSet() handlers. (#​1589, #​1582)
  • Freezing user values in dev mode now works in JS environments without the Window interface. (#​1571)

v0.6.1

Compare Source

Fix postInstall script

v0.6.0

Compare Source

React 18

  • Leverage new React 18 APIs for improved safety and optimizations. (#​1488)
  • Fixes for <StrictMode> (#​1473, #​1444, #​1509).
  • Experimental support for useTransition() using hooks with _TRANSITION_SUPPORT_UNSTABLE suffix. (#​1572, #​1560)
  • Recoil updates now re-render earlier:
    • Recoil and React state changes from the same batch now stay in sync. (#​1076)
    • Renders now occur before transaction observers instead of after.

New Features

  • Add refresh() to the useRecoilCallback() interface for refreshing selector caches. (#​1413)
  • Callbacks from selector's getCallback() can now mutate, refresh, and transact Recoil state, in addition to reading it, for parity with useRecoilCallback(). (#​1498)
  • Recoil StoreID's for <RecoilRoot> and Snapshot stores accessible via useRecoilStoreID() hook (#​1417) or storeID parameter for atom effects (#​1414).
  • RecoilLoadable.all() and RecoilLoadable.of() now accept either literal values, async Promises, or Loadables. (#​1455, #​1442)
  • Add .isRetained() method for Snapshots and check if snapshot is already released when using .retain() (#​1546)

Other Fixes and Optimizations

  • Reduce overhead of snapshot cloning
    • Only clone the current snapshot for callbacks if the callback actually uses it. (#​1501)
    • Cache the cloned snapshots from callbacks unless there was a state change. (#​1533)
  • Fix transitive selector refresh for some cases (#​1409)
  • Fix some corner cases with async selectors and multiple stores (#​1568)
  • Atom Effects
    • Run atom effects when atoms are initialized from a set during a transaction from useRecoilTransaction_UNSTABLE() (#​1466, #​1569)
    • Atom effects are cleaned up when initialized by a Snapshot which is released. (#​1511, #​1532)
    • Unsubscribe onSet() handlers in atom effects when atoms are cleaned up. (#​1509)
    • Call onSet() when atoms are initialized with <RecoilRoot initializeState={...} > (#​1519, #​1511)
  • Avoid extra re-renders in some cases when a component uses a different atom/selector. (#​825)
  • <RecoilRoot> will only call initializeState() once during the initial render. (#​1372)
  • Lazily compute the properties of useGetRecoilValueInfo_UNSTABLE() and Snapshot#getInfo_UNSTABLE() results (#​1549)
  • Memoize the results of lazy proxies. (#​1548)

Breaking Changes

  • Rename atom effects from effects_UNSTABLE to just effects, as the interface is mostly stabilizing. (#​1520)
  • Atom effect initialization takes precedence over initialization with <RecoilRoot initializeState={...} >. (#​1509)
  • useGetRecoilValueInfo_UNSTABLE() and Snapshot#getInfo_UNSTABLE() always report the node type. (#​1547)
  • The 0.3 release introduced the need to retain Snapshots for later use, but it was mostly a warning. Now it is necessary to retain a Snapshot for asynchronous selectors to resolve. See the documentation here and here. Future releases will further enforce this as garbage collection is released.

v0.5.2

Compare Source

TypeScript fixes

v0.5.1

Compare Source

TypeScript fixes

v0.5.0

Compare Source

  • Added useRecoilRefresher_UNSTABLE() hook which forces a selector to re-run it's get(), and is a no-op for an atom. (#​972, #​1294, #​1302)
  • Atom effect improvements:
    • Add getLoadable(), getPromise(), and getInfo_UNSTABLE() to Atom Effects interface for reading other atoms. (#​1205, #​1210)
    • Add isReset parameter to onSet() callback to know if the atom is being reset or not. (#​1358, #​1345)
  • Loadable improvements:
    • Publish RecoilLoadable interface with factories and type checking for Loadables. (#​1263, #​1264, #​1312)
    • Ability to map Loadables with other Loadables. (#​1180)
    • Re-implement Loadable as classes. (#​1315)
  • Improved dev-mode checks:
    • Atoms freeze default, initialized, and async values. Selectors should not freeze upstream dependencies. (#​1261, #​1259)
    • Perform runtime check that required options are provided when creating atoms and selectors. (#​1324)
  • Allow class instances in family parameters for Flow

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@vercel
Copy link

vercel bot commented Nov 4, 2021

This pull request is being automatically deployed with Vercel (learn more).
To see the status of your deployment, click below or on the icon next to each commit.

🔍 Inspect: https://vercel.com/sergeyt/videobook/5pNueb5qEcCBd1oBxgfELcACzH3a
✅ Preview: https://videobook-git-renovate-recoil-0x-sergeyt.vercel.app

@renovate renovate bot changed the title Update dependency recoil to v0.5.0 Update dependency recoil to v0.5.1 Nov 6, 2021
@renovate renovate bot changed the title Update dependency recoil to v0.5.1 Update dependency recoil to v0.5.2 Nov 7, 2021
@renovate renovate bot changed the title Update dependency recoil to v0.5.2 Update dependency recoil to v0.6.1 Mar 7, 2022
@renovate renovate bot changed the title Update dependency recoil to v0.6.1 Update dependency recoil to v0.7.2 Apr 24, 2022
@renovate renovate bot changed the title Update dependency recoil to v0.7.2 Update dependency recoil to v0.7.3 Jun 18, 2022
@vercel
Copy link

vercel bot commented Jun 18, 2022

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated
videobook ✅ Ready (Inspect) Visit Preview 💬 Add your feedback Mar 17, 2023 at 10:07AM (UTC)

@renovate renovate bot changed the title Update dependency recoil to v0.7.3 Update dependency recoil to v0.7.4 Jun 23, 2022
@renovate renovate bot changed the title Update dependency recoil to v0.7.4 Update dependency recoil to v0.7.5 Sep 25, 2022
@renovate renovate bot changed the title Update dependency recoil to v0.7.5 Update dependency recoil to v0.7.6 Nov 20, 2022
@renovate renovate bot changed the title Update dependency recoil to v0.7.6 Update dependency recoil to v0.7.7 Mar 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants