Update module google.golang.org/grpc to v1.64.0
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
google.golang.org/grpc | require | minor |
v1.58.3 -> v1.64.0
|
Release Notes
grpc/grpc-go (google.golang.org/grpc)
v1.64.0
: Release 1.64.0
API Changes
- stats: Deprecate
InPayload.Data
andOutPayload.Data
; they were experimental and will be deleted in the next release (#7121)
Behavior Changes
- codec: Remove handling of environment variable
GRPC_GO_ADVERTISE_COMPRESSORS
to suppress setting supported compressors ingrpc-accept-encoding
header. Compressors will always be advertised, as they have been by default for some time (#7203)
New Features
- resolver/dns: Add
SetMinResolutionInterval
to set the minimum interval at which DNS re-resolutions may occur (#6962)- Special Thanks: @HomayoonAlimohammadi
- peer/peer: Implement the
fmt.Stringer
interface for pretty printingPeer
, and - metadata/metadata: Implement the
fmt.Stringer
interface for pretty printingMD
(#7137)- Special Thanks: @AnomalRoil
Performance Improvements
- client: Improve RPC performance by reducing work while holding a lock (#7132)
Bug Fixes
- transport/server: Display the proper timeout value when keepalive pings are not ack'd in time (#7038)
- Special Thanks: @BatmanAoD
- channelz: Fix bug that was causing the subchannel's target to be unset (#7189)
- stats: Fix bug where peer was not set in context when calling stats handler for
OutPayload
,InPayload
, andEnd
(#7096)
Dependencies
- deps: Remove dependency on deprecated
github.com/golang/protobuf
module (#7122)
Documentation
- grpc: Deprecate
WithBlock
,WithReturnConnectionError
,FailOnNonTempDialError
which are ignored byNewClient
(#7097)- Special Thanks: @pellared
- grpc: Deprecate
Dial
andDialContext
. These will continue to be supported throughout 1.x, but are deprecated to direct users toNewClient
(See #7090 for more information) - examples: Add custom lb example (#6691)
v1.63.2
: Release 1.63.2
Bugs
- Fix the user agent string
v1.63.1
: Release 1.63.1
Bugs
- grpc: fixed subchannel log messages to properly reference the parent channel (#7101)
- Special thanks: @daniel-weisse
API Changes
- grpc: remove Deprecated tag from Dial and DialContext; these will be deprecated in v1.64 instead (#7103)
v1.63.0
: Release 1.63.0
Behavior Changes
- grpc: Return canonical target string from
resolver.Address.String()
(experimental) (#6923) - client & server: when using write buffer pooling, use input value for buffer size instead of size*2 (#6983)
- Special Thanks: @raghav-stripe
New Features
- grpc: add
ClientConn.CanonicalTarget()
to return the canonical target string. (#7006) - xds: implement LRS named metrics support (gRFC A64) (#7027)
- Special Thanks: @danielzhaotongliu
- grpc: introduce
grpc.NewClient
to allow users to create new clients in idle mode and with "dns" as the default resolver (#7010)- Special Thanks: @bruuuuuuuce
API Changes
- grpc: stabilize experimental method
ClientConn.Target()
(#7006)
Bug Fixes
- xds: fix an issue that would cause the client to send an empty list of resources for LDS/CDS upon reconnecting with the management server (#7026)
- server: Fix some errors returned by a server when using a
grpc.Server
as anhttp.Handler
with the Go stdlib HTTP server (#6989) - resolver/dns: add
SetResolvingTimeout
to allow configuring the DNS resolver's global timeout (#6917)- Special Thanks: @and1truong
- Set the security level of Windows named pipes to NoSecurity (#6956)
- Special Thanks: @irsl
v1.62.2
: Release 1.62.2
Dependencies
- Update http2 library to address vulnerability CVE-2023-45288
v1.62.1
: Release 1.62.1
Bug Fixes
- xds: fix a bug that results in
no matching virtual host found
RPC errors due to a difference between the target and LDS resource names (#6997) - server: fixed stats handler data
InPayload.Length
for unary RPC calls (#6766)- Special Thanks: @hueypark
- grpc: the experimental
RecvBufferPool
DialOption
andServerOption
are now active during unary RPCs with compression (#6766)- Special Thanks: @hueypark
- grpc: trim whitespaces in
accept-encoding
header before determining compressors- Special Thanks: @sercand
v1.62.0
: Release 1.62.0
New Features
- grpc: Add StaticMethod CallOption as a signal to stats handler that a method is safe to use as an instrument key (#6986)
Behavior Changes
- grpc: Return canonical target string from ClientConn.Target() and resolver.Address.String() (#6923)
Bug Fixes
- server: wait to close connection until incoming socket is drained (with timeout) to prevent data loss on client-side (#6977)
- Special Thanks: @s-matyukevich for discovering the root cause
Performance Improvements
- *: Allow building without
x/net/trace
by usinggrpcnotrace
to enable dead code elimination (#6954)- Special Thanks: @hugelgupf
- rand: improve performance and simplify implementation of
grpcrand
by adoptingmath/rand
's top-level functions for go version 1.21.0 and newer. (#6925)- Special Thanks: @kmirzavaziri
Dependencies
- *: Use google.golang.org/protobuf/proto instead of github.com/golang/protobuf. (#6919)
- Special Thanks: @Clement-Jean
[!NOTE] The above change in proto library usage introduces a minor behavior change within those libraries. The old
github.com/golang/protobuf
library would error if given anil
message toMarshal
, while the newgoogle.golang.org/protobuf
library will successfully output zero bytes in this case. This means server method handlers that didreturn nil, nil
will now return an empty message and no error, while it used to return an error. This also affects the client side, where clients sendingnil
messages used to fail without sending the RPC, and now they will send an empty message.
v1.61.2
: Release 1.61.2
Dependencies
- Update http2 library to address vulnerability CVE-2023-45288
v1.61.1
: Release 1.61.1
Bug Fixes
- server: wait to close connection until incoming socket is drained (with timeout) to prevent data loss on client-side (#6977)
- Special Thanks: @s-matyukevich for discovering the root cause
v1.61.0
: 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)
v1.60.1
Bug Fixes
- server: fix two bugs that could lead to panics at shutdown when using NumStreamWorkers (experimental feature).
v1.60.0
: 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)
v1.59.0
: 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)
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.