Releases: grpc/grpc-go
Releases · grpc/grpc-go
advancedtls 1.0.0
Background
This is the first major release of the advancedtls package for configuring advanced security features in grpc-go. This has previously been an experimental API.
Incompatible changes from experimental APIs
See #7303 for the APIs that have been removed from previous experimental versions of the package.
protoc-gen-go-grpc v1.4.0
New Features
- Add an optional implementation of streams using generics (Experimental) (#7057)
- The new
use_generic_stream_experimental=trueoption will cause the gRPC codegen to use prebuilt generic types to implement client and server stream objects, rather than generating new types and implementations for every RPC method. We intend to transition this to the default behavior in the next release. Please test it and provide any feedback. - Special Thanks: @aarongable
- The new
- Copy service comments to interfaces in generated code (#7243)
- Special Thanks: @silves-xiang
- Generated code includes static method gRPC call options for integration with the upcoming OpenTelemetry metrics support (#6960)
Dependencies
- Update
google.golang.org/protobufdependency to v1.34.1 to address CVE-2024-24786 (#7274)
Release 1.64.0
API Changes
- stats: Deprecate
InPayload.DataandOutPayload.Data; they were experimental and will be deleted in the next release (#7121)
Behavior Changes
- codec: Remove handling of environment variable
GRPC_GO_ADVERTISE_COMPRESSORSto suppress setting supported compressors ingrpc-accept-encodingheader. Compressors will always be advertised, as they have been by default for some time (#7203)
New Features
- resolver/dns: Add
SetMinResolutionIntervalto set the minimum interval at which DNS re-resolutions may occur (#6962)- Special Thanks: @HomayoonAlimohammadi
- peer/peer: Implement the
fmt.Stringerinterface for pretty printingPeer, and - metadata/metadata: Implement the
fmt.Stringerinterface 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/protobufmodule (#7122)
Documentation
- grpc: Deprecate
WithBlock,WithReturnConnectionError,FailOnNonTempDialErrorwhich are ignored byNewClient(#7097)- Special Thanks: @pellared
- grpc: Deprecate
DialandDialContext. 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)
Release 1.63.2
Bugs
- Fix the user agent string
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)
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.NewClientto 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.Serveras anhttp.Handlerwith the Go stdlib HTTP server (#6989) - resolver/dns: add
SetResolvingTimeoutto 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
Release 1.62.2
Dependencies
- Update http2 library to address vulnerability CVE-2023-45288
Release 1.61.2
Dependencies
- Update http2 library to address vulnerability CVE-2023-45288
Release 1.62.1
Bug Fixes
- xds: fix a bug that results in
no matching virtual host foundRPC errors due to a difference between the target and LDS resource names (#6997) - server: fixed stats handler data
InPayload.Lengthfor unary RPC calls (#6766)- Special Thanks: @hueypark
- grpc: the experimental
RecvBufferPoolDialOptionandServerOptionare now active during unary RPCs with compression (#6766)- Special Thanks: @hueypark
- grpc: trim whitespaces in
accept-encodingheader before determining compressors- Special Thanks: @sercand
GCP Observability v1.0.1
Update dependencies
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 #7008 for more details.