@apollo/client
Advanced tools
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.
Changelog
3.11.0-rc.1
#11949 4528918
Thanks @alessbell! - Remove deprecated watchFragment
option, canonizeResults
#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.
Changelog
3.11.0-rc.0
#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
.
#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.
#11930 a768575
Thanks @jerelmiller! - Deprecates experimental schema testing utilities introduced in 3.10 in favor of recommending @apollo/graphql-testing-library
.
#11927 2941824
Thanks @phryneas! - Add restart
function to useSubscription
.
#11902 96422ce
Thanks @phryneas! - Add cause
field to ApolloError
.
#11806 8df6013
Thanks @phryneas! - MockLink: add query default variables if not specified in mock request
#11626 228429a
Thanks @phryneas! - Call nextFetchPolicy
with "variables-changed" even if there is a fetchPolicy
specified. (fixes #11365)
#11719 09a6677
Thanks @phryneas! - Allow wrapping createQueryPreloader
#11921 70406bf
Thanks @phryneas! - add ignoreResults
option to useSubscription
Changelog
3.10.8
1f0460a
Thanks @jerelmiller! - Allow undefined
to be returned from a cache.modify
modifier function when a generic type argument is used.Changelog
3.10.7
#11901 10a8c0a
Thanks @phryneas! - update canUseLayoutEffect
check to also allow for layout effects in React Native
#11861 1aed0e8
Thanks @henryqdineen! - Defend against non-serializable params in invariantWrappers
#11905 29755da
Thanks @phryneas! - Add .d.cts
files for cjs bundles
#11906 d104759
Thanks @phryneas! - chore: update TypeScript to 5.5