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

Domain Graph Service (DGS) Framework ?

Know the status of this feature? Let us know!

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)

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).