Skip to content

Releases: jaydenseric/graphql-upload

Version 8.0.1

01 Nov 02:47
Compare
Choose a tag to compare

Patch

  • Updated dev dependencies.
  • Removed the package module field. Webpack by default resolves extensionless paths the same way Node.js in --experimental-modules mode does; .mjs files are preferred. Tools misconfigured or unable to resolve .mjs can get confused when module points to an .mjs ESM file and they attempt to resolve named imports from .js CJS files.
  • Updated package scripts and config for the new husky version.
  • Added a package browserslist field with the target Node.js version for @babel/preset-env and removed related config from babel.config.js.
  • Tests now log if the environment is CJS or ESM (--experimental-modules) and the NODE_ENV.
  • Fixed broken readme API documentation links.

Version 8.0.0

18 Sep 05:07
Compare
Choose a tag to compare

Major

  • New naming that drops “apollo” to reflect the independent and universal nature of the project, fixing #68:

    To migrate you project from apollo-upload-server@7.1.0 to graphql-upload@8.0.0:

    1. Run npm uninstall apollo-upload-server.
    2. Run npm install graphql-upload.
    3. Find and replace:
      • apolloUploadKoagraphqlUploadKoa.
      • apolloUploadExpressgraphqlUploadExpress.

Patch

  • Updated dependencies.
  • New project logo.

Version 7.1.0

04 Sep 03:07
Compare
Choose a tag to compare

Minor

Patch

  • Updated dev dependencies.

Version 7.0.0

17 Aug 13:06
Compare
Choose a tag to compare

Major

  • The processRequest function now requires a http.ServerResponse instance as its second argument.
  • Replaced the previously exported error classes with http-errors and snapshot tested error details, via #105.
  • No longer exporting the SPEC_URL constant.

Minor

  • Upload scalar promises now resolve with a createReadStream method instead of a stream property, via #92.
  • Accessing an Upload scalar promise resolved stream property results in a deprecation warning that recommends using createReadStream instead. It will be removed in a future release. Via #107.
  • An Upload scalar variable can now be used by multiple resolvers, via #92.
  • Multiple Upload scalar variables can now use the same multipart data, via #92.
  • Malformed requests containing invalid JSON for operations or map multipart fields cause an appropriate error with a 400 status instead of crashing the process, relating to #81 and #95.
  • Malformed requests missing operations, map and files, or just map and files, cause an appropriate error with a 400 status instead of hanging, fixing #96.
  • Tweaked GraphQLUpload scalar description to remove details about how it resolves on the server as they are irrelevant to API users.
  • Tweaked GraphQLUpload scalar error messages.

Patch

  • Updated dev dependencies.
  • Removed the npm-run-all dev dependency and made scripts and tests sync for easier debugging, at the cost of slightly longer build times.
  • Explicitly set processRequest default options instead of relying on busboy defaults.
  • Better organized project file structure.
  • Configured Prettier to lint .yml files.
  • Ensure the readme Travis build status badge only tracks master branch.

Version 6.0.0-alpha.1

21 Jul 04:55
Compare
Choose a tag to compare
Version 6.0.0-alpha.1 Pre-release
Pre-release

Big thanks to new collaborator @mike-marcacci for his help solving tricky bugs and edge-cases!

Major

Minor

  • Refactored package scripts to use prepare to support installation via Git (e.g. npm install jaydenseric/apollo-upload-server).

Patch

  • Updated dependencies.
  • Use single instead of double typographic quotes in error messages.
  • Use babel.config.js instead of .babelrc.js.
  • Enabled shippedProposals in @babel/preset-env config.
  • Improved testing:
    • Use tap instead of ava. Tests no longer transpile on the fly, are faster and AVA no longer dictates the Babel version.
    • Tests run against the actual dist .mjs and .js files in native ESM (--experimental-modules) and CJS environments.
    • Removed get-port dev dependency.
    • Added Express tests.
    • Test middleware error response status codes.
    • Test behavior of aborted HTTP requests.
    • Test that the app can respond if an upload is not handled.
    • Test files to upload are created in context, rather than using arbitrary project files, via #89.
  • Improved package.json scripts:
    • Leveraged npm-run-all more for parallelism and reduced noise.
    • Removed the clean script rimraf dev dependency in favour of native rm -rf. Leaner and faster; we only support *nix now for contributing anyway.
    • No longer use cross-env; contributors with Windows may setup and use a Bash shell.
    • Renamed the ESM environment variable to BABEL_ESM to be more specific.
    • Removed linting fix scripts.
    • Linting included in the test script; Travis CI will fail PR's with lint errors.
    • Custom watch script.
  • Improved ESLint config:
    • Simplified ESLint config with eslint-config-env.
    • Removed redundant eslint-plugin-ava dev dependency and config.
    • Undo overriding ESLint ignoring dotfiles by default as there are none now.
  • Use .prettierignore to leave package.json formatting to npm.
  • Tweaked package description and keywords.
  • Compact package repository field.
  • Improved documentation.
  • Readme badge changes to deal with shields.io unreliability:
    • Use the official Travis build status badge.
    • Use badgen.now.sh for the npm version badge.
    • 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.
  • changelog.md version entries now have “Major”, “Minor” and “Patch” subheadings.

Version 5.0.0

09 Mar 01:55
Compare
Choose a tag to compare

Major

  • graphql peer dependency range updated to ^0.13.1 for native ESM support via .mjs. It’s a breaking change despite being a semver patch.

Patch

  • Updated dependencies.
  • More robust npm scripts, with the ability to watch builds and tests together.
  • Fixed missing dev dependency for fetching in tests.
  • Use eslint-plugin-ava.
  • HTTPS package.json author URL.
  • New readme logo URL that doesn’t need to be updated every version.

Version 4.0.2

29 Jan 17:07
Compare
Choose a tag to compare

Patch

  • Temporary solution for importing CommonJS in .mjs, fixing reopened #40.

Version 4.0.1

29 Jan 14:38
Compare
Choose a tag to compare

Patch

  • Correct imports for vanilla Node.js --experimental-modules and .mjs support, fixing #40.

Version 4.0.0

29 Jan 02:51
Compare
Choose a tag to compare

Includes all the changes from:

Patch

  • Updated dependencies.
  • Simplified npm scripts.
  • Readme updates:
    • Documented Blob types, via #39.
    • Explained how to use processRequest for custom middleware.
    • Improved usage instructions.
    • Display oldest supported Node.js version.
    • Misc. tweaks including a simpler heading structure.

Version 4.0.0-alpha.3

15 Jan 01:14
Compare
Choose a tag to compare
Version 4.0.0-alpha.3 Pre-release
Pre-release

Minor

  • Updated peer dependencies to support graphql@0.12, via #36.

Patch

  • Updated dependencies.