chore(release): router crates and artifacts #583
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Important
Merging this pull request will create these releases
config 0.0.12 (2025-11-21)
Features
Breaking
Removed
pool_idle_timeout_secondsfromtraffic_shaping, instead usepool_idle_timeoutwith duration format.#540 by @ardatan
executor 6.1.0 (2025-11-21)
Features
Directive-Based Authorization
Introducing directive-based authorization. This allows you to enforce fine-grained access control directly from your subgraph schemas using the
@authenticatedand@requiresScopesdirectives.This new authorization layer runs before the query planner, ensuring that unauthorized requests are handled efficiently without reaching your subgraphs.
Configuration
You can configure how the router handles unauthorized requests with two modes:
filter(default): Silently removes any fields the user is not authorized to see from the query. The response will containnullfor the removed fields and an error in theerrorsarray.reject: Rejects the entire GraphQL operation if it requests any field the user is not authorized to access.To configure this, add the following to your
router.yamlconfiguration file:If this section is omitted, the router will use
filtermode by default.JWT Scope Requirements
When using the
@requiresScopesdirective, the router expects the user's granted scopes to be present in the JWT payload. The scopes should be in an array of strings or a string (scopes separated by space), within a claim namedscope.Here is an example of a JWT payload with the correct format:
{ "sub": "user-123", "scope": [ "read:products", "write:reviews" ], "iat": 1516239022 }Breaking
Removed
pool_idle_timeout_secondsfromtraffic_shaping, instead usepool_idle_timeoutwith duration format.#540 by @ardatan
router 0.0.20 (2025-11-21)
Features
Directive-Based Authorization
Introducing directive-based authorization. This allows you to enforce fine-grained access control directly from your subgraph schemas using the
@authenticatedand@requiresScopesdirectives.This new authorization layer runs before the query planner, ensuring that unauthorized requests are handled efficiently without reaching your subgraphs.
Configuration
You can configure how the router handles unauthorized requests with two modes:
filter(default): Silently removes any fields the user is not authorized to see from the query. The response will containnullfor the removed fields and an error in theerrorsarray.reject: Rejects the entire GraphQL operation if it requests any field the user is not authorized to access.To configure this, add the following to your
router.yamlconfiguration file:If this section is omitted, the router will use
filtermode by default.JWT Scope Requirements
When using the
@requiresScopesdirective, the router expects the user's granted scopes to be present in the JWT payload. The scopes should be in an array of strings or a string (scopes separated by space), within a claim namedscope.Here is an example of a JWT payload with the correct format:
{ "sub": "user-123", "scope": [ "read:products", "write:reviews" ], "iat": 1516239022 }Breaking
Removed
pool_idle_timeout_secondsfromtraffic_shaping, instead usepool_idle_timeoutwith duration format.#540 by @ardatan
query-planner 2.1.0 (2025-11-21)
Features
Directive-Based Authorization
Introducing directive-based authorization. This allows you to enforce fine-grained access control directly from your subgraph schemas using the
@authenticatedand@requiresScopesdirectives.This new authorization layer runs before the query planner, ensuring that unauthorized requests are handled efficiently without reaching your subgraphs.
Configuration
You can configure how the router handles unauthorized requests with two modes:
filter(default): Silently removes any fields the user is not authorized to see from the query. The response will containnullfor the removed fields and an error in theerrorsarray.reject: Rejects the entire GraphQL operation if it requests any field the user is not authorized to access.To configure this, add the following to your
router.yamlconfiguration file:If this section is omitted, the router will use
filtermode by default.JWT Scope Requirements
When using the
@requiresScopesdirective, the router expects the user's granted scopes to be present in the JWT payload. The scopes should be in an array of strings or a string (scopes separated by space), within a claim namedscope.Here is an example of a JWT payload with the correct format:
{ "sub": "user-123", "scope": [ "read:products", "write:reviews" ], "iat": 1516239022 }