At a glance
- Identifier: #742
- Stage: RFC X / Superseded
- Champion: @robrichard
- Latest activity: Advanced to RFC 2 on 2025-06-12
- Spec PR: https://github.com/graphql/graphql-spec/pull/742
Spec PR description
Corresponding graphql-js pull request: https://github.com/graphql/graphql-js/pull/2319
Please keep discussion limited to specifics on how the spec text is written. There is a dedicated discussion forum for questions, feedback, and comments on defer & stream: https://github.com/robrichard/defer-stream-wg/discussions
Timeline
June 2025
- Advanced to RFC 2 on 2025-06-12 by benjie
September 2024
- Spec PR closed on 2024-09-18
January 2023
- @yaacovCR committed "CollectFields does not require path or asyncRecord (#11)" on 2023-01-16
- @robrichard committed "replace server with service" on 2023-01-15
December 2022
- @robrichard committed "fix typo" on 2022-12-05
November 2022
- @yaacovCR committed "fix parentRecord argument in ExecuteStreamField (#7)" on 2022-11-29
- @robrichard committed "clarify label is not required" on 2022-11-23
- 2 commits pushed on 2022-11-22
- @robrichard committed "Raise a field error if defer/stream encountered during subscription e…"
- @robrichard committed "Add validation rule for defer/stream on subscriptions"
- @yaacovCR committed "Add error handling for stream iterators (#5)" on 2022-11-21
- @yaacovCR committed "fix typos (#6)" on 2022-11-18
- @yaacovCR committed "remove ResolveFIeldGenerator (#4)" on 2022-11-16
- @yaacovCR committed "small fixes (#3)" on 2022-11-07
- @robrichard committed "update on hasNext" on 2022-11-01
- Added to WG agenda on 2022-11-01
- Mentioned in WG notes on 2022-11-01
October 2022
- @robrichard committed "link to note on should" on 2022-10-12
- Added to WG agenda on 2022-10-01
September 2022
- 3 commits pushed on 2022-09-09
- @robrichard committed "typo"
- @robrichard committed "improve non-null example"
- @robrichard committed "Add FilterSubsequentPayloads algorithm"
- 11 commits pushed on 2022-09-08
- @robrichard committed "Add error boundary behavior"
- @robrichard committed "defer/stream response => payload"
- @robrichard committed "event stream => response stream"
- @robrichard committed "link to path section"
- @robrichard committed "use case no dash"
- @robrichard committed "remove "or null""
- @robrichard committed "add detailed incremental example"
- @robrichard committed "update label validation rule"
- @robrichard committed "clarify hasNext on incremental example"
- @robrichard committed "clarify canceling of subsequent payloads"
- @robrichard committed "Add examples for non-null cases"
- Advanced to RFC 2 on 2022-09-01 by leebyron
- Added to WG agenda on 2022-09-01
- Mentioned in WG notes on 2022-09-01
August 2022
- @robrichard committed "clarify null behavior of if" on 2022-08-24
- 2 commits pushed on 2022-08-23
- @robrichard committed "if: Boolean! = true"
- @robrichard committed "address pr feedback"
- 7 commits pushed on 2022-08-18
- @robrichard committed "Introduce @defer and @stream."
- @robrichard committed "Raise a field error if initialCount is less than zero"
- @robrichard committed "wait for parent async record to ensure correct order of payloads"
- @robrichard committed "spec updates to reflect latest discussions"
- @robrichard committed "Note about mutation execution order"
- @robrichard committed "minor change for uniqueness"
- @robrichard committed "fix typos"
- @robrichard committed "Align deferred fragment field collection with reference implementation" on 2022-08-03
June 2022
- 3 commits pushed on 2022-06-09
- @robrichard committed "add missing line"
- @robrichard committed "fix ExecuteRequest"
- @robrichard committed "fix response"
March 2022
- 2 commits pushed on 2022-03-23
- @robrichard committed "fix wrong quotes"
- @robrichard committed "remove label/path requirement"
- Top comment edited on 2022-03-08 by robrichard
- @robrichard committed "Clarification on labels" on 2022-03-08
- @robrichard committed "add validation “Defer And Stream Directive Labels Are Unique”" on 2022-03-07
February 2022
- 2 commits pushed on 2022-02-07
- @robrichard committed "stream if argument, indexPath -> itemPath"
- @robrichard committed "Clarify stream only applies to outermost list of multi-dimensional ar…"
- @robrichard committed "deferDirective and visitedFragments" on 2022-02-02
January 2022
- @robrichard committed "fix typo" on 2022-01-21
December 2021
- @robrichard committed "add isCompletedIterator to AsyncPayloadRecord to track completed iter…" on 2021-12-30
- 2 commits pushed on 2021-12-20
- @robrichard committed "Simplify execution, payloads should begin execution immediately"
- @robrichard committed "Clarify error handling"
- 2 commits pushed on 2021-12-06
- @robrichard committed "data is not necessarily an object in subsequent payloads"
- @robrichard committed "add Defer And Stream Directives Are Used On Valid Root Field rule"
November 2021
- @robrichard committed "fix typo" on 2021-11-26
- @robrichard committed "allow extensions only subsequent payloads" on 2021-11-25
- @robrichard committed "clarify negative values of initialCount" on 2021-11-20
- @robrichard committed "clarification on defer/stream requirement" on 2021-11-19
June 2021
May 2021
- @robrichard committed "Update Section 3 -- Type System.md" on 2021-05-15
February 2021
- 3 commits pushed on 2021-02-17
- @robrichard committed "fix typos"
- @robrichard committed "clear up that it is legal to support either defer or stream individually"
- @robrichard committed "Add sumary of arguments to Type System"
January 2021
September 2020
August 2020
- Advanced to RFC 1 on 2020-08-19 by IvanGoncharov
- Added to WG agenda on 2020-08-06
- Mentioned in WG notes on 2020-08-06
July 2020
- Spec PR created on 2020-07-02 by robrichard
- Top comment edited on 2020-07-02 by robrichard
- Added to WG agenda on 2020-07-02
- Mentioned in WG notes on 2020-07-02