NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4032 most downloaded on npm
A fully-featured caching GraphQL client.
Last release 16 days ago
18 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
27 versions withdrawn
withdrawn after publishing
7 years old
727 releases · first in 2019
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix race condition in @apollo/client/link/context that could leak subscriptions if the subscription is cancelled before operation.setContext is called
Fix race condition in @apollo/client/link/context that could leak subscriptions if the subscription is cancelled before operation.setContext is called. <br/>
@sofianhn in #8399
Prefer existing.pageInfo.startCursor and endCursor (if defined) in read function of relayStylePagination policies. <br/>
@benjamn in #8438
Fix policy merging bug when calling cache.policies.addTypePolicies multiple times for the same type policy. @Banou26 in #8361
Use export ... from syntax to re-export graphql-tag named exports, making tree-shaking easier for some bundlers. @benjamn in #8221
export ... from syntax to re-export graphql-tag named exports, making tree-shaking easier for some bundlers. <br/>
@benjamn in #8221Add "sideEffects": false to all generated/published package.json files, to improve dead code elimination for nested entry points like @apollo/client/c
Make useReactiveVar(rv) recheck the latest rv() value in its useEffect callback, and immediately update state if the value has already changed, rather
Prevent undefined mutation result in useMutation. @jcreighton in #8018
Prevent undefined mutation result in useMutation. <br/>
@jcreighton in #8018
Fix useReactiveVar not rerendering for successive synchronous calls. <br/>
@brainkim in #8022
Support batchDebounce option for BatchLink and BatchHttpLink. <br/>
@dannycochran in #8024
Increment queryInfo.lastRequestId only when making a network request through the ApolloLink chain, rather than every time fetchQueryByPolicy is called
Increment queryInfo.lastRequestId only when making a network request through the ApolloLink chain, rather than every time fetchQueryByPolicy is called. <br/>
@dannycochran in #7956
During server-side rendering, allow initial useQuery calls to return final { loading: false, data } results when the cache already contains the necessary data. <br/>
@benjamn in #7983
Adjust TypeScript types to allow keyFields and keyArgs functions to return false. @CarsonF and @benjamn in #7900
keyFields and keyArgs functions to return false. <br/>
@CarsonF and @benjamn in #7900Prevent RenderPromises memory leak by calling renderPromises.clear() after getMarkupFromTree finishes. <br/>
@benjamn in #7943
Cancel pending notify timeout when stopping a QueryInfo object. <br/>
@hollandThomas in #7935
Fix infinite rendering bug related to useSubscription. <br/>
@brainkim in #7917
Add missing context option to useSubscription. @jcreighton in #7860
Add missing context option to useSubscription. <br />
@jcreighton in #7860
Remove unnecessary TypeScript global Observable<T>["@@observable"] method declaration. <br/>
@benjamn in #7888
Prevent skipped/observerless ObservableQuerys from being refetched by refetchQueries. <br/>
@dannycochran in #7877
Maintain serial ordering of asyncMap mapping function calls, and prevent potential unhandled Promise rejection errors. @benjamn in #7818
Maintain serial ordering of asyncMap mapping function calls, and prevent potential unhandled Promise rejection errors. <br/>
@benjamn in #7818
Relax incompatible children?: React.ReactElement field type in MockedProviderProps interface. <br/>
@kevinperaza in #7833
Your coding agent can read these notes before it upgrades. Set up the MCP server →