server: prohibit more than MaxConcurrentStreams handlers from running at once (CVE-2023-44487)
In addition to this change, applications should ensure they do not leave running tasks behind related to the RPC before returning from method handlers, or should enforce appropriate limits on any such work.
Release 1.58.2
Bug Fixes
balancer/weighted_round_robin: fix ticker leak on update
A new ticker is created every time there is an update of addresses or configuration, but was not properly stopped. This change stops the ticker when it is no longer needed.
Release 1.58.1
Bug Fixes
grpc: fix a bug that was decrementing active RPC count too early for streaming RPCs; leading to channel moving to IDLE even though it had open streams
grpc: fix a bug where transports were not being closed upon channel entering IDLE
This was previously used as a signal to enable the "grpclb" load balancing policy, and to pass LB addresses to the policy. Instead, balancer/grpclb/state.Set() should be used to add these addresses to the name resolver's output. The built-in "dns" name resolver already does this.
resolver: add new field Endpoints to State and deprecate Addresses (#6471)
Addresses will be deleted in the future.
New Features
balancer/leastrequest: Add experimental support for least request LB policy and least request configured as a custom xDS policy (#6510, #6517)
Set GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUEST=true to enable
stats: Add an RPC event for blocking caused by the LB policy's picker (#6422)
Bug Fixes
clusterresolver: fix deadlock when dns resolver responds inline with update or error at build time (#6563)
grpc: fix a bug where the channel could erroneously report TRANSIENT_FAILURE when actually moving to IDLE (#6497)
balancergroup: do not cache closed sub-balancers by default; affects rls, weightedtarget and clustermanager LB policies (#6523)
client: fix a bug that prevented detection of RPC status in trailers-only RPC responses when using ClientStream.Header(), and prevented retry of the RPC (#6557)
Performance Improvements
client & server: Add experimental [With]SharedWriteBuffer to improve performance by reducing allocations when sending RPC messages. (Disabled by default.) (#6309)
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
coverage: 89.61%. remained the same
when pulling 425f90b34bec3c4493b638193b87e5acba7d3934 on dependabot/go_modules/google.golang.org/grpc-1.61.0-dev
into 4dcc65ef1230778675d989ce9a4d194512974f17 on master.
Bumps google.golang.org/grpc from 1.58.0-dev to 1.61.0-dev.
Release notes
Sourced from google.golang.org/grpc's releases.
Commits
4a84ce6
Change version to 1.61.0-dev (#6794)8645f95
resolver: remove ClientConn.NewServiceConfig (#6784)8b17a4d
vet: various cleanups (#6780)591c481
internal/transport: Add LocalAddr to http2Client.getPeer() (#6779)eb46b7d
github: set top-level read-only workflow permissions (#6775)be1d1c1
security/advancedtls: FileWatcher CRL provider initialization enhancement (#6...482de22
interop/stress: Remove wait-for-ready (#6773)f1a1fcd
grpc: disable and document overrides of OS default TCP keepalive by Go (#6672)338d8f1
github: modify codecov.yml (#6720)3fe1123
resolver: manual resolver crashes if grpc.Dial isn't called before some metho...You can trigger a rebase of this PR by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show