Releases: graphql/graphql-js
Releases · graphql/graphql-js
v16.7.1
v16.7.1 (2023-06-22)
📢 Big shout out to @phryneas, who managed to reproduce this issue and come up with this fix.
Bug Fix 🐞
- #3923 instanceOf: workaround bundler issue with
process.env
(@IvanGoncharov)
Committers: 1
- Ivan Goncharov(@IvanGoncharov)
v16.7.0
v16.7.0 (2023-06-21)
New Feature 🚀
- #3887 check "globalThis.process" before accessing it (@kettanaito)
Bug Fix 🐞
- #3707 Fix crash in node when mixing sync/async resolvers (backport of #3706) (@chrskrchr)
- #3838 Fix/invalid error propagation custom scalars (backport for 16.x.x) (@stenreijers)
Committers: 3
- Artem Zakharchenko(@kettanaito)
- Chris Karcher(@chrskrchr)
- Sten Reijers(@stenreijers)
v17.0.0-alpha.2
v17.0.0-alpha.2 (2022-09-22)
Breaking Change 💥
- #3622 fix: update remaining
GraphQLNonNull<GraphQLType>
codepoints toGraphQLNonNull<GraphQLNullableType>
(@yaacovCR) - #3621 change incorrect subscribe return type to a GraphQLError (@yaacovCR)
- #3620 align return types from execution and subscription (@yaacovCR)
- #3635 createSourceEventStream: remove deprecated positional argument overload (@yaacovCR)
- #3642 Remove 'devAssert' checks that duplicate TS types (@IvanGoncharov)
- #3643 Remove 'assertValidExecutionArguments' function (@IvanGoncharov)
- #3733 incrementalDelivery: remove singleResult wrapper (@yaacovCR)
New Feature 🚀
- #3597 Fix typing for
isNonNullType
(@yaacovCR) - #3605 Add new 'GraphQLSchema.getField' method (@IvanGoncharov)
- #3634 createSourceEventStream: introduce named arguments and deprecate positional arguments (@yaacovCR)
- #2757 Support returning async iterables from resolver functions (@IvanGoncharov)
- #3418 [RFC] Client Controlled Nullability experiment implementation w/o execution (@twof)
- #3684 parser: limit maximum number of tokens (@IvanGoncharov)
- #3659 Reference implementation of defer and stream spec (@robrichard)
- #3361 deploy full ESM with "type": "module" in "latest-esm" npm tag (@PabloSzx)
Bug Fix 🐞
- #3618 extendSchema: Do not modify standard directives (@IvanGoncharov)
- #3639 refactor: subscribe: introduce
buildPerEventExecutionContext
(@yaacovCR) - #3670 Fix: make public API compatible with 'exactOptionalPropertyTypes' (@IvanGoncharov)
- #3678 Parser: allow 'options' to explicitly accept undefined (@IvanGoncharov)
- #3720 Filter subsequent payloads when parent field is null (@robrichard)
- #3729 incrementalDelivery: fix iterable streaming with errors (@yaacovCR)
Docs 📝
Polish 💅
16 PRs were merged
- #3598 Refactor
GraphQL*Type
TS types to be more DRY (@yaacovCR) - #3627 Reuse GraphQLWrappingType in 'GraphQLType' definition (@IvanGoncharov)
- #3630 subscribe-test: extract
subscribeWithBadFn
function (@yaacovCR) - #3636 move
subscribe
code toexecute
file (@yaacovCR) - #3638 refactor: small refactors within execute (@yaacovCR)
- #3641 ESLint: error on function accepting more than 5 parameters (@IvanGoncharov)
- #3654 refactor: use
exeContext
strategically (@yaacovCR) - #3681 Fix coerceInputValue test name (@spawnia)
- #3680 validate: remove warning about throwing literal (@IvanGoncharov)
- #3683 polish: remove unnecessary Maybe (@yaacovCR)
- #3688 Replace all instances of
ObjMap<boolean>
with ES6 Set (@IvanGoncharov) - #3689 Remove superficial
.values()
and.entries()
calls (@IvanGoncharov) - #3690 Motivation: looked into this it as part of #3687 (@IvanGoncharov)
- #3655 polish: add tests for
expectPromise
andexpectEqualPromisesOrValues
(@yaacovCR) - #3696 polish: mapAsyncIterator (@yaacovCR)
- #3736 promiseForObject: convert to be async function (@IvanGoncharov)
Internal 🏠
36 PRs were merged
- #3596 benchmark: test performance cost of re-creating schema (@IvanGoncharov)
- #3602 gen-changelog: fix crash due to 'git rev-list' returning empty string (@IvanGoncharov)
- #3604 benchmark: various improvments to benchmark (@IvanGoncharov)
- #3608 Remove 'utf-8' as argument of
writeFileSync
(@IvanGoncharov) - #3610 resources: add new
localRepoPath
utility function (@IvanGoncharov) - #3611 diff-npm-package: move report into shared 'reports' folder (@IvanGoncharov)
- #3612 github actions: switch embedded JS to ESM (@IvanGoncharov)
- #3613 GH actions: fix 'checkForCommonlyIgnoredFiles' (@IvanGoncharov)
- #3614 Lint GitHub Actions (@IvanGoncharov)
- #3615 Update GitHub actions dependencies (@IvanGoncharov)
- #3623 diff-npm-package: create reports folder (@yaacovCR)
- #3625 benchmark: replace failing on context switching with warning (@IvanGoncharov)
- #3624 diff-npm-package: fix reports dir creation (@yaacovCR)
- #3626 ci: Fix imports in 'actions/github-script' (@IvanGoncharov)
- #3631 ci: speed up 'ci' workflow by removing unneeded internal dependencies (@IvanGoncharov)
- #3628 benchmark: add Windows compatibility (@yaacovCR)
- #3134 Async benchmarks (@robrichard)
- #3668 Cleanup words/files ignores in
cspell.yml
(@IvanGoncharov) - #3669 tsconfig: Explicitly list all type checking options (@IvanGoncharov)
- #3692 gen-changelog: Use
fetch
instead ofhttp.request
(@IvanGoncharov) - #3695 benchmark: use 'execOutput' from 'util.ts' (@IvanGoncharov)
- #3697 resources: Move
mkdirSync
intowriteGeneratedFile
(@IvanGoncharov) - #3698 resources: merge execOutput and exec into single function (@IvanGoncharov)
- [#3699](https://github.c...
v16.6.0
v16.6.0 (2022-08-16)
New Feature 🚀
- #3645 createSourceEventStream: introduce named arguments and deprecate positional arguments (@yaacovCR)
- #3702 parser: limit maximum number of tokens (@IvanGoncharov)
Bug Fix 🐞
- #3686 Workaround for codesandbox having bug with TS enums (@IvanGoncharov)
- #3701 Parser: allow 'options' to explicitly accept undefined (@IvanGoncharov)
Committers: 2
- Ivan Goncharov(@IvanGoncharov)
- Yaacov Rydzinski (@yaacovCR)
v17.0.0-alpha.1
v17.0.0-alpha.1 (2022-05-19)
Breaking Change 💥
- #3546 Drop support for node 12 and 17, update rest to latest minor version (@IvanGoncharov)
- #3547 Set TS 4.4 as minimal supported version (@IvanGoncharov)
- #3456 print: add spaces inside input object (@IvanGoncharov)
- #3552 Switch NPM package to support only ESM (@IvanGoncharov)
- #3570 Delete deprecated 'graphql/subscription' module (@IvanGoncharov)
- #3571 Remove deprecated
getOperationRootType
(@IvanGoncharov) - #3572 Remove deprecated
assertValidName
&isValidNameError
(@IvanGoncharov) - #3574 Remove deprecated
TypeInfo
argument ofvalidate
function (@IvanGoncharov) - #3575 Remove deprecate
getFieldDefFn
argument ofTypeInfo
constructor (@IvanGoncharov) - #3577 Drop deprecated positional arguments on GraphQLError (@IvanGoncharov)
- #3578 Remove dev asserts added temporary for v15 to v16 migration (@IvanGoncharov)
- #3579 Remove deprecated
*Enum
types (@IvanGoncharov) - #3580 Remove deprecated
getVisitFn
function (@IvanGoncharov) - #3582 Remove deprecate printError/formatError methods (@IvanGoncharov)
- #3594 Revert "Remove deprecate
getFieldDefFn
argument ofTypeInfo
const… (@IvanGoncharov) - #3595 Revert "Remove deprecated
TypeInfo
argument ofvalidate
function" (@IvanGoncharov)
Deprecation ⚠
- #3581 ASTVisitorKeyMap: drop deprecation notice (@IvanGoncharov)
New Feature 🚀
- #3554 Expose GraphQLErrorOptions type (@IvanGoncharov)
- #3453 fix(validate): no reusing root types (@thomasheyenbrock)
Bug Fix 🐞
Polish 💅
6 PRs were merged
- #3566 validateSchema: unify check of root types (@IvanGoncharov)
- #3567 validation-test: Test root type validation with multiple types (@IvanGoncharov)
- #3568 Refactor out
AccumulatorMap
fromgroupBy
(@IvanGoncharov) - #3569 invariant/devAssert: make typings of
condition
stricter (@IvanGoncharov) - #3583 tests: Use chai's
assert
instead ofinvariant
(@IvanGoncharov) - #3584 Speedup tests by ~15% by moving some
stripIgnoredCharacters
tests to fuzzing (@IvanGoncharov)
Internal 🏠
18 PRs were merged
- #3544 internal: add node@18 to supported versions and test it (@IvanGoncharov)
- #3545 package.json: Switch to alpha tag on NPM (@IvanGoncharov)
- #3548 ci: disable Codecov and measure test coverage on every run (@IvanGoncharov)
- #3549 ESLint: add 'shared-node-browser' environment (@IvanGoncharov)
- #3551 Add test watch script (@yaacovCR)
- #3555 Switch from shell's
cp
to 'fs.cpSync' in scripts (@IvanGoncharov) - #3557 Fully switch to
tsc
and removebabel
(@IvanGoncharov) - #3558 integrationTests: switch tests to TS (@IvanGoncharov)
- #3559 benchmark: rewrite benchmark in TS (@IvanGoncharov)
- #3560 diff-npm-packages: fix crash with ENOBUFS (@IvanGoncharov)
- #3562 resources: switch internal scripts to TS (@IvanGoncharov)
- #3585 internal: move
benchmark.ts
into resources folder (@IvanGoncharov) - #3586 Fix performance issue with ESLint (@IvanGoncharov)
- #3587 resources: mark node's modules with 'node:' prefix (@IvanGoncharov)
- #3588 Remove superficial ESLint config (@IvanGoncharov)
- #3589 Remove superficial ESLint config (@IvanGoncharov)
- #3590 resources: remove all usages of
require.main
(@IvanGoncharov) - #3591 Initial support of mutation testing with stryker-js (@IvanGoncharov)
Dependency 📦
2 PRs were merged
- #3553 Update deps (@IvanGoncharov)
- #3563 Update deps (@IvanGoncharov)
Committers: 4
- Ivan Goncharov(@IvanGoncharov)
- Laurin Quast(@n1ru4l)
- Thomas Heyenbrock(@thomasheyenbrock)
- Yaacov Rydzinski (@yaacovCR)
v16.5.0
v16.5.0 (2022-05-09)
New Feature 🚀
- #3565 Expose GraphQLErrorOptions type (#3554) (@IvanGoncharov)
Committers: 1
- Ivan Goncharov(@IvanGoncharov)
v16.4.0
v16.4.0 (2022-04-25)
New Feature 🚀
- #3465 refactor: use object for GraphQLError constructor (@n1ru4l)
- #3487 feat: expose getArgumentValues (@saihaj)
Bug Fix 🐞
Docs 📝
2 PRs were merged
- #3505 correct outdated documentation (@Ginhing)
- #3512 Update documentation on deprecated formatError(..) (@dwelch2344)
Polish 💅
3 PRs were merged
- #3522 tests(execution): add missing new lines (@IvanGoncharov)
- #3524 tests(printSchema): test omitting schema of common names (@IvanGoncharov)
- #3537 ESLint: disallow using node globals in src/tests (@IvanGoncharov)
Internal 🏠
26 PRs were merged
- #3468 ci: add stub action for canary releases on PRs (@IvanGoncharov)
- #3470 ci: implement canary releases on PRs (@IvanGoncharov)
- #3472 ci: remove NPM caching on canary release script (@IvanGoncharov)
- #3473 ci: Pass 'GITHUB_TOKEN' to GitHub CLI (@IvanGoncharov)
- #3475 ci: checkout repo in canary workflow (@IvanGoncharov)
- #3477 ci: fix & cleanup script for modifying NPM package into canary (@IvanGoncharov)
- #3479 ci: Add missing require to canary script (@IvanGoncharov)
- #3481 ci: fix missing PR number in canary release workflow (@IvanGoncharov)
- #3483 ci: fix missing PR number in canary release workflow (@IvanGoncharov)
- #3484 ci: Moving GH Action template syntax to env variables (@IvanGoncharov)
- #3486 ci: improve comment on canary releases (@IvanGoncharov)
- #3488 ci: Extract branch publishing into separate workflow (@IvanGoncharov)
- #3489 ci: use '.node-version' file to configure node version used for CI (@IvanGoncharov)
- #3491 ci: use separate workflows for 'push' and 'pull_request' (@IvanGoncharov)
- #3493 ci: remove unused 'workflow_id' input (@IvanGoncharov)
- #3496 ci: fix deprecation of canary package (@IvanGoncharov)
- #3497 ci: use environments to track deployments (@IvanGoncharov)
- #3502 ci: fix deployments of npm & deno branches (@IvanGoncharov)
- #3503 ci: Add '@github-actions' bot (@IvanGoncharov)
- #3523 github-actions-bot: replace 'octokit/request-action' action (@IvanGoncharov)
- #3525 github-actions-bot: Fix collapsing of unrelated comments (@IvanGoncharov)
- #3530 integrationTests/node: fix crash on Mac with M1 by using docker (@IvanGoncharov)
- #3534 github-actions-bot: fix publishing of canary releases (@IvanGoncharov)
- #3536 github-actions-bot: fix usage of NPM_CANARY_PR_PUBLISH_TOKEN (@IvanGoncharov)
- #3538 github-actions-bot: fix reply on commands (@IvanGoncharov)
- #3543 pass valid value to codecov config (@is2ei)
Dependency 📦
2 PRs were merged
- #3485 Update deps (@IvanGoncharov)
- #3533 Update deps (@IvanGoncharov)
Committers: 7
- David Glasser(@glasser)
- David Welch(@dwelch2344)
- Ginhing(@Ginhing)
- Horie Issei(@is2ei)
- Ivan Goncharov(@IvanGoncharov)
- Laurin Quast(@n1ru4l)
- Saihajpreet Singh(@saihaj)
v16.3.0
v16.3.0 (2022-01-26)
New Feature 🚀
- #3454 feat: allow providing an object to the GraphQLError constructor (@n1ru4l)
- #3464 Expose
getArgumentValues
as public API (@IvanGoncharov)
Bug Fix 🐞
- #3442 Prevent Infinite Loop in OverlappingFieldsCanBeMergedRule (@nicolaslt)
- #3455 OverlappingFieldsCanBeMerged: sort argument values before comparing (@IvanGoncharov)
Docs 📝
2 PRs were merged
- #3269 feat: setup docs site (@saihaj)
- #3437 CONTRIBUTING.md: remove reference to Facebook bug bounty program (@IvanGoncharov)
Polish 💅
7 PRs were merged
- #3441 UniqueArgumentDefinitionNamesRule: Improve tests (@Cito)
- #3446 Use 'eslint-plugin-simple-import-sort' to sort imports (@IvanGoncharov)
- #3447 Fix index.ts files to be compatible with Typedoc (@IvanGoncharov)
- #3452 validation-test.ts: various grammar fixes (@spawnia)
- #3457 OverlappingFieldsCanBeMergedRule: simplify argument comparison (@IvanGoncharov)
- #3459 blockString-tests: remove duplicate test, fix grammar (@Cito)
- #3461 visit: simplify handling of root node (@IvanGoncharov)
Internal 🏠
5 PRs were merged
- #3433 gh/actions: refactor out action to deploy branches (@IvanGoncharov)
- #3434 gh/actions: remove 'npm dedupe' check since it unexpectadly do update (@IvanGoncharov)
- #3435 gh/actions: run benchmark & diff-npm-package only on PRs (@IvanGoncharov)
- #3436 gh/actions: make all cloned repo read-only (@IvanGoncharov)
- #3443 ci/checkPackageLock: update only package-lock.json (@IvanGoncharov)
Dependency 📦
4 PRs were merged
- #3438 Update deps (@IvanGoncharov)
- #3444 Update deps (@IvanGoncharov)
- #3462 Update deps (@IvanGoncharov)
- #3463 Update deps + fix 'npm audit' (@IvanGoncharov)
Committers: 6
- Benedikt Franke(@spawnia)
- Christoph Zwerschke(@Cito)
- Ivan Goncharov(@IvanGoncharov)
- Laurin Quast(@n1ru4l)
- Nicolas Lagoutte(@nicolaslt)
- Saihajpreet Singh(@saihaj)
v16.2.0
v16.2.0 (2021-12-17)
New Feature 🚀
- #3426 type/definition: export
resolve*Thunk
functions (@IvanGoncharov)
Docs 📝
Polish 💅
Internal 🏠
2 PRs were merged
- #3420 resources/utils: extract 'writeGeneratedFile' to utils (@IvanGoncharov)
- #3427 gh/actions: run benchmark and NPM diff on correct base commits (@IvanGoncharov)
Committers: 2
- Christoph Zwerschke(@Cito)
- Ivan Goncharov(@IvanGoncharov)
v16.1.0
v16.1.0 (2021-12-07)
New Feature 🚀
- #3355 Export GRAPHQL_MAX_INT and GRAPHQL_MIN_INT (@tofran)
- #3384 Preserve non-error values thrown from resolvers (@IvanGoncharov)
Bug Fix 🐞
- #3375 printSchema: handle descriptions that are non-printable as block strings (@IvanGoncharov)
Docs 📝
- #3393 Update doc examples to reflect the current API (@paulserraino)
Polish 💅
9 PRs were merged
- #3365 Add devAssert about removal of positional arguments (@IvanGoncharov)
- #3376 execute: fix spec section names in comments (@twof)
- #3377 lexer-tests: Use tildas as invalid characters (@twof)
- #3391 Enable '@typescript-eslint/switch-exhaustiveness-check' rule (@IvanGoncharov)
- #3392 Remove $FlowFixMe comments (@IvanGoncharov)
- #3396 typeFromAST: use exhaustive switch and remove invariant (@IvanGoncharov)
- #3400 expectJSON: improve readability (@IvanGoncharov)
- #3401 tests: Improve formating of strings with 'dedent' tag (@IvanGoncharov)
- #3406 Simplify code by replacing Object.entries with Object.keys (@IvanGoncharov)
Internal 🏠
9 PRs were merged
- #3386 Add support for Node17 (@IvanGoncharov)
- #3388 Drop "eslint-plugin-istanbul" and implement as internal ESLint rule (@IvanGoncharov)
- #3398 Switch coverage from nyc to c8 (@IvanGoncharov)
- #3403 ci: add check that 'package-lock.json' doesn't have conflicts (@IvanGoncharov)
- #3404 github/workflows: simplify npm cache setup (@IvanGoncharov)
- #3405 Use for '--ignore-scripts' for all
npm ci
&npm install
(@IvanGoncharov) - #3407 ci: add check for unnecessary duplicates in package-lock.json (@IvanGoncharov)
- #3416 fix c8 ignore decorator typos (@yaacovCR)
- #3417 package.json: Specify NPM release tag explicitly (@IvanGoncharov)
Dependency 📦
4 PRs were merged
- #3387 Update package-lock.json (@IvanGoncharov)
- #3389 package.json: Drop unused '@babel/eslint-parser' (@IvanGoncharov)
- #3390 Update deps (@IvanGoncharov)
- #3399 Update deps (@IvanGoncharov)
Committers: 5
- Alex Reilly(@twof)
- Francisco Marques(@tofran)
- Ivan Goncharov(@IvanGoncharov)
- Paul Serraino(@paulserraino)
- Yaacov Rydzinski (@yaacovCR)