Releases: apollographql/apollo-client
v3.7.7
Patch Changes
-
#10502
315faf9ca
Thanks @jerelmiller! - Log a warning to the console when a mock passed toMockedProvider
orMockLink
cannot be matched to a query during a test. This makes it easier to debug user errors in the mock setup, such as typos, especially if the query under test is using anerrorPolicy
set toignore
, which makes it difficult to know that a match did not occur. -
#10499
9e54f5dfa
Thanks @phryneas! - Allow the execution function returned byuseLazyQuery
to change the query. -
#10362
14a56b105
Thanks @mccraveiro! - Fix error when server returns an error and we are also querying for a local field
v3.7.6
Patch Changes
- #10470
47435e879
Thanks @alessbell! - Bumps TypeScript to4.9.4
(previously4.7.4
) and updates types to account for changes in TypeScript 4.8 by propagating contstraints on generic types. Technically this makes some types stricter as attempting to passnull|undefined
into certain functions is now disallowed by TypeScript, but these were never expected runtime values in the first place.
This should only affect you if you are wrapping functions provided by Apollo Client with your own abstractions that pass in their generics as type arguments, in which case you might get an error likeerror TS2344: Type 'YourGenericType' does not satisfy the constraint 'OperationVariables'
. In that case, make sure thatYourGenericType
is restricted to a type that only accepts objects viaextends
, likeRecord<string, any>
or@apollo/client
'sOperationVariables
:
import {
QueryHookOptions,
QueryResult,
useQuery,
+ OperationVariables,
} from '@apollo/client';
- export function useWrappedQuery<T, TVariables>(
+ export function useWrappedQuery<T, TVariables extends OperationVariables>(
query: DocumentNode,
queryOptions: QueryHookOptions<T, TVariables>
): QueryResult<T, TVariables> {
const [execute, result] = useQuery<T, TVariables>(query);
}
-
#10408
55ffafc58
Thanks @zlrlo! - fix: modify BatchHttpLink to have a separate timer for each different batch key -
#9573
4a4f48dda
Thanks @vladar! - Improve performance of local resolvers by only executing selection sets that contain an@client
directive. Previously, local resolvers were executed even when the field did not contain@client
. While the result was properly discarded, the unncessary work could negatively affect query performance, sometimes signficantly.
v3.7.5
Patch Changes
-
#10458
b5ccef229
Thanks @lennyburdette! - PassesgetServerSnapshot
touseSyncExternalStore
so that it doesn't trigger aMissing getServerSnapshot
error when usinguseFragment_experimental
on the server. -
#10471
895ddcb54
Thanks @alessbell! - More robust type definition forheaders
property passed tocreateHttpLink
-
#10321
bbaa3ef2d
Thanks @alessbell! - Refetch should not return partial data witherrorPolicy: none
andnotifyOnNetworkStatusChange: true
. -
#10469
328c58f90
Thanks @jerelmiller! - Add generic type defaults when usinguseFragment
to allow passingTData
directly to the function without needing to specifyTVars
.
v3.8.0-alpha.5
3.8.0-alpha.5
Patch Changes
- #10450
f8bc33387
Thanks @jerelmiller! - Add support for thesubscribeToMore
andclient
fields returned in theuseSuspenseQuery
result.
v3.8.0-alpha.4
3.8.0-alpha.4
Patch Changes
-
#10383
5c5ca9b01
Thanks @jerelmiller! - Ensure theonError
callback is called when theerrorPolicy
is set to "all" and partial data is returned. -
#10401
3e5b41a75
Thanks @jerelmiller! - Always throw network errors inuseSuspenseQuery
regardless of the seterrorPolicy
.
v3.7.4
Patch Changes
-
#10427
28d909cff
Thanks @jerelmiller! - Ensure in-flight promises executed byuseLazyQuery
are rejected whenuseLazyQuery
unmounts. -
#10383
5c5ca9b01
Thanks @jerelmiller! - Ensure theonError
callback is called when theerrorPolicy
is set to "all" and partial data is returned. -
#10425
86e35a6d2
Thanks @jerelmiller! - Prefer theonError
andonCompleted
callback functions passed to the execute function returned fromuseMutation
instead of calling both callback handlers.
v3.8.0-alpha.3
3.8.0-alpha.3
Patch Changes
- #10399
652a1ae08
Thanks @alessbell! - Silence useLayoutEffect warning when useSuspenseQuery runs on server
v3.8.0-alpha.2
3.8.0-alpha.2
Minor Changes
- #10346
3bcfc42d3
Thanks @jerelmiller! - Add the ability to allow@client
fields to be sent to the link chain.
v3.8.0-alpha.1
3.8.0-alpha.15
Patch Changes
-
#10888
1562a2f5a
Thanks @alessbell! - Updates dependency versions inpackage.json
by bumping:@wry/context
to^0.7.3
@wry/equality
to^0.5.6
@wry/trie
to^0.4.3
optimism
to^0.17.4
to 1. fix sourcemap warnings and 2. a Codesandbox sandpack (in-browser) bundler transpilation bug with an upstream optimism workaround.
3.8.0-alpha.14
3.8.0-alpha.13
Patch Changes
-
#10766
ffb179e55
Thanks @jerelmiller! - More robust typings for thedata
property returned fromuseSuspenseQuery
when usingreturnPartialData: true
or anerrorPolicy
ofall
orignore
.TData
now defaults tounknown
instead ofany
. -
#10809
49d28f764
Thanks @jerelmiller! - Fixed the ability to userefetch
andfetchMore
with React'sstartTransition
. The hook will now behave correctly by allowing React to avoid showing the Suspense fallback when these functions are wrapped bystartTransition
. This change deprecates thesuspensePolicy
option in favor ofstartTransition
.
3.8.0-alpha.12
3.8.0-alpha.11
Minor Changes
- #10567
c2ce6496c
Thanks @benjamn! - AllowApolloCache
implementations to specify default value forassumeImmutableResults
client option, improving performance for applications currently usingInMemoryCache
without configuringnew ApolloClient({ assumeImmutableResults: true })
Patch Changes
-
#10672
932252b0c
Thanks @jerelmiller! - Fix the compatibility betweenuseSuspenseQuery
and React'suseDeferredValue
andstartTransition
APIs to allow React to show stale UI while the changes to the variable cause the component to suspend.Breaking change
nextFetchPolicy
support has been removed fromuseSuspenseQuery
. If you are using this option, remove it, otherwise it will be ignored.
3.8.0-alpha.10
3.8.0-alpha.1
Patch Changes
- #10324
95eb228be
Thanks @jerelmiller! - Add@defer
support touseSuspenseQuery
.
v3.7.3
Patch Changes
-
#10334
7d923939d
Thanks @jerelmiller! - Better handle deferred queries that have cached or partial cached data for them -
#10368
46b58e976
Thanks @alessbell! - Fix: unblocks support for defer in mutationsIf the
@defer
directive is present in the document passed tomutate
, the Promise will resolve with the final merged data after the last multipart chunk has arrived in the response.