Releases: grpc/grpc-go
Release 1.61.0
New Features
- resolver: provide method,
AuthorityOverrider
, to allow resolver.Builders to override the default authority for aClientConn
. (EXPERIMENTAL) (#6752)- Special Thanks: @Aditya-Sood
- xds: add support for mTLS Credentials in xDS bootstrap (gRFC A65) (#6757)
- Special Thanks: @atollena
- server: add
grpc.WaitForHandlers
ServerOption
to causeServer.Stop
to block until method handlers return. (EXPERIMENTAL) (#6922)
Performance Improvements
- grpc: skip compression of empty messages as an optimization (#6842)
- Special Thanks: @jroper
- orca: use atomic pointer to improve performance in server metrics recorder (#6799)
- Special Thanks: @danielzhaotongliu
Bug Fixes
- client: correctly enable TCP keepalives with OS defaults on windows (#6863)
- Special Thanks: @mmatczuk
- server: change some stream operations to return
UNAVAILABLE
instead ofUNKNOWN
when underlying connection is broken (#6891)- Special Thanks: @mustafasen81
- server: fix
GracefulStop
to block until all method handlers return (v1.60 regression). (#6922) - server: fix two bugs that could lead to panics at shutdown when using
NumStreamWorkers
(EXPERIMENTAL). (#6856) - reflection: do not send invalid descriptors to clients for files that cannot be fully resolved (#6771)
- Special Thanks: @jhump
- xds: don't fail channel/server startup when xds creds is specified, but bootstrap is missing certificate providers (#6848)
- xds: Atomically read and write xDS security configuration client side (#6796)
- xds/server: fix RDS handling for non-inline route configs (#6915)
Release v1.60.1
Bug Fixes
- server: fix two bugs that could lead to panics at shutdown when using NumStreamWorkers (experimental feature).
Release 1.60.0
Security
- credentials/tls: if not set, set TLS MinVersion to 1.2 and CipherSuites according to supported suites not forbidden by RFC7540.
- This is a behavior change to bring us into better alignment with RFC 7540.
API Changes
- resolver: remove deprecated and experimental
ClientConn.NewServiceConfig
(#6784) - client: remove deprecated
grpc.WithServiceConfig
DialOption
(#6800)
Bug Fixes
- client: fix race that could cause a deadlock while entering idle mode and receiving a name resolver update (#6804)
- client: always enable TCP keepalives with OS defaults (#6834)
- credentials/alts: fix a bug preventing ALTS from connecting to the metadata server if the default scheme is overridden (#6686)
- Special Thanks: @mjamaloney
Behavior Changes
- server: Do not return from Stop() or GracefulStop() until all resources are released (#6489)
- Special Thanks: @fho
Documentation
- codes: clarify that only codes defined by this package are valid and that users should not cast other values to
codes.Code
(#6701)
Release 1.57.2
Bug Fixes
- server: fix a bug introduced in v1.57.1 that causes connections to eventually stop processing any RPCs.
Release 1.59.0
Behavior Changes
- balancer: grpc will switch to case-sensitive balancer names soon; log a warning if a capital letter is encountered in an LB policy name (#6647)
- server: allow applications to send arbitrary data in the
grpc-status-details-bin
trailer (#6662) - client: validate
grpc-status-details-bin
trailer and pass through the trailer to the application directly (#6662)
New Features
- tap (experimental): Add Header metadata to tap handler (#6652)
- Special Thanks: @pstibrany
- grpc: channel idleness enabled by default with an
idle_timeout
of30m
(#6585)
Documentation
- examples: add an example of flow control behavior (#6648)
Bug Fixes
- xds: fix hash policy header to skip "-bin" headers and read content-type header as expected (#6609)
Release 1.58.3
Security
-
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.57.1
Security
-
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.56.3
Security
-
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