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 Supported Unsupported Not applicable
Apollo Client client 13.5 4 7
Apollo Kotlin client 26 2 0
Apollo Router gateway 11 13 0
Apollo Server server 13.5 11 0
Apollo iOS client 13 9 2
Cosmo Router gateway 15.5 13 0
Domain Graph Service (DGS) Framework server 10.5 12 2
Fusion gateway 22.5 3 0
GraphQL Code Generator tool 9 13 4
GraphQL Java server 12 10 4
GraphQL Kotlin server 11.5 13 0
GraphQL Yoga server 16.5 9 0
GraphQL.js server 12 11 6
GraphiQL ide 12 14 0
Grats server 10 7 9
Hive Gateway gateway 14.5 9 0
Hot Chocolate server 25 1 0
Mercurius gateway 9 7 13
Nitro ide 13.5 8 1
Relay client 11 11 2
Spring for GraphQL server 11 15 0
gql.tada tool 10.5 8 6
urql client 12.5 5 7

Features

Feature Supported Unsupported Not Applicable
MutationsJul 2015 23 0 0
QueriesJul 2015 23 0 0
SubscriptionsJun 2018 23 0 0
Directives on Variable DefinitionsOct 2021 22 0 1
Interfaces on InterfacesOct 2021 22 0 1
Repeatable DirectivesOct 2021 21.5 0 1
@specifiedByOct 2021 22 0 1
Deprecated input valuesSep 2025 22 0 1
Executable documents descriptionsSep 2025 8.5 11 3
@oneOfSep 2025 12.5 7 3
'application/graphql-response+json' media typedraft 12 4 7
Directives on directivesdraft 5 15 3
Empty selection setsdraft 3 19 1
GraphQL over HTTPdraft 14 2 7
'@defer'ExperimentalRFC2 12.5 7 1
Fragment ArgumentsExperimentalRFC2 5 16 2
'@stream'ExperimentalRFC2 8 12 2
Deprecated objectsExperimentalRFC1 3 17 3
Empty abstract typesExperimentalRFC1 1 21 1
Empty objectsExperimentalRFC1 1 21 1
'onError' request parameterExperimentalRFC1 3 20 0
Service capabilitiesExperimentalRFC1 1 19 3
Field extensionsExperimentalGAP 2.5 18 2
@semanticNonNullExperimentalGAP 7 13 3
Automatic Persisted QueriesExperimental 14 6 3
HTTP batchingExperimental 8 13 1
HTTP QUERY methodExperimental 6 13 4
Persisted DocumentsExperimental 7 6 4
Semantic IntrospectionExperimental 3 16 4