| #1193Next stage | RFC 3 / Accepted | @janettec | Update description of Fragments to emphasize evolving data needs | 1 commit pushed on 2026-02-05 |
| #1170 | RFC 3 / Accepted | @fotoetienne | Add descriptions to executable documents | 2025 Update | 3 commits pushed on 2025-07-01 |
| #1092 | RFC 3 / Accepted | @benjie | Recommend that order of unordered collections is maintained where possible | 5 commits pushed on 2025-09-01 |
| #825 | RFC 3 / Accepted | @benjie | OneOf Input Objects | 5 commits pushed on 2025-09-01 |
| #794 | RFC 3 / Accepted | @magicmark | Schema Coordinates | 5 commits pushed on 2025-09-01 |
| #1056 | RFC 3 / Accepted | @benjie | Fix CoerceArgumentValues() hasValue | 1 commit pushed on 2025-07-03 |
| #1102 | RFC 3 / Accepted | @benjie | Define Data Collections used in the spec | 1 commit pushed on 2025-07-01 |
| #793 | RFC 3 / Accepted | @benjie | Default value coercion rules | 2 commits pushed on 2025-07-01 |
| #955 | RFC 3 / Accepted | @benjaminjkraft | Add validation rule that operation types exist | Added to WG agenda on 2025-06-26 |
| #1167 | RFC 3 / Accepted | @benjie | Do not exclude schema keyword if schema has description | Added to WG agenda on 2025-06-26 |
| #860 | RFC 3 / Accepted | @benjie | Prevent @skip and @include on root subscription selection set | Added to WG agenda on 2025-06-05 |
| #776 | RFC 3 / Accepted | @benjie | __typename is not valid at subscription root | Added to WG agenda on 2021-05-13 |
| #525 | RFC 3 / Accepted | @smitt04 | Allow deprecation of input values | Mentioned in WG notes on 2021-02-04 |
| #1053 | RFC 3 / Accepted | @benjie | Implementations may not deprecate a field that the interface hasn't deprecated | Added to WG agenda on 2025-05-01 |
| #1142 | RFC 3 / Accepted | @martinbonnin | make `includeDeprecated` non nullable | Added to WG agenda on 2025-05-01 |
| #976 | RFC 3 / Accepted | @benjie | Add 'extensions' to request | 1 commit pushed on 2025-04-17 |
| #1040 | RFC 3 / Accepted | @martinbonnin | Make the reason argument in `@deprecated` non-nullable | Added to WG agenda on 2024-12-05 |
| #1073 | RFC 3 / Accepted | @martinbonnin | Be strict about error paths format | Added to WG agenda on 2024-04-04 |
| #649 | RFC 3 / Accepted | @eapache | Custom Scalar Specification URLs | 2 commits pushed on 2021-04-09 |
| #987 | RFC 3 / Accepted | @benjie | Fix ambiguity around when schema definition may be omitted | 1 commit pushed on 2023-02-09 |
| #803 | RFC 3 / Accepted | @benjie | Replace 'query error' with 'request error' | 2 commits pushed on 2021-04-07 |
| #891 | RFC 3 / Accepted | @dugenkui03 | Add explanation about argument name uniqueness. | Added to WG agenda on 2023-02-02 |
| #599 | RFC 3 / Accepted | @leebyron | Clarify that lexing is greedy | Added to WG agenda on 2019-10-10 |
| #805 | RFC 3 / Accepted | @IvanGoncharov | Allow deprecation of input values (field args, directive args, input fields) | 1 commit pushed on 2022-06-03 |
| #849 | RFC 3 / Accepted | @leebyron | Allow full unicode range | 1 commit pushed on 2022-06-02 |
| #373 | RFC 3 / Accepted | @mike-marcacci | Allow interfaces to implement other interfaces | 5 commits pushed on 2020-01-11 |
| #466 | RFC 3 / Accepted | @IvanGoncharov | Add description to Schema | Spec PR created on 2018-06-13 |
| #470 | RFC 3 / Accepted | @OlegIlyenko | "Directive order is significant" section | Spec PR created on 2018-06-23 |
| #472 | RFC 3 / Accepted | @OlegIlyenko | Repeatable directives | 2 commits pushed on 2020-01-10 |
| #510 | RFC 3 / Accepted | @mjmahone | Allow directives on variable definitions | Spec PR created on 2018-08-29 |
| #601 | RFC 3 / Accepted | @leebyron | Number value literal lookahead restrictions | Added to WG agenda on 2019-10-10 |
| #598 | RFC 3 / Accepted | @leebyron | Avoid parse ambiguity on types & extensions | Added to WG agenda on 2019-08-01 |
| #701 | RFC 3 / Accepted | @spawnia | Disallow non-breakable chains of circular references in Input Objects | 2 commits pushed on 2021-01-11 |
| #454 | RFC 3 / Accepted | @IvanGoncharov | Add validation steps for schema extensions | Spec PR created on 2018-06-04 |
| #459 | RFC 3 / Accepted | @mjmahone | Remove Interface is implemented by 1+ Objects validation | Spec PR created on 2018-06-08 |
| #462 | RFC 3 / Accepted | @leebyron | Input & Output type definition | Spec PR created on 2018-06-10 |
| #463 | RFC 3 / Accepted | @leebyron | Ensure validation of directive arguments | Spec PR created on 2018-06-11 |
| #1110 | RFC 2 / Draft | @robrichard | Incremental Delivery spec draft | 1 commit pushed on 2025-01-09 |
| #1058 | RFC 2 / Draft | @benjie | List coercion algorithm | Added to WG agenda on 2025-07-03 |
| #1177Next stage | RFC 1 / Proposal | @benjie | Incorporate meta-fields into ExecuteCollectedFields | 4 commits pushed on 2025-07-04 |
| #1211 | RFC 1 / Proposal | @jbellenger | OneOf inhabitability | Added to WG agenda on 2026-03-05 |
| #997 | RFC 1 / Proposal | @fotoetienne | Expand @deprecated to Objects | Added to WG agenda on 2025-06-26 |
| #1206 | RFC 1 / Proposal | @BoD | Add support for directives on directive definitions | Added to WG agenda on 2026-01-15 |
| #1163 | RFC 1 / Proposal | @benjie | Service capabilities / error behaviors | Added to WG agenda on 2026-01-15 |
| #1179 | RFC 1 / Proposal | @leebyron | CoerceInputValue() | 6 commits pushed on 2025-07-05 |
| #1059 | RFC 1 / Proposal | @benjie | Introduce Strict and Legacy All Variable Usages Are Allowed | Added to WG agenda on 2023-12-07 |
| #1127 | RFC 1 / Proposal | @benjie | When `sourceStream` errors, yield a `{ errors: [...] }` response | Added to WG agenda on 2025-01-09 |
| #509 | RFC 1 / Proposal | @taion | Allow singular variables in list locations | 1 commit pushed on 2018-09-01 |
| #1208Next stage | RFC 0 / Strawman | @benjie | Service capabilities | Spec PR created on 2026-01-15 |
| #1200Next stage | RFC 0 / Strawman | @PascalSenn | Add Schema Coordinate to GraphQL Errors | Spec PR created on 2025-10-28 |
| Subscriptions | RFC 0 / Strawman | - | NOTE: this document is kept for historic purposes; GraphQL Subscriptions have been specified and released as part of the official [June 2018 GraphQL Specification](https://spec.graphql.org/June2018/). | RFC document updated on 2020-08-19 |
| Struct | RFC 0 / Strawman | - | Polymorphic-capable composite symmetric input/output type (`struct`) | RFC document updated on 2023-11-28 |
| SemanticNullability | RFC 0 / Strawman | - | Semantic Nullability | RFC document updated on 2025-05-01 |
| SchemaFragments | RFC 0 / Strawman | - | Schema Fragments | RFC document created on 2021-09-02 |
| SchemaCoordinates | RFC 0 / Strawman | - | Status | RFC document updated on 2026-01-26 |
| OptInFeatures | RFC 0 / Strawman | - | Opt-in features | RFC document updated on 2022-09-30 |
| OperationExpressions | RFC 0 / Strawman | - | Operation Expressions | RFC document created on 2021-09-02 |
| ObjectIdentification | RFC 0 / Strawman | - | Object Identification | RFC document created on 2025-10-15 |
| MockSpec | RFC 0 / Strawman | - | GraphQL Response Mocking Specification | RFC document created on 2026-02-02 |
| MetadataStructs | RFC 0 / Strawman | - | Metadata Structs | RFC document updated on 2022-08-16 |
| MatchesDirective | RFC 0 / Strawman | - | Matches Directive | RFC document created on 2025-09-19 |
| InputUnion | RFC 0 / Strawman | - | NOTE: this document is kept for historic purposes; [`@oneOf`](https://github.com/graphql/graphql-spec/pull/825) gained RFC3 status in May 2025. | RFC document updated on 2025-06-05 |
| ImplicitInheritance | RFC 0 / Strawman | - | Implicit Inheritance | RFC document updated on 2021-09-03 |
| FullSchemas | RFC 0 / Strawman | - | Full Schemas | RFC document updated on 2026-01-28 |
| FragmentModularity | RFC 0 / Strawman | - | Fragment Modularity | RFC document created on 2022-01-06 |
| FragmentArguments | RFC 0 / Strawman | - | Fragment Arguments | RFC document created on 2023-02-10 |
| FieldExtensions | RFC 0 / Strawman | - | Status | RFC document updated on 2026-01-26 |
| FeatureDiscovery | RFC 0 / Strawman | - | Feature Discovery | RFC document updated on 2023-11-28 |
| ExpandingSubtyping | RFC 0 / Strawman | - | Expanding Subtyping (for output types) | RFC document created on 2022-08-31 |
| DisableErrorPropagationDirective | RFC 0 / Strawman | - | Disable Error Propagation Directive | RFC document created on 2025-03-19 |
| DeferStream | RFC 0 / Strawman | - | GraphQL Defer and Stream Directives | RFC document updated on 2024-09-19 |
| CompositeSchemas | RFC 0 / Strawman | - | GraphQL Composite Schemas | RFC document updated on 2022-07-22 |
| ClientControlledNullability | RFC 0 / Strawman | - | Status | RFC document updated on 2026-01-26 |
| AnnotationStructs | RFC 0 / Strawman | - | Annotation Structs | RFC document updated on 2022-08-31 |
| wg#1871 | RFC 0 / Strawman | @nikolayandr | Proposal: Omit fields when their resolver fails (optional execution mode, no new syntax) | WG discussion created on 2025-12-04 |
| #1184 | RFC 0 / Strawman | @benjie | Sibling errors should not be added after propagation | Spec PR created on 2025-07-10 |
| #1183 | RFC 0 / Strawman | @benjie | Fix "response position" definition; clarify sibling errors on propagation | Added to WG agenda on 2025-07-17 |
| #521 | RFC 0 / Strawman | @IvanGoncharov | Scalar serialize as built-in scalar type | Spec PR created on 2018-10-14 |
| #1165 | RFC 0 / Strawman | @benjie | Add Transitional Non-Null appendix (`@noPropagate` directive) | Spec PR created on 2025-04-30 |
| #1065 | RFC 0 / Strawman | @benjie | SemanticNonNull type (null only on error) | Added to WG agenda on 2025-04-03 |
| wg#1700 | RFC 0 / Strawman | @leebyron | Lee's new nullability & error propagation proposal | WG discussion created on 2025-03-26 |
| #1050 | RFC 0 / Strawman | @benjie | Directive proposal for opting out of null bubbling | 4 commits pushed on 2025-03-10 |
| wg#1394 | RFC 0 / Strawman | @captbaritone | True Nullability Schema | WG discussion created on 2023-09-12 |
| wg#1410 | RFC 0 / Strawman | @leebyron | Strict Semantic Nullability | WG discussion created on 2023-10-05 |
| wg#1096 | RFC 0 / Strawman | @leebyron | "Metadata Directives" Proposal | WG discussion created on 2022-08-04 |
| #1114 | RFC 0 / Strawman | @yaacovCR | add __directive meta field parallel to __type | Added to WG agenda on 2024-11-07 |
| wg#1239 | RFC 0 / Strawman | @mjmahone | Fragment Arguments: RFC + Implementation Details | WG discussion created on 2023-01-19 |
| #1049 | RFC 0 / Strawman | @martinbonnin | Introduce SourceSchemaDocument and FullSchemaDocument | 2 commits pushed on 2023-11-20 |
| #631 | RFC 0 / Strawman | @victorandree | Make root query operation type optional | Added to WG agenda on 2019-12-05 |
| #1015 | RFC 0 / Strawman | @leebyron | "Root" Types clarity → "Operation Type" | Added to WG agenda on 2023-03-02 |
| #998 | RFC 0 / Strawman | @yaacovCR | add spec edits for references | Spec PR created on 2022-11-03 |
| wg#1071 | RFC 0 / Strawman | @benjie | Struct type | WG discussion created on 2022-07-18 |
| wg#857 | RFC 0 / Strawman | @mjmahone | Fragment Modularity | WG discussion created on 2022-01-07 |
| wg#944 | RFC 0 / Strawman | @yaacovCR | New Intersection Type | WG discussion created on 2022-04-30 |
| wg#815 | RFC 0 / Strawman | @leebyron | Nested GraphQL Mutations | WG discussion created on 2021-12-02 |
| #879 | RFC 0 / Strawman | @mjmahone | __fulfilled meta field | Added to WG agenda on 2021-09-02 |
| #706 | RFC 0 / Strawman | @francisu | Add support for directives for an object field name | Spec PR created on 2020-04-07 |
| #556 | RFC 0 / Strawman | @langpavel | Document Directives | 1 commit pushed on 2019-02-01 |
| #325 | RFC 0 / Strawman | @IvanGoncharov | Add "Any" scalar type | Spec PR created on 2017-06-19 |
| #710 | RFC 0 / Strawman | @chemisus | Add namedType and punctuatedName to __Type | Added to WG agenda on 2020-05-07 |
| #674 | RFC 0 / Strawman | @kassens | allow empty selections | Spec PR created on 2020-01-21 |
| #445 | RFC 3 / Accepted | @spawnia | Disallow non-breakable chains of circular references in Input Objects | Added to WG agenda on 2019-11-07 |
| #1081 | RFC 2 / Draft | @JoviDeCroock | Fragment arguments/variables (syntax/validation/execution) | 1 commit pushed on 2025-11-28 |
| #1063 | RFC 2 / Draft | @benjie | Type system ordering of: object interfaces, directive arguments, input object fields, enum values | Added to WG agenda on 2025-05-01 |
| #1180Next stage | RFC 1 / Proposal | @JoviDeCroock | Editorial: Fix cases in validation where technically a crash could occur due to non-existent definitions | 1 commit pushed on 2025-11-08 |
| #950 | RFC 1 / Proposal | @yaacovCR | allow unions to include interfaces and unions | Added to WG agenda on 2022-08-04 |
| #939 | RFC 1 / Proposal | @yaacovCR | allow unions to declare implementation of interfaces | Added to WG agenda on 2022-06-02 |
| #907 | RFC 1 / Proposal | @IvanGoncharov | Add support for directives on directives | Added to WG agenda on 2022-01-06 |
| #567 | RFC 0 / Strawman | @benhead | allow directives on directive definitions | Spec PR created on 2019-02-28 |
| #673 | RFC 0 / Strawman | @spawnia | Servers must preserve lexical ordering between SDL and introspection | 1 commit pushed on 2025-11-05 |
| #1045 | RFC X / Rejected | @benjie | Remove fragmentSpreadName from visitedFragments when visit is complete | Added to WG agenda on 2025-07-17 |
| #948 | RFC X / Rejected | @benjie | OneOf Objects | Added to WG agenda on 2022-06-02 |
| #806 | RFC X / Rejected | @benjie | __typename should be valid at subscription root | Spec PR created on 2020-12-05 |
| #888 | RFC X / Rejected | @nojvek | Map type | Added to WG agenda on 2021-10-07 |
| #960 | RFC X / Rejected | @yaacovCR | Allow recursion within ResolveAbstractType | Added to WG agenda on 2022-07-07 |
| #1018 | RFC X / Rejected | @benjie | Alternative proposal for `@stream`/`@defer` | Added to WG agenda on 2023-04-06 |
| #395 | RFC X / Rejected | @tgriesser | inputUnion type | Spec PR created on 2018-01-11 |
| #895 | RFC X / Rejected | @twof | Client Controlled Nullability | 1 commit pushed on 2022-05-13 |
| #883 | RFC X / Rejected | @IvanGoncharov | Relax SameResponseShape algorithm to be compatible with covariant fields | Spec PR created on 2021-09-02 |
| #1166 | RFC X / Rejected | @benjie | Enable 'schema' keyword to be provided without root operations | Spec PR created on 2025-05-01 |
| #733 | RFC X / Rejected | @benjie | Tagged type | 1 commit pushed on 2021-01-21 |
| #319 | RFC X / Rejected | @IvanGoncharov | Add '@ignoreIfUnknown' to allow forward compatibility for clients | Mentioned in WG notes on 2020-02-06 |
| #232 | RFC X / Rejected | @stubailo | __id field for unique identifiers | 1 commit pushed on 2016-10-31 |
| #606 | RFC X / Rejected | @victorandree | Support empty composite types | Added to WG agenda on 2019-12-05 |
| #315 | RFC X / Rejected | @excitement-engineer | Support DateTime scalar | Spec PR created on 2017-05-26 |
| #460 | RFC X / Rejected | @mjmahone | Require Interfaces to have 1+ Objects implementing | 1 commit pushed on 2018-06-11 |
| #823 | RFC X / Superseded | @benjie | operation expressions | 2 commits pushed on 2021-03-16 |
| #667 | RFC X / Superseded | @lilianammmatos | [RFC Sketch] Defer and Stream Directives | Added to WG agenda on 2020-01-09 |
| #586 | RFC X / Superseded | @benjie | Input Objects accepting exactly @oneField | 2 commits pushed on 2019-07-22 |
| #892 | RFC X / Superseded | @IvanGoncharov | Add descriptions to executable definitions | Added to WG agenda on 2025-06-05 |
| #326 | RFC X / Superseded | @leebyron | Scalar serialize as built-in scalar type | Spec PR created on 2017-06-19 |
| #471 | RFC X / Superseded | @OlegIlyenko | Limit uniqueness to `@skip`, `@include` and `@deprecated` directives | 1 commit pushed on 2018-06-25 |
| #1023 | RFC X / Superseded | @yaacovCR | incremental delivery without branching | Spec PR created on 2023-03-24 |
| #1026 | RFC X / Superseded | @yaacovCR | incremental delivery with deduplication + concurrent execution | Added to WG agenda on 2023-06-01 |
| #999 | RFC X / Superseded | @yaacovCR | introduce ExecuteGroupedFieldSet, CollectRootFields and CollectSubfields | Added to WG agenda on 2023-06-01 |
| #1034 | RFC X / Superseded | @yaacovCR | incremental delivery with deduplication + concurrent execution | 1 commit pushed on 2023-09-28 |
| #1048 | RFC X / Superseded | @benjie | Null-Only-On-Error / Semantically-Non-Null type (asterisk) | Added to WG agenda on 2023-10-05 |
| #1052 | RFC X / Superseded | @yaacovCR | deduplicated incremental delivery | 8 commits pushed on 2024-01-30 |
| #1126 | RFC X / Superseded | @benjie | GraphQL Subscriptions should handle errors in the source stream | Spec PR created on 2024-11-21 |
| #1157 | RFC X / Superseded | @martinbonnin | Exclude custom scalar literals from validation | Spec PR created on 2025-04-02 |
| #877 | RFC X / Superseded | @IvanGoncharov | Forbid duplicating argument names | Spec PR created on 2021-07-01 |
| #1098 | RFC X / Superseded | @Shane32 | Add 5.2.4 Operation Type Exists | 2 commits pushed on 2024-10-04 |
| #1153 | RFC X / Superseded | @benjie | Allow clients to disable error propagation via request parameter | Added to WG agenda on 2025-04-03 |
| #742 | RFC X / Superseded | @robrichard | Spec edits for @defer/@stream | 1 commit pushed on 2023-01-16 |
| #1091 | RFC X / Superseded | @benjie | Define Data Collections used in the spec | Added to WG agenda on 2024-06-06 |
| #1010 | RFC X / Superseded | @mjmahone | Fragment Arguments: Spec Implementation | Added to WG agenda on 2024-02-01 |
| #865 | RFC X / Superseded | @mjmahone | Fragment Arguments (parameterized fragments) for GraphQL | 1 commit pushed on 2023-01-11 |