Releases: grpc/grpc-go
Releases · grpc/grpc-go
GCP Observability v1.0.0
The observability module provides GCP users with a simple way to export RPC logging, tracing, and metrics to Google Cloud Operations. This is the first (GA) release of this module. For more information, please see this blog post.
OpenCensus v1.0.0
This module adds support for instrumenting gRPC with OpenCensus tracing and metrics. It does so through a Dial Option and a Server Option users can attach to their created Channels and Servers.
Release 1.54.0
Behavior Changes
- xds: remove support for xDS v2 transport API (#6013)
New Features
- server: expose
SetSendCompressorAPI to set send compressor name (#5744)- Special Thanks: @jronak
- xdsclient: include
Nodeproto only in the first discovery request message, to improve performance (#6078)
Bug Fixes
- metadata: fix validation logic and properly validate metadata appended via
AppendToOutgoingContext(#6001)- Special Thanks: @ktalg
- transport: do not close connections when we encounter I/O errors until after all data is consumed (#6110)
- ringhash: ensure addresses are consistently hashed across updates (#6066)
- xds/clusterimpl: fix a bug causing unnecessary closing and re-opening of LRS streams (#6112)
- xds: NACK route configuration if sum of weights of weighted clusters exceeds uint32_max (#6085)
Documentation
- resolver: update
Resolver.Scheme()docstring to mention requirement of lowercase scheme names (#6014) - resolver: document expected error handling of
UpdateStateerrors (#6002)- Special Thanks: @fho
- examples: add example for ORCA load reporting (#6114)
- examples: add an example to illustrate authorization (authz) support (#5920)
- Special Thanks: @KenxinKun
protoc-gen-go-grpc v1.3.0
New features
- Export consts for full method names (#5886)
- Special thanks: @KenxinKun
- Include file level comment from proto definition in pb.go output, similar to protoc-gen-go (#5540)
- Special thanks: @RedHawker
Release 1.53.0
API Changes
- balancer: support injection of per-call metadata from LB policies (#5853)
- resolver: remove deprecated field
resolver.Target.Endpointand replace withresolver.Target.Endpoint()(#5852)- Special Thanks: @kylejb
New Features
- xds/ringhash: introduce
GRPC_RING_HASH_CAPenvironment variable to override the maximum ring size. (#5884) - rls: propagate headers received in RLS response to backends (#5883)
Bug Fixes
- transport: drain client transport when streamID approaches MaxStreamID (#5889)
- server: after GracefulStop, ensure connections are closed when final RPC completes (#5968)
- server: fix a few issues where grpc server uses RST_STREAM for non-HTTP/2 errors (#5893)
- xdsclient: fix race which can happen when multiple load reporting calls are made at the same time. (#5927)
- rls: fix a data race involving the LRU cache (#5925)
- xds: fix panic involving double close of channel in xDS transport (#5959)
- gcp/observability: update method name validation (#5951)
Documentation
- credentials/oauth: mark
NewOauthAccessas deprecated (#5882)- Special Thanks: @buzzsurfr
Release 1.52.3
Bug Fixes
- Fix user-agent version
Release 1.52.2
Bug Fixes
- xds: fix panic involving double close of channel in xDS transport (#5959)
Release 1.52.1
Bug Fixes
- grpclb: rename grpclbstate package back to state (#5963)
Release 1.52.0
New Features
- xdsclient: log node ID with verbosity INFO (#5860)
- ringhash: impose cap on
max_ring_sizeto reduce possibility of OOMs (#5801)
Behavior Changes
- client: return an error from
Dialif an empty target is passed and no custom dialer is present; the ClientConn would otherwise be unable to connect and perform RPCs (#5732)- Special Thanks: @huangchong94
Bug Fixes
- transport (net/http server handler): respond to bad HTTP requests with status 400 (Bad Request) instead of 500 (Internal Server Error). (#5804)
- Special Thanks: @sjbarag
- transport: Fixed closing a closed channel panic in handlePing (#5854)
- server: fix ChainUnaryInterceptor and ChainStreamInterceptor to allow retrying handlers (#5666)
- Special Thanks: @yiminc
- transport: ensure value of
:authorityheader matches server name used in TLS handshake when the latter is overridden by the name resolver (#5748)- Special Thanks: @holdno
Documentation
- examples: add an example to illustrate the usage of stats handler (#5657)
- Special Thanks: @Yash-Handa
- examples: add new example to show updating metadata in interceptors (#5788)
- Special Thanks: @richzw
Release 1.51.0
Behavior Changes
- xds: NACK EDS resources with duplicate addresses in accordance with a recent spec change (#5715)
- Special Thanks: @erni27
- grpc: restrict status codes that can be generated by the control plane (gRFC A54) (#5653)
New Features
- client: set grpc-accept-encoding header with all registered compressors (#5541)
- Special Thanks: @jronak
- xds/weightedtarget: return a more meaningful error when all child policies are in
TRANSIENT_FAILURE(#5711) - gcp/observability: add "started rpcs" metric (#5768)
- xds: de-experimentalize the google-c2p-resolver (#5707)
- balancer: add experimental Producer types and methods (#5669)
- orca: provide a way for LB policies to receive OOB load reports (#5669)
Bug Fixes
- go.mod: upgrade x/text dependency to address CVE 2022-32149 (#5769)
- client: fix race that could lead to an incorrect connection state if it was closed immediately after the server's HTTP/2 preface was received (#5714)
- Special Thanks: @fuweid
- xds: ensure sum of the weights of all EDS localities at the same priority level does not exceed uint32 max (#5703)
- Special Thanks: @erni27
- client: fix binary logging bug which logs a server header on a trailers-only response (#5763)
- balancer/priority: fix a bug where unreleased references to removed child policies (and associated state) was causing a memory leak (#5682)
- xds/google-c2p: validate URI schema for no authorities (#5756)