Skip to content

Releases: apollographql/apollo-client

v3.10.4

15 May 01:03
d773000
Compare
Choose a tag to compare

Patch Changes

  • #11838 8475346 Thanks @alex-kinokon! - Don’t prompt for DevTools installation for browser extension page

  • #11839 6481fe1 Thanks @jerelmiller! - Fix a regression in 3.9.5 where a merge function that returned an incomplete result would not allow the client to refetch in order to fulfill the query.

  • #11844 86984f2 Thanks @jerelmiller! - Honor the @nonreactive directive when using cache.watchFragment or the useFragment hook to avoid rerendering when using these directives.

  • #11824 47ad806 Thanks @phryneas! - Create branded QueryRef type without exposed properties.

    This change deprecates QueryReference in favor of a QueryRef type that doesn't expose any properties.
    This change also updates preloadQuery to return a new PreloadedQueryRef type, which exposes the toPromise function as it does today. This means that query refs produced by useBackgroundQuery and useLoadableQuery now return QueryRef types that do not have access to a toPromise function, which was never meant to be used in combination with these hooks.

    While we tend to avoid any types of breaking changes in patch releases as this, this change was necessary to support an upcoming version of the React Server Component integration, which needed to omit the toPromise function that would otherwise have broken at runtime.
    Note that this is a TypeScript-only change. At runtime, toPromise is still present on all queryRefs currently created by this package - but we strongly want to discourage you from accessing it in all cases except for the PreloadedQueryRef use case.

    Migration is as simple as replacing all references to QueryReference with QueryRef, so it should be possible to do this with a search & replace in most code bases:

    -import { QueryReference } from '@apollo/client'
    +import { QueryRef } from '@apollo/client'
    
    - function Component({ queryRef }: { queryRef: QueryReference<TData> }) {
    + function Component({ queryRef }: { queryRef: QueryRef<TData> }) {
      // ...
    }
  • #11845 4c5c820 Thanks @jerelmiller! - Remove @nonreactive directives from queries passed to MockLink to ensure they are properly matched.

  • #11837 dff15b1 Thanks @jerelmiller! - Fix an issue where a polled query created in React strict mode may not stop polling after the component unmounts while using the cache-and-network fetch policy.

v3.10.3

07 May 15:00
50da867
Compare
Choose a tag to compare

Patch Changes

v3.10.2

03 May 16:41
d290196
Compare
Choose a tag to compare

Patch Changes

  • #11821 2675d3c Thanks @jerelmiller! - Fix a regression where rerendering a component with useBackgroundQuery would recreate the queryRef instance when used with React's strict mode.

  • #11821 2675d3c Thanks @jerelmiller! - Revert the change introduced in
    3.9.10 via #11738 that disposed of queryRefs synchronously. This change caused too many issues with strict mode.

v3.10.1

24 Apr 18:42
7f53db9
Compare
Choose a tag to compare

Patch Changes

v3.10.0

24 Apr 16:03
5f65439
Compare
Choose a tag to compare

Minor Changes

Patch Changes

  • #11757 9825295 Thanks @phryneas! - Adjust useReadQuery wrapper logic to work with transported objects.

  • #11771 e72cbba Thanks @phryneas! - Wrap useQueryRefHandlers in wrapHook.

  • #11754 80d2ba5 Thanks @alessbell! - Export WatchFragmentOptions and WatchFragmentResult from main entrypoint and fix bug where this wasn't bound to the watchFragment method on ApolloClient.

v3.10.0-rc.1

15 Apr 23:17
a4c89f0
Compare
Choose a tag to compare
v3.10.0-rc.1 Pre-release
Pre-release

Minor Changes

Patch Changes

  • #11757 9825295 Thanks @phryneas! - Adjust useReadQuery wrapper logic to work with transported objects.

  • #11771 e72cbba Thanks @phryneas! - Wrap useQueryRefHandlers in wrapHook.

  • #11754 80d2ba5 Thanks @alessbell! - Export WatchFragmentOptions and WatchFragmentResult from main entrypoint and fix bug where this wasn't bound to the watchFragment method on ApolloClient.

v3.9.11

10 Apr 13:55
8bc7d4d
Compare
Choose a tag to compare

Patch Changes

  • #11769 04132af Thanks @jerelmiller! - Fix an issue where using skipToken or the skip option with useSuspenseQuery in React's strict mode would perform a network request.

v3.10.0-rc.0

02 Apr 20:58
7699f43
Compare
Choose a tag to compare
v3.10.0-rc.0 Pre-release
Pre-release

Minor Changes

v3.9.10

01 Apr 18:52
e8556c3
Compare
Choose a tag to compare

Patch Changes

  • #11738 b1a5eb8 Thanks @jerelmiller! - Fix an issue where rerendering useBackgroundQuery after the queryRef had been disposed, either via the auto dispose timeout or by unmounting useReadQuery, would cause the queryRef to be recreated potentially resulting in another network request.

  • #11738 b1a5eb8 Thanks @jerelmiller! - Allow queryRefs to be disposed of synchronously when a suspense hook unmounts. This prevents some situations where using a suspense hook with the same query/variables as the disposed queryRef accidentally used the disposed queryRef rather than creating a new instance.

  • #11670 cc5c03b Thanks @phryneas! - Bail out of executeSubSelectedArray calls if the array has 0 elements.

v3.9.9

22 Mar 19:44
6393537
Compare
Choose a tag to compare

Patch Changes

  • #11696 466ef82 Thanks @PiR1! - Immediately dispose of the queryRef if useBackgroundQuery unmounts before the auto dispose timeout kicks in.