Packages

@apollo/client

4.3.5 · 19 Oct 2026MIT5.3M / weekRepositoryHomepagenpmAtom feed

Upgrading @apollo/client from 3.3.10 to 3.14.1

136 releases in betweennotes for 135

Other targets from 3.3.10Latest4.3.5
49+
changes to make
0
advisories fixed
188+
new
290+
fixes

Counted from 135 of 136 release notes. Advisories are counted from the advisory database, in full.

Before you upgrade

Tick each one off as you go
  • breaking3.11.0
  • breaking3.11.0
  • breaking3.11.0
  • breaking3.10.4
  • breaking3.10.0
  • breaking3.10.0
  • breaking3.8.5
  • breaking3.8.0
  • breaking3.8.0
  • breaking3.8.0

Release by release

  1. 3.14.1no release note

  2. 3.14.0

    21 Aug 20258 new · 1 fix
    • new

      Add deprecations and warnings to remaining APIs changed in Apollo Client 4.0.

    • new

      Add warnings and deprecations for options and methods for all React APIs.

    • new

      Add preloadQuery.toPromise(queryRef) as a replacement for queryRef.toPromise(). queryRef.toPromise() has been removed in Apollo Client 4.0 in favor of preloadQuery.toPromise and is now considered deprecated.

    • new

      Version bump only to release latest as rc.

  3. 3.13.9

    29 Jul 20251 fix
    • fixed

      Fix a possible race condition on queries that were reobserved before they were subscribed to the first time.

  4. 3.13.8

    17 Apr 20251 fix
    • fixed

      Fix in-flight multipart urql subscription cancellation

  5. 3.13.7

    10 Apr 20251 fix
    • fixed

      Refactored cache emit logic for ObservableQuery. This should be an invisible change.

  6. 3.13.6

    4 Apr 20251 fix
    • fixed

      Keep ObservableQuery created by useQuery non-active before it is first subscribed

  7. 3.13.5

    20 Mar 20251 fix
    • fixed

      Fix an issue where a cache-first query would return the result for previous variables when a cache update is issued after simultaneously changing variables and skipping the query.

  8. 3.13.4

    10 Mar 20251 fix
    • fixed

      Use import star from rehackt to prevent issues with importing named exports from external CJS modules.

16 other lines we could not sort, mostly version bumps
  • The optional subscribeAndCount testing utility exported from @apollo/client/testing/core now takes a single generic TResult type parameter, instead of TData. This type will typically be inferred from the observable argument type, but if you have any explicit calls to subscribeAndCount<TData>(...) in your own codebase, you may need to adjust those calls accordingly.

    3.7.0
  • Calling fetchMore for queries using the cache-and-network or network-only fetch policies will no longer trigger additional network requests when cache results are complete. Instead, those complete cache results will be delivered as if using the cache-first fetch policy.

    3.6.0
  • Reimplement useQuery and useLazyQuery to use the proposed useSyncExternalStore API from React 18.

    3.6.0
  • The internal use of options.fetchBlockingPromise by useQuery and useLazyQuery may slightly delay the delivery of network results, compared to previous versions of Apollo Client. Since network results are already delivered asynchronously, these timing differences should not be disruptive in most cases. Nevertheless, please open an issue if the timing differences are a problem for you (and you have no easy workaround).

    3.6.0
  • [Relevant if you use Apollo Client with React Native] Since Apollo Client v3.5.0, CommonJS bundles provided by @apollo/client use a .cjs file extension rather than .cjs.js, so Node.js won't interpret them as ECMAScript modules. While this change should be an implementation detail, it may cause problems for the Metro bundler used by React Native, whose resolver.sourceExts configuration does not include the cjs extension by default.

    3.5.4
  • Remove npm from dependencies, and avoid referencing graphql-js enum value.

    3.5.1
  • To avoid retaining sensitive information from mutation root field arguments, Apollo Client v3.4 automatically clears any ROOT_MUTATION fields from the cache after each mutation finishes. If you need this information to remain in the cache, you can prevent the removal by passing the keepRootFields: true option to client.mutate. ROOT_MUTATION result data are also passed to the mutation update function, so we recommend obtaining the results that way, rather than using keepRootFields: true, if possible.

    3.4.0
  • Internally, Apollo Client now controls the execution of development-only code using the __DEV__ global variable, rather than process.env.NODE_ENV. While this change should not cause any visible differences in behavior, it will increase your minified+gzip bundle size by more than 3.5kB, unless you configure your minifier to replace __DEV__ with a true or false constant, the same way you already replace process.env.NODE_ENV with a string literal like "development" or "production". For an example of configuring a Create React App project without ejecting, see this pull request for our React Apollo reproduction template.

    3.4.0
  • Internally, Apollo Client now uses namespace syntax (e.g. import * as React from "react") for imports whose types are re-exported (and thus may appear in .d.ts files). This change should remove any need to configure esModuleInterop or allowSyntheticDefaultImports in tsconfig.json, but might require updating bundler configurations that specify named exports of the react and prop-types packages, to include exports like createContext and createElement (example).

    3.4.0
  • Respect no-cache fetch policy (by not reading any data from the cache) for loading: true results triggered by notifyOnNetworkStatusChange: true.

    3.4.0

8 internal lines (docs, tests, tooling) left out.