Complete index

All RFCs

Full tracker view including open, merged, rejected, and superseded RFCs.

RFCStageChampionTitleLatest
#1193Next stageRFC 3 / Accepted@janettecUpdate description of Fragments to emphasize evolving data needs1 commit pushed on 2026-02-05
#1170RFC 3 / Accepted@fotoetienneAdd descriptions to executable documents | 2025 Update3 commits pushed on 2025-07-01
#1092RFC 3 / Accepted@benjieRecommend that order of unordered collections is maintained where possible5 commits pushed on 2025-09-01
#825RFC 3 / Accepted@benjieOneOf Input Objects5 commits pushed on 2025-09-01
#794RFC 3 / Accepted@magicmarkSchema Coordinates5 commits pushed on 2025-09-01
#1056RFC 3 / Accepted@benjieFix CoerceArgumentValues() hasValue1 commit pushed on 2025-07-03
#1102RFC 3 / Accepted@benjieDefine Data Collections used in the spec1 commit pushed on 2025-07-01
#793RFC 3 / Accepted@benjieDefault value coercion rules2 commits pushed on 2025-07-01
#955RFC 3 / Accepted@benjaminjkraftAdd validation rule that operation types existAdded to WG agenda on 2025-06-26
#1167RFC 3 / Accepted@benjieDo not exclude schema keyword if schema has descriptionAdded to WG agenda on 2025-06-26
#860RFC 3 / Accepted@benjiePrevent @skip and @include on root subscription selection setAdded to WG agenda on 2025-06-05
#776RFC 3 / Accepted@benjie__typename is not valid at subscription rootAdded to WG agenda on 2021-05-13
#525RFC 3 / Accepted@smitt04Allow deprecation of input valuesMentioned in WG notes on 2021-02-04
#1053RFC 3 / Accepted@benjieImplementations may not deprecate a field that the interface hasn't deprecatedAdded to WG agenda on 2025-05-01
#1142RFC 3 / Accepted@martinbonninmake `includeDeprecated` non nullableAdded to WG agenda on 2025-05-01
#976RFC 3 / Accepted@benjieAdd 'extensions' to request1 commit pushed on 2025-04-17
#1040RFC 3 / Accepted@martinbonninMake the reason argument in `@deprecated` non-nullableAdded to WG agenda on 2024-12-05
#1073RFC 3 / Accepted@martinbonninBe strict about error paths formatAdded to WG agenda on 2024-04-04
#649RFC 3 / Accepted@eapacheCustom Scalar Specification URLs2 commits pushed on 2021-04-09
#987RFC 3 / Accepted@benjieFix ambiguity around when schema definition may be omitted1 commit pushed on 2023-02-09
#803RFC 3 / Accepted@benjieReplace 'query error' with 'request error'2 commits pushed on 2021-04-07
#891RFC 3 / Accepted@dugenkui03Add explanation about argument name uniqueness.Added to WG agenda on 2023-02-02
#599RFC 3 / Accepted@leebyronClarify that lexing is greedyAdded to WG agenda on 2019-10-10
#805RFC 3 / Accepted@IvanGoncharovAllow deprecation of input values (field args, directive args, input fields)1 commit pushed on 2022-06-03
#849RFC 3 / Accepted@leebyronAllow full unicode range1 commit pushed on 2022-06-02
#373RFC 3 / Accepted@mike-marcacciAllow interfaces to implement other interfaces5 commits pushed on 2020-01-11
#466RFC 3 / Accepted@IvanGoncharovAdd description to SchemaSpec PR created on 2018-06-13
#470RFC 3 / Accepted@OlegIlyenko"Directive order is significant" sectionSpec PR created on 2018-06-23
#472RFC 3 / Accepted@OlegIlyenkoRepeatable directives2 commits pushed on 2020-01-10
#510RFC 3 / Accepted@mjmahoneAllow directives on variable definitionsSpec PR created on 2018-08-29
#601RFC 3 / Accepted@leebyronNumber value literal lookahead restrictionsAdded to WG agenda on 2019-10-10
#598RFC 3 / Accepted@leebyronAvoid parse ambiguity on types & extensionsAdded to WG agenda on 2019-08-01
#701RFC 3 / Accepted@spawniaDisallow non-breakable chains of circular references in Input Objects2 commits pushed on 2021-01-11
#454RFC 3 / Accepted@IvanGoncharovAdd validation steps for schema extensionsSpec PR created on 2018-06-04
#459RFC 3 / Accepted@mjmahoneRemove Interface is implemented by 1+ Objects validationSpec PR created on 2018-06-08
#462RFC 3 / Accepted@leebyronInput & Output type definitionSpec PR created on 2018-06-10
#463RFC 3 / Accepted@leebyronEnsure validation of directive argumentsSpec PR created on 2018-06-11
#1110RFC 2 / Draft@robrichardIncremental Delivery spec draft1 commit pushed on 2025-01-09
#1058RFC 2 / Draft@benjieList coercion algorithmAdded to WG agenda on 2025-07-03
#1177Next stageRFC 1 / Proposal@benjieIncorporate meta-fields into ExecuteCollectedFields4 commits pushed on 2025-07-04
#1211RFC 1 / Proposal@jbellengerOneOf inhabitabilityAdded to WG agenda on 2026-03-05
#997RFC 1 / Proposal@fotoetienneExpand @deprecated to ObjectsAdded to WG agenda on 2025-06-26
#1206RFC 1 / Proposal@BoDAdd support for directives on directive definitionsAdded to WG agenda on 2026-01-15
#1163RFC 1 / Proposal@benjieService capabilities / error behaviorsAdded to WG agenda on 2026-01-15
#1179RFC 1 / Proposal@leebyronCoerceInputValue()6 commits pushed on 2025-07-05
#1059RFC 1 / Proposal@benjieIntroduce Strict and Legacy All Variable Usages Are AllowedAdded to WG agenda on 2023-12-07
#1127RFC 1 / Proposal@benjieWhen `sourceStream` errors, yield a `{ errors: [...] }` responseAdded to WG agenda on 2025-01-09
#509RFC 1 / Proposal@taionAllow singular variables in list locations1 commit pushed on 2018-09-01
#1208Next stageRFC 0 / Strawman@benjieService capabilitiesSpec PR created on 2026-01-15
#1200Next stageRFC 0 / Strawman@PascalSennAdd Schema Coordinate to GraphQL ErrorsSpec PR created on 2025-10-28
SubscriptionsRFC 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
StructRFC 0 / Strawman-Polymorphic-capable composite symmetric input/output type (`struct`)RFC document updated on 2023-11-28
SemanticNullabilityRFC 0 / Strawman-Semantic NullabilityRFC document updated on 2025-05-01
SchemaFragmentsRFC 0 / Strawman-Schema FragmentsRFC document created on 2021-09-02
SchemaCoordinatesRFC 0 / Strawman-StatusRFC document updated on 2026-01-26
OptInFeaturesRFC 0 / Strawman-Opt-in featuresRFC document updated on 2022-09-30
OperationExpressionsRFC 0 / Strawman-Operation ExpressionsRFC document created on 2021-09-02
ObjectIdentificationRFC 0 / Strawman-Object IdentificationRFC document created on 2025-10-15
MockSpecRFC 0 / Strawman-GraphQL Response Mocking SpecificationRFC document created on 2026-02-02
MetadataStructsRFC 0 / Strawman-Metadata StructsRFC document updated on 2022-08-16
MatchesDirectiveRFC 0 / Strawman-Matches DirectiveRFC document created on 2025-09-19
InputUnionRFC 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
ImplicitInheritanceRFC 0 / Strawman-Implicit InheritanceRFC document updated on 2021-09-03
FullSchemasRFC 0 / Strawman-Full SchemasRFC document updated on 2026-01-28
FragmentModularityRFC 0 / Strawman-Fragment ModularityRFC document created on 2022-01-06
FragmentArgumentsRFC 0 / Strawman-Fragment ArgumentsRFC document created on 2023-02-10
FieldExtensionsRFC 0 / Strawman-StatusRFC document updated on 2026-01-26
FeatureDiscoveryRFC 0 / Strawman-Feature DiscoveryRFC document updated on 2023-11-28
ExpandingSubtypingRFC 0 / Strawman-Expanding Subtyping (for output types)RFC document created on 2022-08-31
DisableErrorPropagationDirectiveRFC 0 / Strawman-Disable Error Propagation DirectiveRFC document created on 2025-03-19
DeferStreamRFC 0 / Strawman-GraphQL Defer and Stream DirectivesRFC document updated on 2024-09-19
CompositeSchemasRFC 0 / Strawman-GraphQL Composite SchemasRFC document updated on 2022-07-22
ClientControlledNullabilityRFC 0 / Strawman-StatusRFC document updated on 2026-01-26
AnnotationStructsRFC 0 / Strawman-Annotation StructsRFC document updated on 2022-08-31
wg#1871RFC 0 / Strawman@nikolayandrProposal: Omit fields when their resolver fails (optional execution mode, no new syntax)WG discussion created on 2025-12-04
#1184RFC 0 / Strawman@benjieSibling errors should not be added after propagationSpec PR created on 2025-07-10
#1183RFC 0 / Strawman@benjieFix "response position" definition; clarify sibling errors on propagationAdded to WG agenda on 2025-07-17
#521RFC 0 / Strawman@IvanGoncharovScalar serialize as built-in scalar typeSpec PR created on 2018-10-14
#1165RFC 0 / Strawman@benjieAdd Transitional Non-Null appendix (`@noPropagate` directive)Spec PR created on 2025-04-30
#1065RFC 0 / Strawman@benjieSemanticNonNull type (null only on error)Added to WG agenda on 2025-04-03
wg#1700RFC 0 / Strawman@leebyronLee's new nullability & error propagation proposalWG discussion created on 2025-03-26
#1050RFC 0 / Strawman@benjieDirective proposal for opting out of null bubbling4 commits pushed on 2025-03-10
wg#1394RFC 0 / Strawman@captbaritoneTrue Nullability SchemaWG discussion created on 2023-09-12
wg#1410RFC 0 / Strawman@leebyronStrict Semantic NullabilityWG discussion created on 2023-10-05
wg#1096RFC 0 / Strawman@leebyron"Metadata Directives" ProposalWG discussion created on 2022-08-04
#1114RFC 0 / Strawman@yaacovCRadd __directive meta field parallel to __typeAdded to WG agenda on 2024-11-07
wg#1239RFC 0 / Strawman@mjmahoneFragment Arguments: RFC + Implementation DetailsWG discussion created on 2023-01-19
#1049RFC 0 / Strawman@martinbonninIntroduce SourceSchemaDocument and FullSchemaDocument2 commits pushed on 2023-11-20
#631RFC 0 / Strawman@victorandreeMake root query operation type optionalAdded to WG agenda on 2019-12-05
#1015RFC 0 / Strawman@leebyron"Root" Types clarity → "Operation Type"Added to WG agenda on 2023-03-02
#998RFC 0 / Strawman@yaacovCRadd spec edits for referencesSpec PR created on 2022-11-03
wg#1071RFC 0 / Strawman@benjieStruct typeWG discussion created on 2022-07-18
wg#857RFC 0 / Strawman@mjmahoneFragment ModularityWG discussion created on 2022-01-07
wg#944RFC 0 / Strawman@yaacovCRNew Intersection TypeWG discussion created on 2022-04-30
wg#815RFC 0 / Strawman@leebyronNested GraphQL MutationsWG discussion created on 2021-12-02
#879RFC 0 / Strawman@mjmahone__fulfilled meta fieldAdded to WG agenda on 2021-09-02
#706RFC 0 / Strawman@francisuAdd support for directives for an object field nameSpec PR created on 2020-04-07
#556RFC 0 / Strawman@langpavelDocument Directives1 commit pushed on 2019-02-01
#325RFC 0 / Strawman@IvanGoncharovAdd "Any" scalar typeSpec PR created on 2017-06-19
#710RFC 0 / Strawman@chemisusAdd namedType and punctuatedName to __TypeAdded to WG agenda on 2020-05-07
#674RFC 0 / Strawman@kassensallow empty selectionsSpec PR created on 2020-01-21
#445RFC 3 / Accepted@spawniaDisallow non-breakable chains of circular references in Input ObjectsAdded to WG agenda on 2019-11-07
#1081RFC 2 / Draft@JoviDeCroockFragment arguments/variables (syntax/validation/execution)1 commit pushed on 2025-11-28
#1063RFC 2 / Draft@benjieType system ordering of: object interfaces, directive arguments, input object fields, enum valuesAdded to WG agenda on 2025-05-01
#1180Next stageRFC 1 / Proposal@JoviDeCroockEditorial: Fix cases in validation where technically a crash could occur due to non-existent definitions1 commit pushed on 2025-11-08
#950RFC 1 / Proposal@yaacovCRallow unions to include interfaces and unionsAdded to WG agenda on 2022-08-04
#939RFC 1 / Proposal@yaacovCRallow unions to declare implementation of interfacesAdded to WG agenda on 2022-06-02
#907RFC 1 / Proposal@IvanGoncharovAdd support for directives on directivesAdded to WG agenda on 2022-01-06
#567RFC 0 / Strawman@benheadallow directives on directive definitionsSpec PR created on 2019-02-28
#673RFC 0 / Strawman@spawniaServers must preserve lexical ordering between SDL and introspection1 commit pushed on 2025-11-05
#1045RFC X / Rejected@benjieRemove fragmentSpreadName from visitedFragments when visit is completeAdded to WG agenda on 2025-07-17
#948RFC X / Rejected@benjieOneOf ObjectsAdded to WG agenda on 2022-06-02
#806RFC X / Rejected@benjie__typename should be valid at subscription rootSpec PR created on 2020-12-05
#888RFC X / Rejected@nojvekMap typeAdded to WG agenda on 2021-10-07
#960RFC X / Rejected@yaacovCRAllow recursion within ResolveAbstractTypeAdded to WG agenda on 2022-07-07
#1018RFC X / Rejected@benjieAlternative proposal for `@stream`/`@defer`Added to WG agenda on 2023-04-06
#395RFC X / Rejected@tgriesserinputUnion typeSpec PR created on 2018-01-11
#895RFC X / Rejected@twofClient Controlled Nullability1 commit pushed on 2022-05-13
#883RFC X / Rejected@IvanGoncharovRelax SameResponseShape algorithm to be compatible with covariant fieldsSpec PR created on 2021-09-02
#1166RFC X / Rejected@benjieEnable 'schema' keyword to be provided without root operationsSpec PR created on 2025-05-01
#733RFC X / Rejected@benjieTagged type1 commit pushed on 2021-01-21
#319RFC X / Rejected@IvanGoncharovAdd '@ignoreIfUnknown' to allow forward compatibility for clientsMentioned in WG notes on 2020-02-06
#232RFC X / Rejected@stubailo__id field for unique identifiers1 commit pushed on 2016-10-31
#606RFC X / Rejected@victorandreeSupport empty composite typesAdded to WG agenda on 2019-12-05
#315RFC X / Rejected@excitement-engineerSupport DateTime scalarSpec PR created on 2017-05-26
#460RFC X / Rejected@mjmahoneRequire Interfaces to have 1+ Objects implementing1 commit pushed on 2018-06-11
#823RFC X / Superseded@benjieoperation expressions2 commits pushed on 2021-03-16
#667RFC X / Superseded@lilianammmatos[RFC Sketch] Defer and Stream DirectivesAdded to WG agenda on 2020-01-09
#586RFC X / Superseded@benjieInput Objects accepting exactly @oneField2 commits pushed on 2019-07-22
#892RFC X / Superseded@IvanGoncharovAdd descriptions to executable definitionsAdded to WG agenda on 2025-06-05
#326RFC X / Superseded@leebyronScalar serialize as built-in scalar typeSpec PR created on 2017-06-19
#471RFC X / Superseded@OlegIlyenkoLimit uniqueness to `@skip`, `@include` and `@deprecated` directives1 commit pushed on 2018-06-25
#1023RFC X / Superseded@yaacovCRincremental delivery without branchingSpec PR created on 2023-03-24
#1026RFC X / Superseded@yaacovCRincremental delivery with deduplication + concurrent executionAdded to WG agenda on 2023-06-01
#999RFC X / Superseded@yaacovCRintroduce ExecuteGroupedFieldSet, CollectRootFields and CollectSubfieldsAdded to WG agenda on 2023-06-01
#1034RFC X / Superseded@yaacovCRincremental delivery with deduplication + concurrent execution1 commit pushed on 2023-09-28
#1048RFC X / Superseded@benjieNull-Only-On-Error / Semantically-Non-Null type (asterisk)Added to WG agenda on 2023-10-05
#1052RFC X / Superseded@yaacovCRdeduplicated incremental delivery8 commits pushed on 2024-01-30
#1126RFC X / Superseded@benjieGraphQL Subscriptions should handle errors in the source streamSpec PR created on 2024-11-21
#1157RFC X / Superseded@martinbonninExclude custom scalar literals from validationSpec PR created on 2025-04-02
#877RFC X / Superseded@IvanGoncharovForbid duplicating argument namesSpec PR created on 2021-07-01
#1098RFC X / Superseded@Shane32Add 5.2.4 Operation Type Exists2 commits pushed on 2024-10-04
#1153RFC X / Superseded@benjieAllow clients to disable error propagation via request parameterAdded to WG agenda on 2025-04-03
#742RFC X / Superseded@robrichardSpec edits for @defer/@stream1 commit pushed on 2023-01-16
#1091RFC X / Superseded@benjieDefine Data Collections used in the specAdded to WG agenda on 2024-06-06
#1010RFC X / Superseded@mjmahoneFragment Arguments: Spec ImplementationAdded to WG agenda on 2024-02-01
#865RFC X / Superseded@mjmahoneFragment Arguments (parameterized fragments) for GraphQL1 commit pushed on 2023-01-11