Skip to content

Commit cd2c147

Browse files
chore(release): router crates and artifacts (#688)
> [!IMPORTANT] > Merging this pull request will create these releases # executor 6.3.5 (2026-01-22) ## Fixes ### New Query Complexity Configuration in `hive-router` and `hive-router-config` We have introduced a new configuration module for query complexity in the Hive Router. This includes new validation rules to enforce maximum query depth, maximum number of directives in the incoming GraphQL operation, helping to prevent overly complex queries that could impact performance. ## Max Depth By default, it is disabled, but you can enable and configure it in your router configuration as follows: ```yaml limits: max_depth: n: 10 # Set the maximum allowed depth for queries ``` This configuration allows you to set a maximum depth for incoming GraphQL queries, enhancing the robustness of your API by mitigating the risk of deep-nested queries. ## Max Directives You can also limit the number of directives in incoming GraphQL operations. This is also disabled by default. You can enable and configure it as follows: ```yaml limits: max_directives: n: 5 # Set the maximum allowed number of directives ``` This configuration helps to prevent excessive use of directives in queries, which can lead to performance issues. ## Max Tokens Additionally, we have introduced a new configuration option to limit the maximum number of tokens in incoming GraphQL operations. This feature is designed to prevent excessively large queries that could impact server performance. By default, this limit is disabled. You can enable and configure it in your router configuration as follows: ```yaml limits: max_tokens: n: 1000 # Set the maximum allowed number of tokens ``` This configuration allows you to set a maximum token count for incoming GraphQL queries, helping to ensure that queries remain manageable and do not overwhelm the server. With these new configurations, you can better manage the complexity of incoming GraphQL queries and ensure the stability and performance of your API. ### Refactor Parse Error Handling in `graphql-tools` Breaking; - `ParseError(String)` is now `ParseError(InternalError<'static>)`. - - So that the internals of the error can be better structured and more informative, such as including line and column information. - `ParseError`s are no longer prefixed with "query parse error: " in their Display implementation. # query-planner 2.1.7 (2026-01-22) ## Fixes ### Refactor Parse Error Handling in `graphql-tools` Breaking; - `ParseError(String)` is now `ParseError(InternalError<'static>)`. - - So that the internals of the error can be better structured and more informative, such as including line and column information. - `ParseError`s are no longer prefixed with "query parse error: " in their Display implementation. # config 0.0.18 (2026-01-22) ## Features ### New Query Complexity Configuration in `hive-router` and `hive-router-config` We have introduced a new configuration module for query complexity in the Hive Router. This includes new validation rules to enforce maximum query depth, maximum number of directives in the incoming GraphQL operation, helping to prevent overly complex queries that could impact performance. ## Max Depth By default, it is disabled, but you can enable and configure it in your router configuration as follows: ```yaml limits: max_depth: n: 10 # Set the maximum allowed depth for queries ``` This configuration allows you to set a maximum depth for incoming GraphQL queries, enhancing the robustness of your API by mitigating the risk of deep-nested queries. ## Max Directives You can also limit the number of directives in incoming GraphQL operations. This is also disabled by default. You can enable and configure it as follows: ```yaml limits: max_directives: n: 5 # Set the maximum allowed number of directives ``` This configuration helps to prevent excessive use of directives in queries, which can lead to performance issues. ## Max Tokens Additionally, we have introduced a new configuration option to limit the maximum number of tokens in incoming GraphQL operations. This feature is designed to prevent excessively large queries that could impact server performance. By default, this limit is disabled. You can enable and configure it in your router configuration as follows: ```yaml limits: max_tokens: n: 1000 # Set the maximum allowed number of tokens ``` This configuration allows you to set a maximum token count for incoming GraphQL queries, helping to ensure that queries remain manageable and do not overwhelm the server. With these new configurations, you can better manage the complexity of incoming GraphQL queries and ensure the stability and performance of your API. # hive-console-sdk 0.3.4 (2026-01-22) ## Fixes ### Refactor Parse Error Handling in `graphql-tools` Breaking; - `ParseError(String)` is now `ParseError(InternalError<'static>)`. - - So that the internals of the error can be better structured and more informative, such as including line and column information. - `ParseError`s are no longer prefixed with "query parse error: " in their Display implementation. # node-addon 0.0.11 (2026-01-22) ## Fixes ### Refactor Parse Error Handling in `graphql-tools` Breaking; - `ParseError(String)` is now `ParseError(InternalError<'static>)`. - - So that the internals of the error can be better structured and more informative, such as including line and column information. - `ParseError`s are no longer prefixed with "query parse error: " in their Display implementation. # graphql-tools 0.5.0 (2026-01-22) ## Breaking Changes ### Refactor Parse Error Handling in `graphql-tools` Breaking; - `ParseError(String)` is now `ParseError(InternalError<'static>)`. - - So that the internals of the error can be better structured and more informative, such as including line and column information. - `ParseError`s are no longer prefixed with "query parse error: " in their Display implementation. # internal 0.0.7 (2026-01-22) ## Fixes ### New Query Complexity Configuration in `hive-router` and `hive-router-config` We have introduced a new configuration module for query complexity in the Hive Router. This includes new validation rules to enforce maximum query depth, maximum number of directives in the incoming GraphQL operation, helping to prevent overly complex queries that could impact performance. ## Max Depth By default, it is disabled, but you can enable and configure it in your router configuration as follows: ```yaml limits: max_depth: n: 10 # Set the maximum allowed depth for queries ``` This configuration allows you to set a maximum depth for incoming GraphQL queries, enhancing the robustness of your API by mitigating the risk of deep-nested queries. ## Max Directives You can also limit the number of directives in incoming GraphQL operations. This is also disabled by default. You can enable and configure it as follows: ```yaml limits: max_directives: n: 5 # Set the maximum allowed number of directives ``` This configuration helps to prevent excessive use of directives in queries, which can lead to performance issues. ## Max Tokens Additionally, we have introduced a new configuration option to limit the maximum number of tokens in incoming GraphQL operations. This feature is designed to prevent excessively large queries that could impact server performance. By default, this limit is disabled. You can enable and configure it in your router configuration as follows: ```yaml limits: max_tokens: n: 1000 # Set the maximum allowed number of tokens ``` This configuration allows you to set a maximum token count for incoming GraphQL queries, helping to ensure that queries remain manageable and do not overwhelm the server. With these new configurations, you can better manage the complexity of incoming GraphQL queries and ensure the stability and performance of your API. # router 0.0.33 (2026-01-22) ## Features - Query Complexity: Max Depth, Max Directives, Max Tokens (#623) - Enable/Disable Introspection with `introspection` (#655) ### New Query Complexity Configuration in `hive-router` and `hive-router-config` We have introduced a new configuration module for query complexity in the Hive Router. This includes new validation rules to enforce maximum query depth, maximum number of directives in the incoming GraphQL operation, helping to prevent overly complex queries that could impact performance. ## Max Depth By default, it is disabled, but you can enable and configure it in your router configuration as follows: ```yaml limits: max_depth: n: 10 # Set the maximum allowed depth for queries ``` This configuration allows you to set a maximum depth for incoming GraphQL queries, enhancing the robustness of your API by mitigating the risk of deep-nested queries. ## Max Directives You can also limit the number of directives in incoming GraphQL operations. This is also disabled by default. You can enable and configure it as follows: ```yaml limits: max_directives: n: 5 # Set the maximum allowed number of directives ``` This configuration helps to prevent excessive use of directives in queries, which can lead to performance issues. ## Max Tokens Additionally, we have introduced a new configuration option to limit the maximum number of tokens in incoming GraphQL operations. This feature is designed to prevent excessively large queries that could impact server performance. By default, this limit is disabled. You can enable and configure it in your router configuration as follows: ```yaml limits: max_tokens: n: 1000 # Set the maximum allowed number of tokens ``` This configuration allows you to set a maximum token count for incoming GraphQL queries, helping to ensure that queries remain manageable and do not overwhelm the server. With these new configurations, you can better manage the complexity of incoming GraphQL queries and ensure the stability and performance of your API. ### Refactor Router Initialization Error Handling in `hive-router` - New `RouterInitError` enum to represent initialization errors in the Hive Router. - `router_entrypoint` now returns `Result<(), RouterInitError>` instead of a boxed dynamic error(`Box<dyn std::error::Error>`), providing more specific error handling during router initialization. ## Fixes - Expose query plan with option "dry-run" wont execute the query plan ### Refactor Parse Error Handling in `graphql-tools` Breaking; - `ParseError(String)` is now `ParseError(InternalError<'static>)`. - - So that the internals of the error can be better structured and more informative, such as including line and column information. - `ParseError`s are no longer prefixed with "query parse error: " in their Display implementation. Co-authored-by: knope-bot[bot] <152252888+knope-bot[bot]@users.noreply.github.com>
1 parent b9e1e67 commit cd2c147

File tree

22 files changed

+300
-110
lines changed

22 files changed

+300
-110
lines changed

.changeset/expose_query_plan_with_option_dry_run_wont_execute_the_query_plan.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/query_complexity.md

Lines changed: 0 additions & 52 deletions
This file was deleted.

.changeset/refactor_init_error.md

Lines changed: 0 additions & 8 deletions
This file was deleted.

.changeset/refactor_parse_error.md

Lines changed: 0 additions & 15 deletions
This file was deleted.

Cargo.lock

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bin/router/CHANGELOG.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,75 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
116116
### Other
117117

118118
- *(deps)* update release-plz/action action to v0.5.113 ([#389](https://github.com/graphql-hive/router/pull/389))
119+
## 0.0.33 (2026-01-22)
120+
121+
### Features
122+
123+
- Query Complexity: Max Depth, Max Directives, Max Tokens (#623)
124+
- Enable/Disable Introspection with `introspection` (#655)
125+
126+
#### New Query Complexity Configuration in `hive-router` and `hive-router-config`
127+
128+
We have introduced a new configuration module for query complexity in the Hive Router.
129+
130+
This includes new validation rules to enforce maximum query depth, maximum number of directives in the incoming GraphQL operation, helping to prevent overly complex queries that could impact performance.
131+
132+
### Max Depth
133+
134+
By default, it is disabled, but you can enable and configure it in your router configuration as follows:
135+
136+
```yaml
137+
limits:
138+
max_depth:
139+
n: 10 # Set the maximum allowed depth for queries
140+
```
141+
142+
This configuration allows you to set a maximum depth for incoming GraphQL queries, enhancing the robustness of your API by mitigating the risk of deep-nested queries.
143+
144+
### Max Directives
145+
146+
You can also limit the number of directives in incoming GraphQL operations. This is also disabled by default. You can enable and configure it as follows:
147+
148+
```yaml
149+
limits:
150+
max_directives:
151+
n: 5 # Set the maximum allowed number of directives
152+
```
153+
154+
This configuration helps to prevent excessive use of directives in queries, which can lead to performance issues.
155+
156+
### Max Tokens
157+
158+
Additionally, we have introduced a new configuration option to limit the maximum number of tokens in incoming GraphQL operations. This feature is designed to prevent excessively large queries that could impact server performance.
159+
160+
By default, this limit is disabled. You can enable and configure it in your router configuration as follows:
161+
162+
```yaml
163+
limits:
164+
max_tokens:
165+
n: 1000 # Set the maximum allowed number of tokens
166+
```
167+
168+
This configuration allows you to set a maximum token count for incoming GraphQL queries, helping to ensure that queries remain manageable and do not overwhelm the server.
169+
170+
With these new configurations, you can better manage the complexity of incoming GraphQL queries and ensure the stability and performance of your API.
171+
172+
#### Refactor Router Initialization Error Handling in `hive-router`
173+
174+
- New `RouterInitError` enum to represent initialization errors in the Hive Router.
175+
- `router_entrypoint` now returns `Result<(), RouterInitError>` instead of a boxed dynamic error(`Box<dyn std::error::Error>`), providing more specific error handling during router initialization.
176+
177+
### Fixes
178+
179+
- Expose query plan with option "dry-run" wont execute the query plan
180+
181+
#### Refactor Parse Error Handling in `graphql-tools`
182+
183+
Breaking;
184+
- `ParseError(String)` is now `ParseError(InternalError<'static>)`.
185+
- - So that the internals of the error can be better structured and more informative, such as including line and column information.
186+
- `ParseError`s are no longer prefixed with "query parse error: " in their Display implementation.
187+
119188
## 0.0.32 (2026-01-16)
120189
121190
### Fixes

bin/router/Cargo.toml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "hive-router"
3-
version = "0.0.32"
3+
version = "0.0.33"
44
edition = "2021"
55
description = "GraphQL router/gateway for Federation"
66
license = "MIT"
@@ -16,12 +16,12 @@ name = "hive_router"
1616
path = "src/main.rs"
1717

1818
[dependencies]
19-
hive-router-query-planner = { path = "../../lib/query-planner", version = "2.1.6" }
20-
hive-router-plan-executor = { path = "../../lib/executor", version = "6.3.4" }
21-
hive-router-config = { path = "../../lib/router-config", version = "0.0.17" }
22-
hive-router-internal = { path = "../../lib/internal", version = "0.0.6" }
23-
hive-console-sdk = { path = "../../lib/hive-console-sdk", version = "0.3.3" }
24-
graphql-tools = { path = "../../lib/graphql-tools", version = "0.4.2" }
19+
hive-router-query-planner = { path = "../../lib/query-planner", version = "2.1.7" }
20+
hive-router-plan-executor = { path = "../../lib/executor", version = "6.3.5" }
21+
hive-router-config = { path = "../../lib/router-config", version = "0.0.18" }
22+
hive-router-internal = { path = "../../lib/internal", version = "0.0.7" }
23+
hive-console-sdk = { path = "../../lib/hive-console-sdk", version = "0.3.4" }
24+
graphql-tools = { path = "../../lib/graphql-tools", version = "0.5.0" }
2525

2626
tokio = { workspace = true }
2727
futures = { workspace = true }

lib/executor/CHANGELOG.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,63 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9494
### Other
9595

9696
- *(deps)* update release-plz/action action to v0.5.113 ([#389](https://github.com/graphql-hive/router/pull/389))
97+
## 6.3.5 (2026-01-22)
98+
99+
### Fixes
100+
101+
#### New Query Complexity Configuration in `hive-router` and `hive-router-config`
102+
103+
We have introduced a new configuration module for query complexity in the Hive Router.
104+
105+
This includes new validation rules to enforce maximum query depth, maximum number of directives in the incoming GraphQL operation, helping to prevent overly complex queries that could impact performance.
106+
107+
### Max Depth
108+
109+
By default, it is disabled, but you can enable and configure it in your router configuration as follows:
110+
111+
```yaml
112+
limits:
113+
max_depth:
114+
n: 10 # Set the maximum allowed depth for queries
115+
```
116+
117+
This configuration allows you to set a maximum depth for incoming GraphQL queries, enhancing the robustness of your API by mitigating the risk of deep-nested queries.
118+
119+
### Max Directives
120+
121+
You can also limit the number of directives in incoming GraphQL operations. This is also disabled by default. You can enable and configure it as follows:
122+
123+
```yaml
124+
limits:
125+
max_directives:
126+
n: 5 # Set the maximum allowed number of directives
127+
```
128+
129+
This configuration helps to prevent excessive use of directives in queries, which can lead to performance issues.
130+
131+
### Max Tokens
132+
133+
Additionally, we have introduced a new configuration option to limit the maximum number of tokens in incoming GraphQL operations. This feature is designed to prevent excessively large queries that could impact server performance.
134+
135+
By default, this limit is disabled. You can enable and configure it in your router configuration as follows:
136+
137+
```yaml
138+
limits:
139+
max_tokens:
140+
n: 1000 # Set the maximum allowed number of tokens
141+
```
142+
143+
This configuration allows you to set a maximum token count for incoming GraphQL queries, helping to ensure that queries remain manageable and do not overwhelm the server.
144+
145+
With these new configurations, you can better manage the complexity of incoming GraphQL queries and ensure the stability and performance of your API.
146+
147+
#### Refactor Parse Error Handling in `graphql-tools`
148+
149+
Breaking;
150+
- `ParseError(String)` is now `ParseError(InternalError<'static>)`.
151+
- - So that the internals of the error can be better structured and more informative, such as including line and column information.
152+
- `ParseError`s are no longer prefixed with "query parse error: " in their Display implementation.
153+
97154
## 6.3.4 (2026-01-16)
98155
99156
### Fixes

lib/executor/Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "hive-router-plan-executor"
3-
version = "6.3.4"
3+
version = "6.3.5"
44
edition = "2021"
55
description = "GraphQL query planner executor for Federation specification"
66
license = "MIT"
@@ -12,10 +12,10 @@ authors = ["The Guild"]
1212
[lib]
1313

1414
[dependencies]
15-
hive-router-query-planner = { path = "../query-planner", version = "2.1.6" }
16-
hive-router-config = { path = "../router-config", version = "0.0.17" }
17-
hive-router-internal = { path = "../internal", version = "0.0.6" }
18-
graphql-tools = { path = "../graphql-tools", version = "0.4.2" }
15+
hive-router-query-planner = { path = "../query-planner", version = "2.1.7" }
16+
hive-router-config = { path = "../router-config", version = "0.0.18" }
17+
hive-router-internal = { path = "../internal", version = "0.0.7" }
18+
graphql-tools = { path = "../graphql-tools", version = "0.5.0" }
1919

2020
async-trait = { workspace = true }
2121
futures = { workspace = true }

lib/graphql-tools/CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
## 0.5.0 (2026-01-22)
2+
3+
### Breaking Changes
4+
5+
#### Refactor Parse Error Handling in `graphql-tools`
6+
7+
Breaking;
8+
- `ParseError(String)` is now `ParseError(InternalError<'static>)`.
9+
- - So that the internals of the error can be better structured and more informative, such as including line and column information.
10+
- `ParseError`s are no longer prefixed with "query parse error: " in their Display implementation.
11+
112
## 0.4.2 (2026-01-16)
213

314
### Fixes

0 commit comments

Comments
 (0)