v17.0.0-alpha.4 (2024-06-21)
Breaking Change 💥* #4097 incremental: disable early execution by default (@yaacovCR)
New Feature 🚀* #4002 allow nested defers at the same level (@yaacovCR)
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 📝* #4105 Update release instructions in CONTRIBUTING.md (@benjie)
Polish 💅
- #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 🏠
- #3992 Use node v20 for CI (@robrichard)
- #4013 docs: reviewer and merge process (@saihaj)
- #4030 fix(benchmark): select npm.cmd on windows (@yaacovCR)
- #4029 benchmark: update v8 flag (@yaacovCR)
- #4121 port[v17]: Fix publish scripts (@benjie)
Committers: 7
- Benjie(@benjie)
- Christoph Zwerschke(@Cito)
- Ivan Goncharov(@IvanGoncharov)
- Michael Hayes(@hayes)
- Rob Richard(@robrichard)
- Saihajpreet Singh(@saihaj)
- Yaacov Rydzinski (@yaacovCR)