Logo
GitHubDiscord

Can I use ... in GraphQL ?

A directory of newer GraphQL features, both drafted and experimental, and the state of their support across different projects.

The data for this website is open source (GitHub repository) and contributions are warmly welcome. Please see CONTRIBUTING.md for how to add a new project, feature, or to add an existing feature to an existing project.

Background

GraphQL is a wonderful piece of technology. The GraphQL spec has been a very solid foundation for the past 10 years. It's not (yet!) perfect though. Friction points exist and the community has been hard at work improving the daily GraphQL experience.

Most of the friction points have identified solutions in the form of RFCs. Some of them have made it to the spec (`@oneOf`, schema coordinates, ...). Others remain in experimental state. As time passes, it's becoming harder and harder to tell what feature is implemented where. This website bridges that GAP.

Projects

Project Name Type Not applicable Unsupported Supported
Apollo Client client 7 4 12.5
Apollo Kotlin client 0 2 21
Apollo Router gateway 0 12 11
Apollo Server server 0 11 12.5
Apollo iOS client 2 9 12
Domain Graph Service (DGS) Framework server 1 12 10.5
GraphQL Code Generator tool 2 13 9
GraphQL Java server 2 11 11
GraphQL Kotlin server 0 13 10.5
GraphQL Yoga server 0 9 14.5
GraphQL.js server 4 9 11
GraphiQL ide 0 15 9
Grats server 7 7 10
Hive Gateway gateway 0 9 13.5
Hot Chocolate server 0 3 20.5
Relay client 1 11 11
Spring for GraphQL server 0 15 9
gql.tada tool 5 8 10.5
urql client 7 5 11.5

Features

Feature Not Applicable Unsupported Supported
MutationsJul 2015 0 0 19
QueriesJul 2015 0 0 19
SubscriptionsJun 2018 0 0 19
Repeatable DirectivesOct 2021 0 0 19
@specifiedByOct 2021 0 0 19
Directives on Variable DefinitionsOct 2021 0 0 19
Interfaces on InterfacesOct 2021 0 0 19
@oneOfSep 2025 2 7 10
Deprecated input valuesSep 2025 0 0 19
Executable documents descriptionsSep 2025 2 11 5.5
'application/graphql-response+json' media typedraft 7 1 11
'@defer'ExperimentalRFC2 1 7 8.5
'@stream'ExperimentalRFC2 2 9 7
Directives on directivesExperimentalRFC2 2 16 1
Fragment ArgumentsExperimentalRFC2 1 14 4
'onError' request parameterExperimentalRFC1 0 17 2
Deprecated objectsExperimentalRFC1 2 17 0
Service capabilitiesExperimentalRFC1 3 14 2
Field extensionsExperimentalRFC0 1 17 1
@semanticNonNullExperimental 3 11 5
Automatic Persisted QueriesExperimental 3 5 11
HTTP batchingExperimental 1 13 4.5
Persisted DocumentsExperimental 4 5 5
Semantic IntrospectionExperimental 4 14 1