🐛 Fixes
Entity-cache: handle multiple key directives (PR #7228)
This PR fixes a bug in entity caching introduced by the fix in #6888 for cases where several @key
directives with different fields were declared on a type as documented here.
For example if you have this kind of entity in your schema:
type Product @key(fields: "upc") @key(fields: "sku") {
upc: ID!
sku: ID!
name: String
}
Improve Error Message for Invalid JWT Header Values (PR #7121)
Enhanced parsing error messages for JWT Authorization header values now provide developers with clear, actionable feedback while ensuring that no sensitive data is exposed.
Examples of the updated error messages:
- Header Value: '<invalid value>' is not correctly formatted. prefix should be 'Bearer'
+ Value of 'authorization' JWT header should be prefixed with 'Bearer'
- Header Value: 'Bearer' is not correctly formatted. Missing JWT
+ Value of 'authorization' JWT header has only 'Bearer' prefix but no JWT token
By @IvanGoncharov in #7121
Fix crash when an invalid query plan is generated (PR #7214)
When an invalid query plan is generated, the router could panic and crash.
This could happen if there are gaps in the GraphQL validation implementation.
Now, even if there are unresolved gaps, the router will handle it gracefully and reject the request.
By @goto-bus-stop in #7214