Releases: graphql/graphql-js
Releases · graphql/graphql-js
v17.0.0-alpha.7
v17.0.0-alpha.7 (2024-08-14)
Bug Fix 🐞
- #4100 Require non-empty directive locations (@jbellenger)
- #4125 Rename
inputObjectOneOf
tooneOf
ingetIntrospectionQuery()
(@benjie) - #4144 return async iterables in the non incremental delivery case (@yaacovCR)
- #4140 fix(incremental): do not initiate non-pending execution groups (@yaacovCR)
- #4160 fix(incremental): fix paths for subsequent async stream items (@yaacovCR)
Polish 💅
5 PRs were merged
- #4108 polish(incremental): refactor getNewPending functionality (@yaacovCR)
- #4112 refactor(incremental): simplify incremental graph by allowing mutations (@yaacovCR)
- #4141 polish(incremental): small fixes (@yaacovCR)
- #4147 incremental: optimize build field plan (@yaacovCR)
- #4148 polish(incremental): rename terms to match spec (@yaacovCR)
Internal 🏠
2 PRs were merged
Committers: 4
- Benjie(@benjie)
- James Bellenger(@jbellenger)
- Saihajpreet Singh(@saihaj)
- Yaacov Rydzinski (@yaacovCR)
v17.0.0-alpha.5
v17.0.0-alpha.5 (2024-06-21)
New Feature 🚀
- #4018 Enable passing values configuration to GraphQLEnumType as a thunk (@benjie)
- #4078 Add
@oneOf
support to introspection query (@maciesielka)
Committers: 2
- Benjie(@benjie)
- Mike Ciesielka(@maciesielka)
v17.0.0-alpha.4
v17.0.0-alpha.4 (2024-06-21)
Breaking Change 💥
New Feature 🚀
- #4002 allow nested defers at the same level (@yaacovCR)
- #4118 Introduce "recommended" validation rules (@benjie)
Bug Fix 🐞
- #3984 fix: suppress records for deferred fragments that are completely empty (@yaacovCR)
- #3987 fix(incremental): fix logic around selecting id/subPath (@yaacovCR)
- #3969 Add support for @OneOf directives in printSchema (@hayes)
- #3993 fix(incremental): skip all empty subsequent results (@yaacovCR)
- #4044 Fix stream directive validation error message (@Cito)
Docs 📝
Polish 💅
15 PRs were merged
- #3970 tests: remove empty strings in string literals (@IvanGoncharov)
- #3994 simplify CollectFields for
@defer
and@stream
(@yaacovCR) - #4045 rename executeImpl to executeOperation (@yaacovCR)
- #4026 incremental: introduce GraphQLWrappedResult to avoid filtering (@yaacovCR)
- #4050 perf: allow skipping of field plan generation (@yaacovCR)
- #4051 perf: introduce completePromisedListItemValue (@yaacovCR)
- #4052 refactor: introduce completeIterableValue (@yaacovCR)
- #4076 incremental: avoid double loop with stream from sync iterables (@yaacovCR)
- #4046 perf: use undefined for empty (@yaacovCR)
- #3997 Add test for consolidating grouped field sets properly into deferred fragments (@yaacovCR)
- #4099 refactor: extract execution types to separate file (@yaacovCR)
- #4101 incremental(stream): revert test logic (@yaacovCR)
- #4094 incremental: introduce IncrementalGraph class to manage tree of subsequent results (@yaacovCR)
- #4098 incremental: handle Stream as stream rather than linked list (@yaacovCR)
- #4106 polish(IncrementalPublisher): remove unnecessary check and method call (@yaacovCR)
Internal 🏠
5 PRs were merged
Committers: 7
- Benjie(@benjie)
- Christoph Zwerschke(@Cito)
- Ivan Goncharov(@IvanGoncharov)
- Michael Hayes(@hayes)
- Rob Richard(@robrichard)
- Saihajpreet Singh(@saihaj)
- Yaacov Rydzinski (@yaacovCR)
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
@oneOf
directive (@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
globalThis
check 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
execute
should 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
id
andsubPath
rather thanpath
andlabel
(@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
@oneOf
directive (@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
@oneOf
directive (@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-operators
rule (@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
replaceAll
instead 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)