Skip to content

prep release: v1.61.6 #7404

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 6, 2025
Merged

prep release: v1.61.6 #7404

merged 1 commit into from
May 6, 2025

Conversation

abernix
Copy link
Member

@abernix abernix commented May 6, 2025

Note

When approved, this PR will merge into the 1.61.6 branch which will — upon being approved itself — merge into main.

Things to review in this PR:

  • Changelog correctness (There is a preview below, but it is not necessarily the most up to date. See the Files Changed for the true reality.)
  • Version bumps
  • That it targets the right release branch (1.61.6 in this case!).

🐛 Fixes

Fix JWT metrics discrepancy (PR #7258)

This fixes the apollo.router.operations.authentication.jwt counter metric to behave as documented: emitted for every request that uses JWT, with the authentication.jwt.failed attribute set to true or false for failed or successful authentication.

Previously, it was only used for failed authentication.

The attribute-less and accidentally-differently-named apollo.router.operations.jwt counter was and is only emitted for successful authentication, but is deprecated now.

By @SimonSapin in #7258

Fix Redis connection leak (PR #7319)

The router performs a 'hot reload' whenever it detects a schema update. During this reload, it effectively instantiates a new internal router, warms it up (optional), redirects all traffic to this new router, and drops the old internal router.

This change fixes a bug in that drop process where the Redis connections are never told to terminate, even though the Redis client pool is dropped. This leads to an ever-increasing number of inactive Redis connections, which eats up memory.

It also adds a new up-down counter metric, apollo.router.cache.redis.connections, to track the number of open Redis connections. This metric includes a kind label to discriminate between different Redis connection pools, which mirrors the kind label on other cache metrics (ie apollo.router.cache.hit.time).

By @carodewig in #7319

Fix Parsing of Coprocessor GraphQL Responses (PR #7141)

Previously Router ignored data: null property inside GraphQL response returned by coprocessor.
According to GraphQL Spectification:

If an error was raised during the execution that prevented a valid response, the "data" entry in the response should be null.

That means if coprocessor returned valid execution error, for example:

{
  "data": null,
  "errors": [{ "message": "Some execution error" }]
}

Router violated above restriction from GraphQL Specification by returning following response to client:

{
  "errors": [{ "message": "Some execution error" }]
}

This fix ensures full compliance with the GraphQL specification by preserving the complete structure of error responses from coprocessors.

Contributed by @IvanGoncharov in #7141

Avoid fractional decimals when generating apollo.router.operations.batching.size metrics for GraphQL request batch sizes (PR #7306)

Correct the calculation of the apollo.router.operations.batching.size metric to reflect accurate batch sizes rather than occasionally returning fractional numbers.

By @bnjjj in #7306

📃 Configuration

Add configurable server header read timeout (PR #7262)

This change exposes the server's header read timeout as the server.http.header_read_timeout configuration option.

By default, the server.http.header_read_timeout is set to previously hard-coded 10 seconds. A longer timeout can be configured using the server.http.header_read_timeout option.

server:
  http:
    header_read_timeout: 30s

By @gwardwell in #7262

🛠 Maintenance

Reject @skip/@include on subscription root fields in validation (PR #7338)

This implements a GraphQL spec RFC, rejecting subscriptions in validation that can be invalid during execution.

By @goto-bus-stop in #7338

@abernix abernix requested review from a team as code owners May 6, 2025 09:53
@svc-apollo-docs
Copy link
Collaborator

svc-apollo-docs commented May 6, 2025

⚠️ Docs preview not attached to branch

The preview was not built because the PR's base branch 1.61.6 is not in the list of sources.

An Apollo team member can comment one of the following commands to dictate which branch to attach the preview to:

  • !docs set-base-branch 1.x
  • !docs set-base-branch dev

Build ID: f4034b3e3f22d502e45d70c0

@abernix abernix merged commit b437f15 into 1.61.6 May 6, 2025
14 checks passed
@abernix abernix deleted the prep-1.61.6 branch May 6, 2025 11:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants