Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Sep 1, 2025

This PR contains the following updates:

Package Change Age Confidence
apollo-upload-client ^17.0.0 -> ^19.0.0 age confidence
@types/apollo-upload-client (source) 17.0.5 -> 19.0.0 age confidence

Release Notes

jaydenseric/apollo-upload-client (apollo-upload-client)

v19.0.0

Compare Source

Major
  • Updated Node.js support to ^20.9.0 || >=22.0.0.

  • Use the TypeScript v5.5+ JSDoc tag @import to import types in modules. To migrate: Upgrade TypeScript to v5.5+.

  • Updated the peer dependency @apollo/client to ^4.0.0, fixing #​359.

  • Added a new peer dependency rxjs at ^7.3.0. This is an Apollo Client v4 requirement.

  • The function createUploadLink has been removed and the upload terminating Apollo Link is now the exported class UploadHttpLink that extends ApolloLink. To migrate:

    - import createUploadLink from "apollo-upload-client/createUploadLink.mjs";
    + import UploadHttpLink from "apollo-upload-client/UploadHttpLink.mjs";
    
      const terminatingLink =
    -   createUploadLink({
    +   new UploadHttpLink({
          // Options…
        });
  • Updated dev dependencies, some of which require newer Node.js versions than previously supported.

Minor
  • Added a new function createUploadLink option includeUnusedVariables defaulting to false to toggle including unused GraphQL variables in the request (similar to the Apollo BaseHttpLink option includeUnusedVariables), via #​348.
Patch
  • Avoid the deprecated Apollo Link HTTP utility function createSignalIfSupported.
  • Improved the upload terminating Apollo Link request handler code:
    • Moved all of it into a single constructed Observer that’s returned regardless of errors.
    • More type safe.
  • Updated the package scripts:
    • Reordered and renamed scripts.
    • Replaced npm run with node --run.
    • Target test modules with a glob.
  • Updated GitHub Actions CI config:
    • Updated workflow triggers.
    • Run checks in separate jobs.
    • Removed custom step names.
    • Updated actions/checkout to v5.
    • Updated actions/setup-node to v4.
    • Replaced npm run with node --run.
    • Run tests with Node.js v20, v22, v24.
  • Enabled the TypeScript compiler options noUnusedLocals and noUnusedParameters.
  • Migrated to the ESLint v9 CLI and “flat” config.
  • In tests, removed the no longer needed polyfill for the global File.
  • In tests, use ApolloLink.from instead of the deprecated Apollo Link utility function concat.
  • Improved internal comments.
  • Corrected the package field browserslist to match what’s documented in the readme.
  • Removed readme advice to consider polyfilling certain globals as they now exist in all supported environments.
  • Improved readme examples.
  • Fixed a typo in the changelog entry for v18.0.0.

v18.0.1

Compare Source

Patch
  • Corrected the function createUploadLink option uri type, fixing #​316.
  • Prefixed unused parameters with _, fixing #​317.
  • Fixed a typo in the changelog entry for v18.0.0.

v18.0.0

Compare Source

Major
  • Updated Node.js support to ^18.15.0 || >=20.4.0.

  • Updated the @apollo/client peer dependency to ^3.8.0.

  • Updated the extract-files dependency to v13.

    • React Native is no longer supported out of the box.

      The class ReactNativeFile is no longer exported, or matched by the function isExtractableFile.

      This class was bloating non React Native environments with an extra module, increasing bundle sizes when building and adding an extra step to ESM loading waterfalls in browsers.

      It’s the responsibility of Facebook to adhere to web standards and implement spec-complaint Blob, File, and FormData globals in the React Native environment.

      To migrate, React Native projects that are unable to use the standard globals can manually implement a class ReactNativeFile and match it with a custom function isReactNativeFile for use with the function createUploadLink option isExtractableFile.

    • “Plain” objects in the GraphQL operation that aren’t Object instances (e.g. Object.create(null)) are now also deep cloned when searching for extractable files.

  • Updated dev dependencies, some of which require newer Node.js versions than previously supported.

  • Use the Node.js test runner API and remove the dev dependency test-director.

  • Refactored tests to use the standard AbortController, AbortSignal, File, FormData, and Response APIs available in modern Node.js and removed the dev dependencies abort-controller, formdata-node, and node-fetch.

  • Public modules are now individually listed in the package files and exports fields.

  • Removed the package main index module; deep imports must be used. To migrate:

    - import {
    -   createUploadLink,
    -   formDataAppendFile,
    -   isExtractableFile
    - } from "apollo-upload-client";
    + import createUploadLink from "apollo-upload-client/createUploadLink.mjs";
    + import formDataAppendFile from "apollo-upload-client/formDataAppendFile.mjs";
    + import isExtractableFile from "apollo-upload-client/isExtractableFile.mjs";
  • Shortened public module deep import paths, removing the /public/. To migrate:

    - import createUploadLink from "apollo-upload-client/public/createUploadLink.js";
    + import createUploadLink from "apollo-upload-client/createUploadLink.mjs";
    
    - import formDataAppendFile from "apollo-upload-client/public/formDataAppendFile.js";
    + import formDataAppendFile from "apollo-upload-client/formDataAppendFile.mjs";
    
    - import isExtractableFile from "apollo-upload-client/public/isExtractableFile.js";
    + import isExtractableFile from "apollo-upload-client/isExtractableFile.mjs";
  • The API is now ESM in .mjs files instead of CJS in .js files, accessible via import but not require.

  • Implemented TypeScript types via JSDoc comments.

    Types published in @types/apollo-upload-client should no longer be used.

    Projects must configure TypeScript to use types from the ECMAScript modules that have a // @​ts-check comment:

  • Internally, use the function selectHttpOptionsAndBodyInternal that was added in @apollo/client v3.5.5.

Minor
  • Added a new option print for the function createUploadLink, to customize how the GraphQL query or mutation AST prints to a string for transport. It works like the same option for HttpLink.
Patch
  • Updated dev dependencies.
  • Simplified dev dependencies and config for ESLint.
  • Integrated the ESLint plugin eslint-plugin-optimal-modules.
  • Check TypeScript types via a new package types script.
  • Removed the jsdoc-md dev dependency and the related package scripts, replacing the readme “API” section with a manually written “Exports” section.
  • Updated the package.json field repository to conform to new npm requirements.
  • Updated GitHub Actions CI config:
    • The workflow still triggers on push, but no longer on pull request.
    • The workflow can now be manually triggered.
    • Run tests with Node.js v18, v20, v21.
    • Updated actions/checkout to v4.
    • Updated actions/setup-node to v3.
  • Use the node: URL scheme for Node.js builtin module imports.
  • Reorganized the test file structure.
  • In tests, for objects with the property headers that as of @apollo/client v3.7.0 is a null-prototype object, use the assertion deepEqual instead of deepStrictEqual.
  • Tweaked code for type safety.
  • Updated documentation, including link URLs.
  • Refactored example code in the readme.
  • Removed the readme badges.

Configuration

📅 Schedule: Branch creation - "before 7am on Tuesday,before 7am on Wednesday" in timezone Australia/Sydney, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/apollo-upload-client-19.x branch from 5290d18 to 92bf890 Compare September 2, 2025 16:53
@renovate renovate bot force-pushed the renovate/apollo-upload-client-19.x branch from 92bf890 to 19cc013 Compare September 29, 2025 16:43
@renovate renovate bot force-pushed the renovate/apollo-upload-client-19.x branch from 19cc013 to ec3e938 Compare October 6, 2025 18:52
@socket-security
Copy link

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedapollo-upload-client@​17.0.0 ⏵ 19.0.09910010084 +4100
Updated@​types/​apollo-upload-client@​17.0.5 ⏵ 19.0.0100 +1100100 +35100 +25100

View full report

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants