9.0.0
Breaking
- Rename
getModernOperationVariables
togetOperationVariables
Added
- Added
queuePendingOperation
toRelayModernMockEnvironment
in testing tools. This allows the caller to manually register an operation that should be pending. - Optionally output eager es modules (#2781).
- Expose a way to override isGeneratedFile function via language plugin (#2810).
- Allow language plugin to specify how generated files should be named (#2866).
- Allow language plugin to specify how to check for presence of
graphql
strings (#2811). - Setup external config for Relay Compiler.
Fixed
- Ensure root record is always created upon store initialization, even before initial query has been processed.
- Fix disposable of optimistic updates: 87ef4ed
- Fix various issues in docs.
- Fix loading external config for Relay Compiler (#2999).
Misc
DataChecker::check
now returns the operation fetch time.- Removed
getRelayDefaultMissingFieldHandlers.js
Experimental
- Fix leaking environments when using Relay Hooks (#3014).
- Fix support of Fast Refresh when used with Relay Hooks.
- Fix recycling data for plural fragments; i.e. return an array with the sam object identity if the data hasn’t changed.
- Add support for batched
@stream
’ed responses. - Internally renamed
useLegacyPaginationFragment
tousePaginationFragment
. - Potentially Breaking
preloadQuery
will error if called during render.- Remove new connection model experimental code.
- We know check for “active” instead of queries in “flight” when determining when to suspend. An operation may be indefinitely in flight (e.g. a live query, or a GraphQL Subscription), but it’s only “active” if it’s actively receiving payloads, e.g. during
@stream
ing or@defer
.