v2.0.0
2.0.0
Commits: v1.7.0...v2.0.0
Breaking
- Relay now uses new Context API instead of Legacy Context API. Any consumers of Relay context using the Legacy context API will break.
- Removed experimental support for @deferrable directive
- Upgrade
graphql
to14.0.0
- Upgrade
react
to16.5.0
- relay-compiler: Rename
inputFieldWhitelist
tooptionalInputFields
. - Merge graphql-compiler into relay-compiler (#2593)
- Selector type returned by
environment.unstable_internal.getSelector(...)
has changed.
Added
ReactRelayContext
is now exported fromreact-relay
.- Added fragment ownership model to relay-runtime: fragments can now point to the query that owns them, which removes reliance on React Context and gives us flexibility to experiment with new apis.
- Persisted queries: Enables a simple but straightforward mechanism to use persisted queries in open-source. (#2354)
- @arguments directive now supports literal values.
- Add 'severity' field to
PayloadError
in RelayNetwork interface. - Add support for specifying
missingFieldHandlers
in the Relay environment. These handlers allow developers to provide a fallback for missing data for a query whenenvironment.check()
is called. - Add support making GC scheduling configurable in the Relay environment.
- Allow passing a custom handler to
@connection
. This is useful for products that want to customize the way newly fetched items are merged into an existing connection.
Fixed
recycleNodesInto
no longer produces runtime error in DEV mode trying to mutate frozen objects (#2193)- Fixed receiving payloads out of order in QueryRenderer.
- Fixed issue in Pagination Container when receiving new props.
- Fix incorrectly garbage collecting data during an optimistic update.
- Correctly fix double fetching with QueryRenderer in React Concurrent mode.
- Fix rendering sibling QueryRenderers that have the same query and variables.
Improved
- Improved compiler error messages, which now show locations in source.
- Updated the structure of generated
ConcreteRequest
to provide more flexibility for our fetching apis. - Cleaned up Reader and Normalization AST representation.
- Upgrade build dependencies to Babel 7 and Webpack 4.
- Make generated Flow types for Input types exact objects.
- Simplify structure of network payloads.
- Rename
RelayMarkSweepStore
toRelayModernStore
.
Experimental
- Added support for new @match directive for dynamically loading code and data dependencies determined by server. No user api is provided yet.
- Added support for @refetchable directive which automatically generates a query for a fragment that is “refetchable” (i.e. a fragment on
Viewer
,Query
, or a type that implementsNode
). No user api is provided yet.