Logo
GitHubDiscord

Cosmo Router

Open-source, Apache 2.0 GraphQL Federation router written in Go, part of the WunderGraph Cosmo platform.

Type: gateway

Website: https://github.com/wundergraph/cosmo

Features

Feature Supported Since Note
MutationsJul 2015
QueriesJul 2015
SubscriptionsJun 2018

Over graphql-ws, SSE, multipart HTTP and legacy protocols (doc)

Directives on Variable DefinitionsOct 2021
Interfaces on InterfacesOct 2021
Repeatable DirectivesOct 2021
@specifiedByOct 2021 partial

Subgraphs accept it, but composition strips it, so clients never see it (doc)

Deprecated input valuesSep 2025 0.232.1

doc

Executable documents descriptionsSep 2025 0.261.0

pr

@oneOfSep 2025 0.259.0

doc

'application/graphql-response+json' media typedraft -
Directives on directivesdraft -
Empty selection setsdraft -

The parser rejects {} (pr)

GraphQL over HTTPdraft partial

GET and POST are supported, but responses always use application/json

'@defer'ExperimentalRFC2 0.353.0

Off by default; enable with engine.enable_defer. Implements incrementalSpec=v0.2 and rejects clients that ask for the older deferSpec=20220824 format. Versions 0.328.0 to 0.352.x used the older format (doc)

Fragment ArgumentsExperimentalRFC2 -
'@stream'ExperimentalRFC2 -
Deprecated objectsExperimentalRFC1 -
Empty abstract typesExperimentalRFC1 -

Empty interfaces and unions are rejected

Empty objectsExperimentalRFC1 -
'onError' request parameterExperimentalRFC1 -

In progress in the router's engine (branch)

Service capabilitiesExperimentalRFC1 -

In progress in the router's engine (branch)

Field extensionsExperimentalGAP -
@semanticNonNullExperimentalGAP partial

Kept in the client schema, but the router does nothing with it. Requires composition 0.45.0 and wgc 0.93.1 (doc)

Automatic Persisted QueriesExperimental 0.140.0

Off by default (doc)

HTTP batchingExperimental 0.198.0

Off by default; enable with batching.enabled (doc)

HTTP QUERY methodExperimental -
Persisted DocumentsExperimental 0.36.0

The protocol for persisted documents is still TBD (doc)

Semantic IntrospectionExperimental -