Apollo Upload Client Versions Save

A terminating Apollo Link for Apollo Client that fetches a GraphQL multipart request if the GraphQL variables contain files (by default FileList, File, or Blob instances), or else fetches a regular GraphQL POST or GET request (depending on the config and GraphQL operation).

v14.0.0

3 years ago

Major

  • Updated Node.js support to ^10.17.0 || ^12.0.0 || >= 13.7.0.
  • Updated dependencies, some of which (only dev dependencies) require newer Node.js versions than previously supported.
  • Added a package exports field with conditional exports to support native ESM in Node.js and keep internal code private, whilst avoiding the dual package hazard. Published files have been reorganized, so previously undocumented deep imports will need to be rewritten according to the newly documented paths.
  • Support @apollo/client v3, fixing #174 via #175.

Patch

  • Added the graphql peer dependency to support a wider range of package managers, via #196.
  • Removed Node.js v13 and added v14 to the versions tested in GitHub Actions.
  • Simplified the GitHub Actions CI config with the npm install-test command.
  • Use Babel config overrides to ensure .js files are parsed as scripts, eliminating Babel interopRequireDefault helpers from transpilation output.
  • Prettier code examples in source JSDoc.
  • Improved the type ReactNativeFileSubstitute code example.
  • Updated EditorConfig.
  • Improved the documentation about gotchas when inspecting network requests in React Native, via #193.
  • Changed code examples to use import instead of require.

v13.0.0

4 years ago

Major

  • Updated Node.js support from v8.10+ to v10+.
  • Updated dependencies, some of which require Node.js v10+.

Minor

  • Support uploading files from a server environment, fixing #172 via #179 and #184.
    • Added createUploadLink options:
      • isExtractableFile
      • FormData
      • formDataAppendFile
    • Added exports for the new createUploadLink option defaults:
      • isExtractableFile
      • formDataAppendFile

Patch

  • Removed the now redundant eslint-plugin-import-order-alphabetical dev dependency.
  • Added a size-limit dev dependency.
  • Stop using husky and lint-staged.
  • Ensure GitHub Actions CI runs for pull requests.
  • Use strict mode for scripts.
  • Move Babel config from babel.config.js to src/.babelrc.json.
  • Improved the package prepare:prettier and test:prettier scripts.
  • Configured Prettier option semi to the default, true.
  • Removed package-lock.json from .gitignore and .prettierignore as it’s disabled in .npmrc anyway.
  • Updated external documentation link URLs.
  • Replaced “Apollo Engine” with “Apollo Graph Manager” in comments.
  • Improved the examples in the readme.

v12.1.0

4 years ago

Minor

  • Setup GitHub Sponsors funding:
    • Added .github/funding.yml to display a sponsor button in GitHub.
    • Added a package.json funding field to enable npm CLI funding features.

v12.0.0

4 years ago

Major

  • Updated Node.js support from v8.5+ to v8.10+, to match what the eslint dev dependency now supports. This is unlikely to be a breaking change for the published package.

Patch

  • Updated dev dependencies.
  • Added the eslint-plugin-jsdoc dev dependency.
  • Replaced the size-limit dev dependency with @size-limit/preset-small-lib.
  • Only create a default AbortController instance if signal is not already set in fetch options, fixing #162 via #169.
  • Use GitHub Actions instead of Travis for CI.
  • Clarified that Opera Mini isn’t supported in the Browserslist queries and readme “Support” section.
  • Documented polyfills to consider in the readme “Support” section.
  • Updated examples to use @apollo/react-hooks.

v11.0.0

4 years ago

Major

  • Updated Node.js support from v6+ to v8.5+.

Minor

Patch

v10.0.1

5 years ago

Patch

  • Updated dependencies.
  • Reduced the size of the published package.json by moving dev tool config to files. This also prevents editor extensions such as Prettier and ESLint from detecting config and attempting to operate when opening package files installed in node_modules.
  • Simplified the prepublishOnly script.
  • Add tips for React Native gotchas, via #135.
  • Updated the package description to mention that the upload link is terminating and clarified in the setup instructions that there can only be 1 terminating Apollo Link, via #147.
  • Improve setup instructions for Apollo Boost.

v10.0.0

5 years ago

Major

  • Updated the extract-files dependency to v5:
    • The original operation object is no longer modified when it contains files, fixing #81.
    • If the same file is used in multiple locations of an operation it is only uploaded once.

Patch

  • Updated dependencies.
  • Updated package scripts and config for the new husky version.
  • Updated Node.js and browser support documentation in the readme.
  • Use jsDelivr for the readme logo instead of RawGit as they are shutting down.

v9.1.0

5 years ago

Minor

Patch

v9.0.0

5 years ago

Major

  • Made apollo-link a dependency, instead of a peer dependency.
  • Removed the package module entry and the "ESM" build, which was .js and not proper native ESM for Node.js via .mjs as Apollo dependencies don’t support it.

Minor

Patch

  • Updated dependencies.
  • Use the new extract-files API.
  • Use jsdoc-md to generate readme API docs from source JSDoc, which has been improved.
  • Readme examples updated to use the react-apollo Mutation component instead of the graphql decorator.
  • Readme examples use CJS instead of ESM as this project does not support native ESM (due to a lack of support in Apollo dependencies) and we shouldn’t assume everyone uses Babel.
  • Updated package description.
  • Added package tags.
  • Added a package test:size script, using size-limit to guarantee < 1 KB CJS bundle sizes.
  • Lint .yml files.
  • Refactored package scripts and removed the npm-run-all dev dependency.
  • Removed a temporary workaround for a fixed Babel CLI bug.
  • Ensure the readme Travis build status badge only tracks master branch.
  • Use Badgen for the readme npm version badge.

v8.1.0

5 years ago
  • Updated dependencies.
  • Use .prettierignore to defer package.json formatting to npm.
  • Renamed .babelrc.js to babel.config.js and simplified ESLint ignore config.
  • Improved linting with eslint-config-env.
  • Use the .mjs extension for source.
  • Added JSDoc comments to source.
  • Refactored package scripts:
    • Use prepare to support installation via Git (e.g. npm install jaydenseric/apollo-upload-client).
    • Remove rimraf and cross-env dev dependencies. Only *nix environments will be supported for contributing.
    • Removed watch and fix scripts.
  • Compact package repository field.
  • Setup Travis CI.
  • Readme badge changes to deal with shields.io unreliability:
    • Removed the licence badge. The licence can be found in package.json and rarely changes.
    • Removed the Github issues and stars badges. The readme is most viewed on Github anyway.
    • Added the more reliable build status badge provided by Travis and placed it first as it loads the quickest.