Skip to content

Releases: graphql-hive/router

hive-router 0.0.62 (2026-05-27)

27 May 13:30
b1130c9

Choose a tag to compare

Fixes

Fix VariablesInAllowedPosition rejecting list-typed variables with a non-null default value

The router used to reject valid client queries that declared a list-typed variable with a non-null default value, for example:

query Q($arg: [SomeEnum!] = SOME_VALUE) {
  field(arg: $arg)
}

with a VariablesInAllowedPosition validation error containing a malformed type:

Variable "$arg" of type "SomeEnum!!" used in position expecting type "[SomeEnum!]".

The rule used to compute the variable's effective type incorrectly when the variable was list-typed and had a non-null default value: it dropped the list wrapper and re-wrapped the inner element type in NonNull, producing the invalid T!! shape. Per the spec, a non-null default value makes the variable usable in a non-null position; the variable's effective type should be NonNull(var_type), not NonNull(element_type). So for [SomeEnum!] with a non-null default, the effective type is now correctly [SomeEnum!]! (and the query is accepted).

hive-router-query-planner 2.8.3 (2026-05-27)

27 May 13:30
b1130c9

Choose a tag to compare

Fixes

Fix VariablesInAllowedPosition rejecting list-typed variables with a non-null default value

The router used to reject valid client queries that declared a list-typed variable with a non-null default value, for example:

query Q($arg: [SomeEnum!] = SOME_VALUE) {
  field(arg: $arg)
}

with a VariablesInAllowedPosition validation error containing a malformed type:

Variable "$arg" of type "SomeEnum!!" used in position expecting type "[SomeEnum!]".

The rule used to compute the variable's effective type incorrectly when the variable was list-typed and had a non-null default value: it dropped the list wrapper and re-wrapped the inner element type in NonNull, producing the invalid T!! shape. Per the spec, a non-null default value makes the variable usable in a non-null position; the variable's effective type should be NonNull(var_type), not NonNull(element_type). So for [SomeEnum!] with a non-null default, the effective type is now correctly [SomeEnum!]! (and the query is accepted).

hive-router-plan-executor 6.13.8 (2026-05-27)

27 May 14:49
f2a0837

Choose a tag to compare

Fixes

Add tracing sampling rate environment override

The tracing sampling rate can now be overridden without editing the router config file:

TELEMETRY_TRACING_SAMPLING_RATE=0.1

This sets the same value as the following YAML configuration:

telemetry:
  tracing:
    collect:
      sampling: 0.1

hive-router-plan-executor 6.13.7 (2026-05-27)

27 May 13:30
b1130c9

Choose a tag to compare

Fixes

Fix VariablesInAllowedPosition rejecting list-typed variables with a non-null default value

The router used to reject valid client queries that declared a list-typed variable with a non-null default value, for example:

query Q($arg: [SomeEnum!] = SOME_VALUE) {
  field(arg: $arg)
}

with a VariablesInAllowedPosition validation error containing a malformed type:

Variable "$arg" of type "SomeEnum!!" used in position expecting type "[SomeEnum!]".

The rule used to compute the variable's effective type incorrectly when the variable was list-typed and had a non-null default value: it dropped the list wrapper and re-wrapped the inner element type in NonNull, producing the invalid T!! shape. Per the spec, a non-null default value makes the variable usable in a non-null position; the variable's effective type should be NonNull(var_type), not NonNull(element_type). So for [SomeEnum!] with a non-null default, the effective type is now correctly [SomeEnum!]! (and the query is accepted).

hive-router-internal 0.0.25 (2026-05-27)

27 May 14:49
f2a0837

Choose a tag to compare

Fixes

Add tracing sampling rate environment override

The tracing sampling rate can now be overridden without editing the router config file:

TELEMETRY_TRACING_SAMPLING_RATE=0.1

This sets the same value as the following YAML configuration:

telemetry:
  tracing:
    collect:
      sampling: 0.1

hive-router-config 0.0.37 (2026-05-27)

27 May 14:49
f2a0837

Choose a tag to compare

Fixes

Add tracing sampling rate environment override

The tracing sampling rate can now be overridden without editing the router config file:

TELEMETRY_TRACING_SAMPLING_RATE=0.1

This sets the same value as the following YAML configuration:

telemetry:
  tracing:
    collect:
      sampling: 0.1

hive-console-sdk 0.3.14 (2026-05-27)

27 May 13:30
b1130c9

Choose a tag to compare

Fixes

Fix VariablesInAllowedPosition rejecting list-typed variables with a non-null default value

The router used to reject valid client queries that declared a list-typed variable with a non-null default value, for example:

query Q($arg: [SomeEnum!] = SOME_VALUE) {
  field(arg: $arg)
}

with a VariablesInAllowedPosition validation error containing a malformed type:

Variable "$arg" of type "SomeEnum!!" used in position expecting type "[SomeEnum!]".

The rule used to compute the variable's effective type incorrectly when the variable was list-typed and had a non-null default value: it dropped the list wrapper and re-wrapped the inner element type in NonNull, producing the invalid T!! shape. Per the spec, a non-null default value makes the variable usable in a non-null position; the variable's effective type should be NonNull(var_type), not NonNull(element_type). So for [SomeEnum!] with a non-null default, the effective type is now correctly [SomeEnum!]! (and the query is accepted).

graphql-tools 0.5.5 (2026-05-27)

27 May 13:30
b1130c9

Choose a tag to compare

Fixes

Fix VariablesInAllowedPosition rejecting list-typed variables with a non-null default value

The router used to reject valid client queries that declared a list-typed variable with a non-null default value, for example:

query Q($arg: [SomeEnum!] = SOME_VALUE) {
  field(arg: $arg)
}

with a VariablesInAllowedPosition validation error containing a malformed type:

Variable "$arg" of type "SomeEnum!!" used in position expecting type "[SomeEnum!]".

The rule used to compute the variable's effective type incorrectly when the variable was list-typed and had a non-null default value: it dropped the list wrapper and re-wrapped the inner element type in NonNull, producing the invalid T!! shape. Per the spec, a non-null default value makes the variable usable in a non-null position; the variable's effective type should be NonNull(var_type), not NonNull(element_type). So for [SomeEnum!] with a non-null default, the effective type is now correctly [SomeEnum!]! (and the query is accepted).

hive-router 0.0.61 (2026-05-26)

26 May 17:45
a878c17

Choose a tag to compare

Features

External storage support (e.g S3)

documentation

This release introduces a new top-level storages configuration and the first storage backend, s3, so the router can load external artifacts from object storage.

With this change, both the supergraph source and persisted_documents manifest can be resolved from a configured storage by reference. It also adds optional polling support so the router can reload updated content from storage without restarting.

Start by configuring the storage in your router config:

storages: 
  my-s3: # this is the storage id 
    type: s3
    bucket: my-bucket
    region: eu-west-1
    # .. additional S3 configurations 

Then, you can use the storage id in your supergraph source:

supergraph:
  source: storage
  storage_id: my-s3
  location: supergraphs/current.graphql
  poll_interval: 30s

Or, you can use the storage id in your persisted_documents manifest:

persisted_documents:
  enabled: true
  require_id: true
  storage:
    type: storage
    storage_id: my-s3
    location: persisted/manifest.json
    poll_interval: 30s

Fixes

Remove dependency ntex from console-sdk

Other pkgs are released due to minor refactor and code relocation.

Warn about debug binary in production use

Added a warning message to the router binary to warn users about using a debug binary in production use.

This is intended to prevent cases where users accidentally use a debug binary in production, which can lead to performance issues.

hive-router-plan-executor 6.13.6 (2026-05-26)

26 May 17:45
a878c17

Choose a tag to compare

Fixes

External storage support (e.g S3)

documentation

This release introduces a new top-level storages configuration and the first storage backend, s3, so the router can load external artifacts from object storage.

With this change, both the supergraph source and persisted_documents manifest can be resolved from a configured storage by reference. It also adds optional polling support so the router can reload updated content from storage without restarting.

Start by configuring the storage in your router config:

storages: 
  my-s3: # this is the storage id 
    type: s3
    bucket: my-bucket
    region: eu-west-1
    # .. additional S3 configurations 

Then, you can use the storage id in your supergraph source:

supergraph:
  source: storage
  storage_id: my-s3
  location: supergraphs/current.graphql
  poll_interval: 30s

Or, you can use the storage id in your persisted_documents manifest:

persisted_documents:
  enabled: true
  require_id: true
  storage:
    type: storage
    storage_id: my-s3
    location: persisted/manifest.json
    poll_interval: 30s

Remove dependency ntex from console-sdk

Other pkgs are released due to minor refactor and code relocation.