Releases: grpc/grpc-go
Releases · grpc/grpc-go
Release 1.55.0
Behavior Changes
- xds: enable federation support by default (#6151)
- status:
status.Code
andstatus.FromError
handle wrapped errors (#6031 and #6150)- Special Thanks: @psyhatter
New Features
- xds/xdsclient: support
ignore_resource_deletion
server feature as per gRFC A53 (#6035) - security/advancedtls: add min/max TLS version selection options (#6007)
- Special Thanks: @joeljeske
Bug Fixes
- xds: stop routing RPCs to deleted clusters (#6125)
- client: fix race between stream creation and GOAWAY receipt, which could lead to spurious UNAVAILABLE stream errors (#6142)
Performance Improvements
- server: improve stream handler goroutine worker allocation when
NumStreamWorkers
is used (#6004)- Special Thanks: @SaveTheRbtz
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
SetSendCompressor
API to set send compressor name (#5744)- Special Thanks: @jronak
- xdsclient: include
Node
proto 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
UpdateState
errors (#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.Endpoint
and replace withresolver.Target.Endpoint()
(#5852)- Special Thanks: @kylejb
New Features
- xds/ringhash: introduce
GRPC_RING_HASH_CAP
environment 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
NewOauthAccess
as 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_size
to reduce possibility of OOMs (#5801)
Behavior Changes
- client: return an error from
Dial
if 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
:authority
header 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