yarn graphql 17.0.0-beta.0
v17.0.0-beta.0

5 hours ago

v17.0.0-beta.0 (2026-05-07)

Breaking Change 💥

  • #4634 Use Object.create(null) over {} to avoid prototype issues (@benjie)
  • #4700 Demote createSourceEventStream to helper taking ValidatedExecutionArgs (@yaacovCR)
  • #4703 rename executeQueryOrMutationOrSubscriptionEvent to executeRootSelectionSet (@yaacovCR)
  • #4708 fix(variables): treat undefined as absent with respect to variables (@yaacovCR)
  • #4710 fix: ignore undefined-valued unknown fields in input objects (@yaacovCR)

New Feature 🚀

  • #4658 feat(execution): expose asyncWorkFinished execution hook (@yaacovCR)
  • #4674 feat(execution): expose partial result on abort errors (@yaacovCR)
  • #4701 export validateExecutionArgs helper (@yaacovCR)
  • #4702 feat: add ValidatedSubscriptionArgs and validateSubscriptionArgs (@yaacovCR)

Bug Fix 🐞

  • #4637 refactor(queue): replace stopped promise with onStop handlers (@yaacovCR)
  • #4641 refactor(incremental): close stream iterator only on abnormal stop (@yaacovCR)
  • #4642 fix(incremental): await async incremental cleanup (@yaacovCR)
  • #4644 fix(withConcurrentAbruptClose): do not close unnecessarily (@yaacovCR)
  • #4645 fix(cancellablePromise): handle rejection when cancelling already-aborted promise (@yaacovCR)
  • #4643 fix(execute): handle list promise rejections (@yaacovCR)
  • #4646 fix(execute): handle defaultTypeResolver promise rejections (@yaacovCR)
  • #4648 refactor(executor): separate finish/abort orchestration (@yaacovCR)
  • #4655 fix(execution): finish executors before publishing responses (@yaacovCR)
  • #4661 fix: bubbling sync errors need not become async (@yaacovCR)
  • #4663 fix(executor): let aborted async paths reach finish (@yaacovCR)
  • #4657 refactor(execution): track pending work (@yaacovCR)
  • #4664 fix(perf): hoist error creation (@yaacovCR)
  • #4665 execution: reduce parent executor retention in incremental callbacks (@yaacovCR)
  • #4671 fix(valueFromAST): forward port #4652 (@yaacovCR)
  • #4672 fix(execution): convert all promise-like results to promises (@yaacovCR)
  • #4518 Fix TypeInfo.getInputType() for custom scalar list literals. (@yuchenshi)
  • #4692 fix incremental label null validation (@jbellenger)
  • #4711 fix(coerceInputLiteral): null variable input object fields should override defaults (@yaacovCR)
  • #4712 fix: name fragment variables as such in execution errors (@yaacovCR)
  • #4714 fix: enhance runtime invalid default value error messages (@yaacovCR)
  • #4715 unify OneOf non-null and count error messages (@yaacovCR)
  • #4716 fix(OneOf): fail coercion when two fields are provided "pre-coercion-only" (@yaacovCR)
  • #4717 fix(valueFromAST): reject unknown input object fields (@yaacovCR)
  • #4718 fix(OneOf): count only known fields for one-of validation (@yaacovCR)
  • #4719 fix(OneOf): fail coercion for OneOf is the single field is invalidly provided by a default (@yaacovCR)

Polish 💅

19 PRs were merged
  • #4635 polish: remove a few superfluous awaits (@yaacovCR)
  • #4636 allow forwarding of cancellation reasons within computations/queues (@yaacovCR)
  • #4638 test(queue): cover async onStop cleanup (@yaacovCR)
  • #4639 refactor(computation): rename cancel to abort (@yaacovCR)
  • #4640 refactor(workqueue): propagate async computation abort cleanup (@yaacovCR)
  • #4647 refactor(executor): rename finished state to aborted (@yaacovCR)
  • #4649 refactor(cancellablePromise): extract withCancellation (@yaacovCR)
  • #4650 refactor(executor): replace internal abort signal with lightweight version (@yaacovCR)
  • #4656 refactor(execution): introduce shared execution context (@yaacovCR)
  • #4653 fix: avoid prototype-colliding names in execution values (@abishekgiri)
  • #4673 refactor(execution): separate response construction from finish checks (@yaacovCR)
  • #4675 polish(execution): remove obsolete abort async checks (@yaacovCR)
  • #4686 refactor(benchmark): extract shared mean stats helper (@yaacovCR)
  • #4687 polish(benchmark): handle theoretical stats errors (@yaacovCR)
  • #4693 polish: add expectToThrow test helper (@yaacovCR)
  • #4694 polish: add expectPromise.toReject helper (@yaacovCR)
  • #4695 polish: clean up stream tests (@yaacovCR)
  • #4696 polish: introduce spy test helper (@yaacovCR)
  • #4704 refactor: add executionMode/serially argument to executeRootSelectionSet (@yaacovCR)

Internal 🏠

17 PRs were merged

Committers: 5

Don't miss a new graphql release

NewReleases is sending notifications on new releases.