v3.11.0
版本发布时间: 2024-07-23 07:41:54
apollographql/apollo-client最新发布版本:v3.12.0-alpha.0(2024-10-02 04:16:11)
Potentially Breaking Fixes
-
#11789
5793301
Thanks @phryneas! - Changes usages of theGraphQLError
type toGraphQLFormattedError
.This was a type bug - these errors were never
GraphQLError
instances to begin with, and theGraphQLError
class has additional properties that can never be correctly rehydrated from a GraphQL result. The correct type to use here isGraphQLFormattedError
.Similarly, please ensure to use the type
FormattedExecutionResult
instead ofExecutionResult
- 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! - CallnextFetchPolicy
with "variables-changed" even if there is afetchPolicy
specified.Previously this would only be called when the current
fetchPolicy
was equal to thefetchPolicy
option or the option was not specified. If you usenextFetchPolicy
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 initialfetchPolicy
, even when you specified anextFetchPolicy
function. If you previously relied on this behavior, you will need to update yournextFetchPolicy
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 } );
Minor Changes
-
#11923
d88c7f8
Thanks @jerelmiller! - Add support forsubscribeToMore
function touseQueryRefHandlers
. -
#11854
3812800
Thanks @jcostello-atlassian! - Support extensions in useSubscription -
#11923
d88c7f8
Thanks @jerelmiller! - Add support forsubscribeToMore
function touseLoadableQuery
. -
#11863
98e44f7
Thanks @phryneas! - ReimplementuseSubscription
to fix rules of React violations. -
#11869
a69327c
Thanks @phryneas! - Rewrite big parts ofuseQuery
anduseLazyQuery
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 theconnectToDevtools
option in favor of a newdevtools
configuration.new ApolloClient({ devtools: { enabled: true, name: "Test Client", }, });
This option is backwards-compatible with
connectToDevtools
and will be used in the absense of adevtools
option. -
#11923
d88c7f8
Thanks @jerelmiller! - Add support forsubscribeToMore
function touseBackgroundQuery
. -
#11930
a768575
Thanks @jerelmiller! - Deprecates experimental schema testing utilities introduced in 3.10 in favor of recommending@apollo/graphql-testing-library
.
Patch Changes
-
#11951
0de03af
Thanks @phryneas! - add React 19 RC topeerDependencies
-
#11927
2941824
Thanks @phryneas! - Addrestart
function touseSubscription
. -
#11949
4528918
Thanks @alessbell! - Remove deprecatedwatchFragment
option,canonizeResults
-
#11937
78332be
Thanks @phryneas! -createSchemaFetch
: simulate serialized errors instead of anApolloError
instance -
#11902
96422ce
Thanks @phryneas! - Addcause
field toApolloError
. -
#11806
8df6013
Thanks @phryneas! - MockLink: add query default variables if not specified in mock request -
#11926
3dd6432
Thanks @phryneas! -watchFragment
: forward additional options todiffOptions
-
#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! - AllowIgnoreModifier
to be returned from aoptimisticResponse
function when inferring from aTypedDocumentNode
when used with a generic argument. -
#11954
4a6e86a
Thanks @phryneas! - Document (and deprecate) the previously undocumentederrors
property on theuseQuery
QueryResult
type. -
#11719
09a6677
Thanks @phryneas! - Allow wrappingcreateQueryPreloader
-
#11921
70406bf
Thanks @phryneas! - addignoreResults
option touseSubscription