#12675 8f1d974 Thanks @phryneas! - ObservableQuery no longer has a queryId property.
ApolloClient.getObservableQueries no longer returns a Map<string, ObservableQuery>, but a Set<ObservableQuery>.
#12647 a70fac6 Thanks @phryneas! - ObservableQuerys will now only be registered with the ApolloClient while they
have subscribers.
That means that ApolloClient.getObservableQueries and ApolloClient.refetchQueries
will only be able to return/refetch queries that have at least one subscriber.
This changes the previous meaning of active and inactive queries:
inactive queries are queries with a subscriber that are skipped from a
React hook or have a fetchPolicy of standbyactive queries are queries with at least one subscriber that are not skipped or in standby.ObservableQuerys without subscribers but with an active ongoing network request
(e.g. caused by calling reobserve) will be handled as if they had a subscriber
for the duration of the query.
#12678 91a876b Thanks @jerelmiller! - queryRefs created by preloadQuery no longer have a .toPromise() function. Instead preloadQuery now has a toPromise function that accepts a queryRef and will resolve when the underlying promise has been resolved.
const queryRef = preloadQuery(query, options);
- await queryRef.toPromise();
+ await preloadQuery.toPromise(queryRef);
#12647 a70fac6 Thanks @phryneas! - ApolloClient.stop() now cleans up more agressively to prevent memory leaks:
ObservableQuery instances by emitting a completed event."QueryManager stopped while query was in flight".Fetched April 11, 2026