Skip to content

Releases: apollographql/apollo-client

v3.7.7

03 Feb 18:24
676e11e
Compare
Choose a tag to compare

Patch Changes

  • #10502 315faf9ca Thanks @jerelmiller! - Log a warning to the console when a mock passed to MockedProvider or MockLink 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 an errorPolicy set to ignore, which makes it difficult to know that a match did not occur.

  • #10499 9e54f5dfa Thanks @phryneas! - Allow the execution function returned by useLazyQuery 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

31 Jan 20:27
9f0e298
Compare
Choose a tag to compare

Patch Changes

  • #10470 47435e879 Thanks @alessbell! - Bumps TypeScript to 4.9.4 (previously 4.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 pass null|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 like error TS2344: Type 'YourGenericType' does not satisfy the constraint 'OperationVariables'. In that case, make sure that YourGenericType is restricted to a type that only accepts objects via extends, like Record<string, any> or @apollo/client's OperationVariables:
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

24 Jan 20:26
49ffcfa
Compare
Choose a tag to compare

Patch Changes

  • #10458 b5ccef229 Thanks @lennyburdette! - Passes getServerSnapshot to useSyncExternalStore so that it doesn't trigger a Missing getServerSnapshot error when using useFragment_experimental on the server.

  • #10471 895ddcb54 Thanks @alessbell! - More robust type definition for headers property passed to createHttpLink

  • #10321 bbaa3ef2d Thanks @alessbell! - Refetch should not return partial data with errorPolicy: none and notifyOnNetworkStatusChange: true.

  • #10402 0b07aa955 Thanks @Hugodby! - Improve context types

  • #10469 328c58f90 Thanks @jerelmiller! - Add generic type defaults when using useFragment to allow passing TData directly to the function without needing to specify TVars.

v3.8.0-alpha.5

03 Aug 09:55
5b90b1b
Compare
Choose a tag to compare
v3.8.0-alpha.5 Pre-release
Pre-release

3.8.0-alpha.5

Patch Changes

  • #10450 f8bc33387 Thanks @jerelmiller! - Add support for the subscribeToMore and client fields returned in the useSuspenseQuery result.

v3.8.0-alpha.4

03 Aug 09:55
69cee42
Compare
Choose a tag to compare
v3.8.0-alpha.4 Pre-release
Pre-release

3.8.0-alpha.4

Patch Changes

v3.7.4

13 Jan 19:27
98cf6d1
Compare
Choose a tag to compare

Patch Changes

  • #10427 28d909cff Thanks @jerelmiller! - Ensure in-flight promises executed by useLazyQuery are rejected when useLazyQuery unmounts.

  • #10383 5c5ca9b01 Thanks @jerelmiller! - Ensure the onError callback is called when the errorPolicy is set to "all" and partial data is returned.

  • #10425 86e35a6d2 Thanks @jerelmiller! - Prefer the onError and onCompleted callback functions passed to the execute function returned from useMutation instead of calling both callback handlers.

v3.8.0-alpha.3

03 Aug 09:55
c357562
Compare
Choose a tag to compare
v3.8.0-alpha.3 Pre-release
Pre-release

3.8.0-alpha.3

Patch Changes

v3.8.0-alpha.2

03 Aug 09:55
4bacd74
Compare
Choose a tag to compare
v3.8.0-alpha.2 Pre-release
Pre-release

3.8.0-alpha.2

Minor Changes

v3.8.0-alpha.1

03 Aug 09:55
b37e596
Compare
Choose a tag to compare
v3.8.0-alpha.1 Pre-release
Pre-release

3.8.0-alpha.15

Patch Changes

3.8.0-alpha.14

3.8.0-alpha.13

Patch Changes

  • #10766 ffb179e55 Thanks @jerelmiller! - More robust typings for the data property returned from useSuspenseQuery when using returnPartialData: true or an errorPolicy of all or ignore. TData now defaults to unknown instead of any.

  • #10809 49d28f764 Thanks @jerelmiller! - Fixed the ability to use refetch and fetchMore with React's startTransition. The hook will now behave correctly by allowing React to avoid showing the Suspense fallback when these functions are wrapped by startTransition. This change deprecates the suspensePolicy option in favor of startTransition.

3.8.0-alpha.12

3.8.0-alpha.11

Minor Changes

  • #10567 c2ce6496c Thanks @benjamn! - Allow ApolloCache implementations to specify default value for assumeImmutableResults client option, improving performance for applications currently using InMemoryCache without configuring new ApolloClient({ assumeImmutableResults: true })

Patch Changes

  • #10672 932252b0c Thanks @jerelmiller! - Fix the compatibility between useSuspenseQuery and React's useDeferredValue and startTransition 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 from useSuspenseQuery. 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

v3.7.3

15 Dec 18:42
2f79f03
Compare
Choose a tag to compare

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 mutations

    If the @defer directive is present in the document passed to mutate, the Promise will resolve with the final merged data after the last multipart chunk has arrived in the response.