@apollo/client
Advanced tools
Changelog
3.11.3
#11984 5db1659
Thanks @jerelmiller! - Fix an issue where multiple fetches with results that returned errors would sometimes set the data
property with an errorPolicy
of none
.
#11974 c95848e
Thanks @jerelmiller! - Fix an issue where fetchMore
would write its result data to the cache when using it with a no-cache
fetch policy.
#11974 c95848e
Thanks @jerelmiller! - Fix an issue where executing fetchMore
with a no-cache
fetch policy could sometimes result in multiple network requests.
#11974 c95848e
Thanks @jerelmiller! -
When calling fetchMore
with a query that has a no-cache
fetch policy, fetchMore
will now throw if an updateQuery
function is not provided. This provides a mechanism to merge the results from the fetchMore
call with the query's previous result.
Changelog
3.11.2
38c0a2c
Thanks @jerelmiller! - Fix missing getServerSnapshot
error when using useSubscription
on the server.Changelog
3.11.1
#11969 061cab6
Thanks @jerelmiller! - Remove check for window.__APOLLO_CLIENT__
when determining whether to connect to Apollo Client Devtools when connectToDevtools
or devtools.enabled
is not specified. This now simply checks to see if the application is in development mode.
#11971 ecf77f6
Thanks @jerelmiller! - Prevent the setTimeout
for suggesting devtools from running in non-browser environments.
Changelog
3.11.0
#11789 5793301
Thanks @phryneas! - Changes usages of the GraphQLError
type to GraphQLFormattedError
.
This was a type bug - these errors were never GraphQLError
instances
to begin with, and the GraphQLError
class has additional properties that can
never be correctly rehydrated from a GraphQL result.
The correct type to use here is GraphQLFormattedError
.
Similarly, please ensure to use the type FormattedExecutionResult
instead of ExecutionResult
- the non-"Formatted" versions of these types
are for use on the server only, but don't get transported over the network.
#11626 228429a
Thanks @phryneas! - Call nextFetchPolicy
with "variables-changed" even if there is a fetchPolicy
specified.
Previously this would only be called when the current fetchPolicy
was equal to the fetchPolicy
option or the option was not specified. If you use nextFetchPolicy
as a function, expect to see this function called more often.
Due to this bug, this also meant that the fetchPolicy
might be reset to the initial fetchPolicy
, even when you specified a nextFetchPolicy
function. If you previously relied on this behavior, you will need to update your nextFetchPolicy
callback function to implement this resetting behavior.
As an example, if your code looked like the following:
useQuery(QUERY, {
nextFetchPolicy(currentFetchPolicy, info) {
// your logic here
}
);
Update your function to the following to reimplement the resetting behavior:
useQuery(QUERY, {
nextFetchPolicy(currentFetchPolicy, info) {
if (info.reason === 'variables-changed') {
return info.initialFetchPolicy;
}
// your logic here
}
);
#11923 d88c7f8
Thanks @jerelmiller! - Add support for subscribeToMore
function to useQueryRefHandlers
.
#11854 3812800
Thanks @jcostello-atlassian! - Support extensions in useSubscription
#11923 d88c7f8
Thanks @jerelmiller! - Add support for subscribeToMore
function to useLoadableQuery
.
#11863 98e44f7
Thanks @phryneas! - Reimplement useSubscription
to fix rules of React violations.
#11869 a69327c
Thanks @phryneas! - Rewrite big parts of useQuery
and useLazyQuery
to be more compliant with the Rules of React and React Compiler
#11936 1b23337
Thanks @jerelmiller! - Add the ability to specify a name for the client instance for use with Apollo Client Devtools. This is useful when instantiating multiple clients to identify the client instance more easily. This deprecates the connectToDevtools
option in favor of a new devtools
configuration.
new ApolloClient({
devtools: {
enabled: true,
name: "Test Client",
},
});
This option is backwards-compatible with connectToDevtools
and will be used in the absense of a devtools
option.
#11923 d88c7f8
Thanks @jerelmiller! - Add support for subscribeToMore
function to useBackgroundQuery
.
#11930 a768575
Thanks @jerelmiller! - Deprecates experimental schema testing utilities introduced in 3.10 in favor of recommending @apollo/graphql-testing-library
.
#11951 0de03af
Thanks @phryneas! - add React 19 RC to peerDependencies
#11927 2941824
Thanks @phryneas! - Add restart
function to useSubscription
.
#11949 4528918
Thanks @alessbell! - Remove deprecated watchFragment
option, canonizeResults
#11937 78332be
Thanks @phryneas! - createSchemaFetch
: simulate serialized errors instead of an ApolloError
instance
#11902 96422ce
Thanks @phryneas! - Add cause
field to ApolloError
.
#11806 8df6013
Thanks @phryneas! - MockLink: add query default variables if not specified in mock request
#11926 3dd6432
Thanks @phryneas! - watchFragment
: forward additional options to diffOptions
#11946 7d833b8
Thanks @jerelmiller! - Fix issue where mutations were not accessible by Apollo Client Devtools in 3.11.0-rc.0.
#11944 8f3d7eb
Thanks @sneyderdev! - Allow IgnoreModifier
to be returned from a optimisticResponse
function when inferring from a TypedDocumentNode
when used with a generic argument.
#11954 4a6e86a
Thanks @phryneas! - Document (and deprecate) the previously undocumented errors
property on the useQuery
QueryResult
type.
#11719 09a6677
Thanks @phryneas! - Allow wrapping createQueryPreloader
#11921 70406bf
Thanks @phryneas! - add ignoreResults
option to useSubscription
Changelog
3.11.0-rc.2
#11951 0de03af
Thanks @phryneas! - add React 19 RC to peerDependencies
#11937 78332be
Thanks @phryneas! - createSchemaFetch
: simulate serialized errors instead of an ApolloError
instance
#11944 8f3d7eb
Thanks @sneyderdev! - Allow IgnoreModifier
to be returned from a optimisticResponse
function when inferring from a TypedDocumentNode
when used with a generic argument.
#11954 4a6e86a
Thanks @phryneas! - Document (and deprecate) the previously undocumented errors
property on the useQuery
QueryResult
type.