The Go language implementation of gRPC. HTTP/2 based RPC
resolver.Address.String()
(experimental) (#6923)ClientConn.CanonicalTarget()
to return the canonical target string. (#7006)grpc.NewClient
to allow users to create new clients in idle mode and with "dns" as the default resolver (#7010)
ClientConn.Target()
(#7006)grpc.Server
as an http.Handler
with the Go stdlib HTTP server (#6989)SetResolvingTimeout
to allow configuring the DNS resolver's global timeout (#6917)
no matching virtual host found
RPC errors due to a difference between the target and LDS resource names (#6997)InPayload.Length
for unary RPC calls (#6766)
RecvBufferPool
DialOption
and ServerOption
are now active during unary RPCs with compression (#6766)
accept-encoding
header before determining compressors
The latest released version of stackdriver depends upon an unstable version of prometheus. Symbols needed by stackdriver were moved inside of prometheus after this release. To address this, this release updates our dependencies to use an unreleased version of stackdriver (which is archived) that removed its dependency on prometheus entirely. Please see https://github.com/grpc/grpc-go/pull/7008 for more details.
x/net/trace
by using grpcnotrace
to enable dead code elimination (#6954)
grpcrand
by adopting math/rand
's top-level functions for go version 1.21.0 and newer. (#6925)
[!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.
AuthorityOverrider
, to allow resolver.Builders to override the default authority for a ClientConn
. (EXPERIMENTAL) (#6752)
grpc.WaitForHandlers
ServerOption
to cause Server.Stop
to block until method handlers return. (EXPERIMENTAL) (#6922)UNAVAILABLE
instead of UNKNOWN
when underlying connection is broken (#6891)
GracefulStop
to block until all method handlers return (v1.60 regression). (#6922)NumStreamWorkers
(EXPERIMENTAL). (#6856)