-
Notifications
You must be signed in to change notification settings - Fork 441
Labels
featureNew feature or requestNew feature or requestk::apiRelated to API (application interface)Related to API (application interface)k::designRelated to overall design and/or architectureRelated to overall design and/or architecture
Milestone
Description
September 2025 version of GraphQL spec has been released.
Notable contributions
A few notable changes in this edition:
- OneOf input objects, aka "input unions" (RFC: OneOf Input Objects graphql/graphql-spec#825)
- Schema coordinates as a standard for GraphQL tooling and reporting (Schema Coordinates graphql/graphql-spec#794)
- Descriptions on documents, in motivation for AI-consumers (Add descriptions to executable documents | 2025 Update graphql/graphql-spec#1170)
- Broader support for deprecation across a GraphQL Schema (Allow deprecation of input values (field args, directive args, input fields) graphql/graphql-spec#805 Make the reason argument in
@deprecated
non-nullable graphql/graphql-spec#1040 graphql-spec#1053 makeincludeDeprecated
non nullable graphql/graphql-spec#1142)- GraphQL language has been updated to support the full Unicode range (RFC: Allow full unicode range graphql/graphql-spec#849)
- Countless editorial improvements! The spec is much easier to read and contribute to, with fewer ambiguities.
Roadmap
- Support
@oneOf
input objects - Support full unicode range
- Support
@deprecated
on input values - Make
@deprecated(reason: ...)
non-Null
- Reject deprecated fields when interface field is not deprecated
- Make
includeDeprecated
field in introspection non-Null
- Support
description
on documents - Allow specifying schema description
- Rename
VariableDefinitions
toVariablesDefinition
- Recheck
IsValidImplementationFieldType
andIsSubType
algos - Recheck interface fields and arguments covariance
- Recheck argument name uniqueness
- Ensure root types are named properly
- Recheck selection set cannot be empty
- Recheck lists coercion
- Support
extensions
in request - Recheck literals validation
- Adjust documentation of built-in scalars
- Adjust "execution result"/"response" terminology
- Replace
ExecuteSelectionSet
withExecuteCollectedFields
- Support default value coercion rules
- Recheck
CoerceArgumentValues()
hasValue
- Update links to September 2025 spec
Sub-issues
Metadata
Metadata
Assignees
Labels
featureNew feature or requestNew feature or requestk::apiRelated to API (application interface)Related to API (application interface)k::designRelated to overall design and/or architectureRelated to overall design and/or architecture