Releases: graphql-hive/router
Release list
node-addon 0.0.41 (2026-07-07)
Fixes
Query Planning performance improvements
Removed unused per-path edge tracking and switched to references instead of owned values - no cloning of selection items.
hive-router 0.0.81 (2026-07-07)
Fixes
- Bump version - no changes
hive-router 0.0.80 (2026-07-07)
Features
Allow to bypass persisted document ID requirement
Add hive::persisted_documents::skip_enforcement request context flag. When set to true, the router skips the persisted document ID requirement. This allows requests with a full operation string to pass through even when persisted_documents.require_id is enabled.
The flag is writable from OnHttpRequest and OnGraphqlParams plugin hooks, and from the router.request coprocessor stage.
persisted_documents.require_id now accepts an expression in addition to a static boolean. The expression is evaluated per-request and supports request context (.request.headers, .request.method, .request.url) and the env() function for environment variables. When the expression returns true, the document ID requirement is enforced, when false, it is skipped for that request.
Example:
persisted_documents:
require_id:
expression: |
is_null(env("BYPASS_SECRET")) || .request.headers."x-bypass-require-id" != env("BYPASS_SECRET")Fixes
Query Planning performance improvements
Removed unused per-path edge tracking and switched to references instead of owned values - no cloning of selection items.
hive-router-query-planner 2.10.9 (2026-07-07)
Fixes
- Bump version - no changes
hive-router-query-planner 2.10.8 (2026-07-07)
Fixes
Query Planning performance improvements
Removed unused per-path edge tracking and switched to references instead of owned values - no cloning of selection items.
hive-router-plan-executor 6.21.1 (2026-07-07)
Fixes
- Bump version - no changes
hive-router-plan-executor 6.21.0 (2026-07-07)
Features
Allow to bypass persisted document ID requirement
Add hive::persisted_documents::skip_enforcement request context flag. When set to true, the router skips the persisted document ID requirement. This allows requests with a full operation string to pass through even when persisted_documents.require_id is enabled.
The flag is writable from OnHttpRequest and OnGraphqlParams plugin hooks, and from the router.request coprocessor stage.
persisted_documents.require_id now accepts an expression in addition to a static boolean. The expression is evaluated per-request and supports request context (.request.headers, .request.method, .request.url) and the env() function for environment variables. When the expression returns true, the document ID requirement is enforced, when false, it is skipped for that request.
Example:
persisted_documents:
require_id:
expression: |
is_null(env("BYPASS_SECRET")) || .request.headers."x-bypass-require-id" != env("BYPASS_SECRET")Fixes
Query Planning performance improvements
Removed unused per-path edge tracking and switched to references instead of owned values - no cloning of selection items.
hive-router-internal 0.0.35 (2026-07-07)
Fixes
- Bump version - no changes
hive-router-config 0.1.7 (2026-07-07)
Fixes
- Bump version - no changes
node-addon 0.0.40 (2026-07-06)
Fixes
Fix stack overflow on cyclic fragment spreads with sibling fields or directives
A self-referential fragment that also selects a sibling field (fragment A on Query { x ...A }) or puts a directive on the cycling spread (...A @include(if: $c)) caused unbounded recursion during fragment inlining in normalization, overflowing the stack and crashing the process.
Fixed false circular dependency detection in case of @requires
We fixed a query planner bug that could make some valid federated queries fail.
The issue happened when planning fields with nested @requires data. The planner compared required selection sets using only the top-level field, ignoring the rest of the selection set. For example, foo { bar } and foo { baz { qux } } could both be treated as overlapping foo.
This could make the planner drop a valid way to fetch the required data too early.