Patch Changes
-
#11838
8475346
Thanks @alex-kinokon! - Don’t prompt for DevTools installation for browser extension page -
#11839
6481fe1
Thanks @jerelmiller! - Fix a regression in 3.9.5 where a merge function that returned an incomplete result would not allow the client to refetch in order to fulfill the query. -
#11844
86984f2
Thanks @jerelmiller! - Honor the@nonreactive
directive when usingcache.watchFragment
or theuseFragment
hook to avoid rerendering when using these directives. -
#11824
47ad806
Thanks @phryneas! - Create brandedQueryRef
type without exposed properties.This change deprecates
QueryReference
in favor of aQueryRef
type that doesn't expose any properties.
This change also updatespreloadQuery
to return a newPreloadedQueryRef
type, which exposes thetoPromise
function as it does today. This means that query refs produced byuseBackgroundQuery
anduseLoadableQuery
now returnQueryRef
types that do not have access to atoPromise
function, which was never meant to be used in combination with these hooks.While we tend to avoid any types of breaking changes in patch releases as this, this change was necessary to support an upcoming version of the React Server Component integration, which needed to omit the
toPromise
function that would otherwise have broken at runtime.
Note that this is a TypeScript-only change. At runtime,toPromise
is still present on all queryRefs currently created by this package - but we strongly want to discourage you from accessing it in all cases except for thePreloadedQueryRef
use case.Migration is as simple as replacing all references to
QueryReference
withQueryRef
, so it should be possible to do this with a search & replace in most code bases:-import { QueryReference } from '@apollo/client' +import { QueryRef } from '@apollo/client' - function Component({ queryRef }: { queryRef: QueryReference<TData> }) { + function Component({ queryRef }: { queryRef: QueryRef<TData> }) { // ... }
-
#11845
4c5c820
Thanks @jerelmiller! - Remove@nonreactive
directives from queries passed toMockLink
to ensure they are properly matched. -
#11837
dff15b1
Thanks @jerelmiller! - Fix an issue where a polled query created in React strict mode may not stop polling after the component unmounts while using thecache-and-network
fetch policy.