npm / apollo-upload-client
apollo-upload-client
What changed in apollo-upload-client 9 to 20, from its official release notes, upgrade guides and advisories. Also covers @types/apollo-upload-client. Sources checked 2026-10-26.
25 breaking5 new APIs and options2 performance3 behavior and defaults3 tooling6 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initapollo-upload-client 203 changes
Breaking changes 1
Supported Node.js versions are now ^22.13.0 || ^24.0.0 || >=26.0.0.
Fixes and other changes 2
Updated the extract-files dependency to v14.
The peer dependency requirement now accepts graphql ^16.0.0 or ^17.0.0.
apollo-upload-client 197 changes
Breaking changes 6
The peer dependency requirement is now ^4.0.0.
The createUploadLink function was removed; use the exported UploadHttpLink class instead.
Modules use the TypeScript v5.5+ JSDoc tag @import to import types; upgrading TypeScript to v5.5+ is required to migrate.
Supported Node.js versions are now ^20.9.0 || >=22.0.0.
A new peer dependency at ^7.3.0 is required by Apollo Client v4.
The upload terminating Apollo Link is now the exported UploadHttpLink class, which extends ApolloLink.
New APIs and options 1
Added the includeUnusedVariables option, defaulting to false, to toggle including unused GraphQL variables in the request.
apollo-upload-client 189 changes
Breaking changes 6
The package main index module was removed; import public modules through deep import paths instead.
Public module deep import paths are shortened by removing /public/, and the module is available at the package root.
It no longer matches ReactNativeFile instances; React Native projects can use a custom function with createUploadLink’s isExtractableFile option.
Supported Node.js versions are now ^18.15.0 || >=20.4.0.
React Native is no longer supported out of the box; projects unable to use standard globals can provide a custom class and matching function.
The class is no longer exported or matched by isExtractableFile.
New APIs and options 1
The new print option customizes how the GraphQL query or mutation AST prints to a string for transport, like the HttpLink option.
Tooling 1
Types are now implemented via JSDoc comments in the ECMAScript modules; published @types/apollo-upload-client types should no longer be used.
Fixes and other changes 1
Objects in GraphQL operations that are not Object instances, such as Object.create(null), are now deep cloned when searching for extractable files.
apollo-upload-client 173 changes
Breaking changes 2
Supported Node.js versions are now ^12.22.0 || ^14.17.0 || >= 16.0.0.
The ./package export was removed; use the full package.json filename in a require path.
Behavior and default changes 1
The graphql peer dependency range is now 14 - 16.
apollo-upload-client 161 changes
Fixes and other changes 1
Reverted the more specific package main field path, changing the package entry point path.
apollo-upload-client 157 changes
Breaking changes 4
Changed from a dependency to a peer dependency.
Deep require paths within this public subpath must now include the
.jsfile extension.Internet Explorer is no longer supported.
Supported Node.js versions are now ^12.20 || >= 14.13.
Performance 1
The abort event listener is added with
once: trueto avoid a possible memory leak.
Tooling 1
Added a package script that checks whether the readme API docs are up to date with the source JSDoc.
Fixes and other changes 1
If the given abort controller signal is already aborted, the fetch is now immediately aborted.
apollo-upload-client 144 changes
Breaking changes 2
A package exports field with conditional exports supports native ESM in Node.js and keeps internal code private; previously undocumented deep imports must be rewritten using the newly documented paths.
Supported Node.js versions are now ^10.17.0 || ^12.0.0 || >= 13.7.0.
Tooling 1
Added graphql as a peer dependency to support a wider range of package managers.
Fixes and other changes 1
Support was added for @apollo/client v3.
apollo-upload-client 133 changes
Breaking changes 1
The minimum supported Node.js version changed from v8.10+ to v10+.
New APIs and options 2
Added as a createUploadLink option.
File uploads are now supported from a server environment.
apollo-upload-client 121 changes
Breaking changes 1
The supported Node.js version increased from v8.5+ to v8.10+.
apollo-upload-client 112 changes
Breaking changes 1
Supported Node.js versions changed from v6+ to v8.5+.
New APIs and options 1
Added support for Apollo Engine client awareness.
apollo-upload-client 101 changes
Behavior and default changes 1
A file used in multiple locations of an operation is uploaded only once.
apollo-upload-client 93 changes
Breaking changes 1
The package module entry and ESM build were removed; the package does not support native ESM for Node.js.
Performance 1
The package is marked side-effect free for bundlers, enabling tree-shaking.
Behavior and default changes 1
apollo-link is now a dependency instead of a peer dependency, changing how it is installed alongside the package.