Skip to content

0.3

Compare
Choose a tag to compare
@drarmstr drarmstr released this 14 May 21:37

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)