Skip to content

Releases: graphql-hive/router

hive-router-internal 0.0.22 (2026-05-17)

18 May 07:37
d02de5f

Choose a tag to compare

Fixes

Implement Circuit Breaker for Subgraph Requests

This change introduces a circuit breaker mechanism for subgraph requests in the Hive Router. The circuit breaker will monitor the success and failure rates of requests to each subgraph and will prevent future requests if the failure rate exceeds a certain threshold. When the circuit breaker is opened, subsequent requests to that subgraph will fail immediately without attempting to send the request.

This implementation helps improve the resilience and stability of the Hive Router when dealing with unreliable subgraphs.

hive-router-config 0.0.35 (2026-05-17)

18 May 07:37
d02de5f

Choose a tag to compare

Fixes

Implement Circuit Breaker for Subgraph Requests

This change introduces a circuit breaker mechanism for subgraph requests in the Hive Router. The circuit breaker will monitor the success and failure rates of requests to each subgraph and will prevent future requests if the failure rate exceeds a certain threshold. When the circuit breaker is opened, subsequent requests to that subgraph will fail immediately without attempting to send the request.

This implementation helps improve the resilience and stability of the Hive Router when dealing with unreliable subgraphs.

hive-console-sdk 0.3.11 (2026-05-17)

18 May 07:37
d02de5f

Choose a tag to compare

Fixes

Implement Circuit Breaker for Subgraph Requests

This change introduces a circuit breaker mechanism for subgraph requests in the Hive Router. The circuit breaker will monitor the success and failure rates of requests to each subgraph and will prevent future requests if the failure rate exceeds a certain threshold. When the circuit breaker is opened, subsequent requests to that subgraph will fail immediately without attempting to send the request.

This implementation helps improve the resilience and stability of the Hive Router when dealing with unreliable subgraphs.

hive-router 0.0.57 (2026-05-13)

13 May 11:51
e3b0b61

Choose a tag to compare

Features

Allow overriding number of HTTP server workers

Adds a new http.workers configuration option (and ROUTER_HTTP_WORKERS environment variable) to control the number of HTTP server worker threads.

By default, the router spawns one worker per physical CPU core. In containerized environments such as Kubernetes the number of physical cores reported by the OS is often higher than the CPU limit assigned to the container, which leads to oversubscribed worker threads. Set http.workers (or ROUTER_HTTP_WORKERS) to match the container's CPU limit to avoid this.

http:
  workers: 4

Add cors.preflight_response_headers to attach headers to CORS preflight (OPTIONS) responses

Adds a new optional preflight_response_headers map to the cors configuration block, and to each entry under cors.policies. The map allows attaching arbitrary headers (e.g. Cache-Control, Server-Timing, custom X-* headers) to CORS preflight (OPTIONS) responses.

This is useful because the headers configuration block does not affect preflight responses (they are returned early by the CORS layer), so there was previously no way to control headers like Cache-Control for OPTIONS requests.

Example:

cors:
  enabled: true
  allow_any_origin: true
  max_age: 86400
  preflight_response_headers:
    Cache-Control: "public, max-age=86400"

hive-router 0.0.56 (2026-05-12)

13 May 06:29
58bdc08

Choose a tag to compare

Features

Allow overriding number of HTTP server workers

Adds a new http.workers configuration option (and ROUTER_HTTP_WORKERS environment variable) to control the number of HTTP server worker threads.

By default, the router spawns one worker per physical CPU core. In containerized environments such as Kubernetes the number of physical cores reported by the OS is often higher than the CPU limit assigned to the container, which leads to oversubscribed worker threads. Set http.workers (or ROUTER_HTTP_WORKERS) to match the container's CPU limit to avoid this.

http:
  workers: 4

Add cors.preflight_response_headers to attach headers to CORS preflight (OPTIONS) responses

Adds a new optional preflight_response_headers map to the cors configuration block, and to each entry under cors.policies. The map allows attaching arbitrary headers (e.g. Cache-Control, Server-Timing, custom X-* headers) to CORS preflight (OPTIONS) responses.

This is useful because the headers configuration block does not affect preflight responses (they are returned early by the CORS layer), so there was previously no way to control headers like Cache-Control for OPTIONS requests.

Example:

cors:
  enabled: true
  allow_any_origin: true
  max_age: 86400
  preflight_response_headers:
    Cache-Control: "public, max-age=86400"

hive-router-plan-executor 6.13.3 (2026-05-13)

13 May 11:51
e3b0b61

Choose a tag to compare

Fixes

Allow overriding number of HTTP server workers

Adds a new http.workers configuration option (and ROUTER_HTTP_WORKERS environment variable) to control the number of HTTP server worker threads.

By default, the router spawns one worker per physical CPU core. In containerized environments such as Kubernetes the number of physical cores reported by the OS is often higher than the CPU limit assigned to the container, which leads to oversubscribed worker threads. Set http.workers (or ROUTER_HTTP_WORKERS) to match the container's CPU limit to avoid this.

http:
  workers: 4

Add cors.preflight_response_headers to attach headers to CORS preflight (OPTIONS) responses

Adds a new optional preflight_response_headers map to the cors configuration block, and to each entry under cors.policies. The map allows attaching arbitrary headers (e.g. Cache-Control, Server-Timing, custom X-* headers) to CORS preflight (OPTIONS) responses.

This is useful because the headers configuration block does not affect preflight responses (they are returned early by the CORS layer), so there was previously no way to control headers like Cache-Control for OPTIONS requests.

Example:

cors:
  enabled: true
  allow_any_origin: true
  max_age: 86400
  preflight_response_headers:
    Cache-Control: "public, max-age=86400"

hive-router-internal 0.0.21 (2026-05-13)

13 May 11:51
e3b0b61

Choose a tag to compare

Fixes

Allow overriding number of HTTP server workers

Adds a new http.workers configuration option (and ROUTER_HTTP_WORKERS environment variable) to control the number of HTTP server worker threads.

By default, the router spawns one worker per physical CPU core. In containerized environments such as Kubernetes the number of physical cores reported by the OS is often higher than the CPU limit assigned to the container, which leads to oversubscribed worker threads. Set http.workers (or ROUTER_HTTP_WORKERS) to match the container's CPU limit to avoid this.

http:
  workers: 4

Add cors.preflight_response_headers to attach headers to CORS preflight (OPTIONS) responses

Adds a new optional preflight_response_headers map to the cors configuration block, and to each entry under cors.policies. The map allows attaching arbitrary headers (e.g. Cache-Control, Server-Timing, custom X-* headers) to CORS preflight (OPTIONS) responses.

This is useful because the headers configuration block does not affect preflight responses (they are returned early by the CORS layer), so there was previously no way to control headers like Cache-Control for OPTIONS requests.

Example:

cors:
  enabled: true
  allow_any_origin: true
  max_age: 86400
  preflight_response_headers:
    Cache-Control: "public, max-age=86400"

hive-router-config 0.0.34 (2026-05-12)

13 May 06:29
58bdc08

Choose a tag to compare

Features

Allow overriding number of HTTP server workers

Adds a new http.workers configuration option (and ROUTER_HTTP_WORKERS environment variable) to control the number of HTTP server worker threads.

By default, the router spawns one worker per physical CPU core. In containerized environments such as Kubernetes the number of physical cores reported by the OS is often higher than the CPU limit assigned to the container, which leads to oversubscribed worker threads. Set http.workers (or ROUTER_HTTP_WORKERS) to match the container's CPU limit to avoid this.

http:
  workers: 4

Add cors.preflight_response_headers to attach headers to CORS preflight (OPTIONS) responses

Adds a new optional preflight_response_headers map to the cors configuration block, and to each entry under cors.policies. The map allows attaching arbitrary headers (e.g. Cache-Control, Server-Timing, custom X-* headers) to CORS preflight (OPTIONS) responses.

This is useful because the headers configuration block does not affect preflight responses (they are returned early by the CORS layer), so there was previously no way to control headers like Cache-Control for OPTIONS requests.

Example:

cors:
  enabled: true
  allow_any_origin: true
  max_age: 86400
  preflight_response_headers:
    Cache-Control: "public, max-age=86400"

node-addon 0.0.27 (2026-05-11)

12 May 07:32
f9dd95d

Choose a tag to compare

Fixes

Escape inline string arguments when emitting subgraph operations

Fixes a bug where string values inlined as arguments in subgraph operations were not re-escaped per the GraphQL spec. When an incoming operation contained a string literal whose decoded value carried a quote or backslash (for example payload: "\"quoted\""), the router forwarded the argument to the subgraph as payload: ""quoted"", producing invalid GraphQL. The same went for newlines, tabs, and other control characters.

Now the characters are escaped properly per the GraphQL spec.

hive-router 0.0.55 (2026-05-11)

12 May 07:32
f9dd95d

Choose a tag to compare

Fixes

Escape inline string arguments when emitting subgraph operations

Fixes a bug where string values inlined as arguments in subgraph operations were not re-escaped per the GraphQL spec. When an incoming operation contained a string literal whose decoded value carried a quote or backslash (for example payload: "\"quoted\""), the router forwarded the argument to the subgraph as payload: ""quoted"", producing invalid GraphQL. The same went for newlines, tabs, and other control characters.

Now the characters are escaped properly per the GraphQL spec.