Releases: graphql/graphql-js
Releases · graphql/graphql-js
v16.9.0
v16.9.0 (2024-06-21)
New Feature 🚀
- #4119 backport[v16]: Introduce "recommended" validation rules (@benjie)
- #4122 backport[v16]: Enable passing values configuration to GraphQLEnumType as a thunk (@benjie)
- #4124 backport[v16]: Implement OneOf Input Objects via
@oneOfdirective (@benjie)
Committers: 1
- Benjie(@benjie)
v15.9.0
v15.9.0 (2024-06-21)
New Feature 🚀
Bug Fix 🐞
- #3708 Fix crash in node when mixing sync/async resolvers (backport of #3706) (@chrskrchr)
- #4000 Backport "Prevent Infinite Loop in OverlappingFieldsCanBeMergedRule" to v15 (@benjie)
Internal 🏠
Committers: 2
- Benjie(@benjie)
- Chris Karcher(@chrskrchr)
v16.8.2
v16.8.2 (2024-06-12)
Bug Fix 🐞
- #4022 fix: remove
globalThischeck and align with what bundlers can accept (@JoviDeCroock)
Internal 🏠
Committers: 2
- Benjie(@benjie)
- Jovi De Croock(@JoviDeCroock)
v16.8.1
v16.8.1 (2023-09-19)
Bug Fix 🐞
- #3967 OverlappingFieldsCanBeMergedRule: Fix performance degradation (@AaronMoat)
Committers: 1
- Aaron Moat(@AaronMoat)
v17.0.0-alpha.3
v17.0.0-alpha.3 (2023-09-06)
This release contains a new response format for operations containing the experimental @defer & @stream directives. This new response format addresses issues around data duplication, response amplification, and data consistency that affected the previous response format. See graphql/defer-stream-wg#69 for more information.
Breaking Change 💥
- #3742 Remove defer/stream support from subscriptions (@robrichard)
- #3722 original
executeshould throw if defer/stream directives are present (@yaacovCR) - #3855 Drop support for node14 (@IvanGoncharov)
- #3875 GraphQLInputObjectType: remove check that duplicate TS types (@IvanGoncharov)
- #3886 RFC: incremental delivery: without branching, with deduplication (@yaacovCR)
- #3897 incremental delivery: add pending notifications (@yaacovCR)
- #3960 incremental: utilize
idandsubPathrather thanpathandlabel(@yaacovCR)
New Feature 🚀
- #3754 enhancement: remove extra ticks (@yaacovCR)
- #3877 GraphQLInterface: add missing template parameters (@IvanGoncharov)
- #3860 Make print() break long List and Object Values over multiple line (@dylanowen)
- #3822 Expose printDirective function to enable schema sharding (@tomgasson)
- #3513 Implement OneOf Input Objects via
@oneOfdirective (@erikkessler1) - #3929 incremental: subsequent result records should not store parent references (@yaacovCR)
- #3948 Add support for fourfold nested lists in introspection (@gschulze)
Bug Fix 🐞
- #3746 fix: allow async errors to bubble to AsyncIterable list items (@yaacovCR)
- #3747 add filtering for asyncIterable lists (@yaacovCR)
- #3748 Fix typo in the error message for max tokens (@Cito)
- #3753 fix(incrementalDelivery): filtering should never affect the error source (@yaacovCR)
- #3757 fix: re-initialize subsequentPayloads (@yaacovCR)
- #3706 Fix crash in node when mixing sync/async resolvers (@chrskrchr)
- #3763 resources/utils: fix
git().revList(@IvanGoncharov) - #3760 fix(incrementalDelivery): fix null bubbling with async iterables (@yaacovCR)
- #3776 extendSchema: preserve "description" and "extensions" (@igrlk)
- #3837 fix: invalid originalError propagation in custom scalars (@stenreijers)
- #3839 Fix ambiguity around when schema definition may be omitted (@benjie)
- #3832 internal: fix inlineInvariant for cjs builds that require filenames with explicit extensions (@yaacovCR)
- #3864 Narrow the return type of astFromValue (@dylanowen)
- #3869 printSchema: correctly print empty description (@IvanGoncharov)
- #3873 ASTReducer: correctly type scalar values (@IvanGoncharov)
- #3899 asyncIterable: locate async iterator errors to the collection (@yaacovCR)
- #3894 introduce new IncrementalPublisher class (@yaacovCR)
- #3961 fix(types): path is required within incremental results (@yaacovCR)
- #3937 Improve description for
@oneOfdirective (@spawnia) - #3965 instanceOf: workaround bundler issue with process.env (@IvanGoncharov)
- #3958 OverlappingFieldsCanBeMergedRule: Fix performance degradation (@AaronMoat)
Docs 📝
4 PRs were merged
- #3778 Remove outdated instructions on experimental tag (@robrichard)
- #3947 Fix edit URL in documentation (@benjie)
- #3951 Fix invalid sample code (@sakesun)
- #3957 docs: add installation instructions for bun (@colinhacks)
Polish 💅
31 PRs were merged
- #3749 polish: add additional test (@yaacovCR)
- #3728 incrementalDelivery: refactoring and streamlining (@yaacovCR)
- #3752 refactor: introduce completeListItemValue (@yaacovCR)
- #3762 Fix formatting in schema for test "resolve Interface type using __typename on source object" (@spawnia)
- #3771 lint: enable ESLint's
logical-assignment-operatorsrule (@IvanGoncharov) - #3781 Fix comments in defer/stream validation rules (@robrichard)
- #3793 polish: do not repeat isPromise check (@yaacovCR)
- #3801 polish: narrow mapSourceToResponse return type (@yaacovCR)
- #3806 polish: remove misleading comment (@yaacovCR)
- #3816 polish: clarify filtering test semantics (@yaacovCR)
- #3821 Fix wording of comment in buildClientSchema (@Cito)
- #3856 Use
replaceAllinstead of RegExp with global flag (@IvanGoncharov) - #3865 Add accidentally deleted test spec name back (@Cito)
- #3857 Use ES2021
Array.at(@IvanGoncharov) - #3872 Enable @typescript-eslint/strict-boolean-expressions rule (@IvanGoncharov)
- #3874 GraphQLObjectType: partial revert of #3143, due to perf regression (@IvanGoncharov)
- #3876 GraphQL*Type: bind only single property instead of entire context (@IvanGoncharov)
- #3878 execute: code refactors related to steam/defer (@yaacovCR)
- #3881 simplify schema in defer tests (@robrichard)
- #3880 Testing the right functions in testUtils (@Cito)
- #3885 remove unnecessary duplicated fields from defer tests (@yaacovCR)
- [#3890](https://github.com/graphql/grap...
v16.8.0
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*TypeTS types to be more DRY (@yaacovCR) - #3627 Reuse GraphQLWrappingType in 'GraphQLType' definition (@IvanGoncharov)
- #3630 subscribe-test: extract
subscribeWithBadFnfunction (@yaacovCR) - #3636 move
subscribecode toexecutefile (@yaacovCR) - #3638 refactor: small refactors within execute (@yaacovCR)
- #3641 ESLint: error on function accepting more than 5 parameters (@IvanGoncharov)
- #3654 refactor: use
exeContextstrategically (@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
expectPromiseandexpectEqualPromisesOrValues(@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
localRepoPathutility 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
fetchinstead ofhttp.request(@IvanGoncharov) - #3695 benchmark: use 'execOutput' from 'util.ts' (@IvanGoncharov)
- #3697 resources: Move
mkdirSyncintowriteGeneratedFile(@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)