Logo
GitHubDiscord

'@stream'ExperimentalRFC2

The @stream directive allows you to stream array items incrementally from your GraphQL server.

There are several versions of the incremental protocol used by @defer. The latest protocol uses multipart/mixed;incrementalSpec=v0.2 as the Accept header. The previous one used multipart/mixed;deferSpec=20220824 as the Accept header.

More info: https://specs.apollo.dev/incremental/v0.2/#sec--@stream-

Projects

Project Name Supported Since Note
Apollo Client 4.1

Apollo Client supports @stream using both incremental v0.1 and incremental v0.2 since 4.1. The protocol needs explicit opt-it (blog post)

Apollo Kotlin 5.0.0-alpha.3

pr, doc

Apollo Router -
Apollo Server 5.1.0

@stream support requires graphql-js:17.0.0-alpha.9 (doc)

Apollo iOS -

issue

Cosmo Router -
Domain Graph Service (DGS) Framework ?

Know the status of this feature? Let us know!

Fusion -
GraphQL Code Generator ?

Know the status of this feature? Let us know!

GraphQL Java ?

Know the status of this feature? Let us know!

GraphQL Kotlin ?

Know the status of this feature? Let us know!

GraphQL Yoga 3.0.0

Requires the defer and stream plugin. Read more.

GraphQL.js ?

Know the status of this feature? Let us know!

GraphiQL ?

Know the status of this feature? Let us know!

Grats N/A

@stream is provided by the server

Hive Gateway 1.0.0

Only supports the incremental:0.1 format. Read more.

Hot Chocolate 16.0.0

Hot Chocolate supports @stream using the incremental v0.2 protocol since 16.0.0 and using the older protocol since 13.0.0 (doc)

Mercurius -
Nitro
Relay 15.0.0

Relay does not support the latest version of the incremental protocol (issue)

Spring for GraphQL ?

Know the status of this feature? Let us know!

gql.tada N/A

gql.tada is transport agnostic; @stream delivery is handled by the client/server transport.

urql 2.3.0

Experimental multipart incremental delivery support for @defer and @stream was added in 2.3.0 (pr). The protocol was later updated in 3.2.0 (pr) and 4.1.4 (pr).