Releases: grpc/grpc-go
Releases · grpc/grpc-go
Release 1.48.0
Release 1.47.0
New Features
- xds: add support for RBAC metadata invert matchers (#5345)
Bug Fixes
- client: fix a context leaked if a connection to an address is lost before it is fully established (#5337)
- Special Thanks: @carzil
- client: fix potential panic during RPC retries (#5323)
- xds/client: fix a potential concurrent map read/write in load reporting (#5331)
- client/SubConn: do not recreate addrConn if UpdateAddresses is called with the same addresses (#5373)
- xds/eds: resources containing duplicate localities with the same priority will be rejected (#5303)
- server: return Canceled or DeadlineExceeded status code when writing headers to a stream that is already closed (#5292)
- Special Thanks: @idiamond-stripe
Behavior Changes
- xds/priority: start the init timer when a child switches to Connecting from non-failure states (#5334)
- server: respond with HTTP Status 405 and gRPC status INTERNAL if the method sent to server is not POST (#5364)
Documentation
- server: clarify documentation around setting and sending headers and ServerStream errors (#5302)
Release v1.46.2
Release 1.46.0
New Features
- server: Support setting
TCP_USER_TIMEOUT
ongrpc.Server
connections usingkeepalive.ServerParameters.Time
(#5219)- Special Thanks: @bonnefoa
- client: perform graceful switching of LB policies in the
ClientConn
by default (#5285) - all: improve logging by including channelz identifier in log messages (#5192)
API Changes
- grpc: delete
WithBalancerName()
API, deprecated over 4 years ago in #1697 (#5232) - balancer: change BuildOptions.ChannelzParentID to an opaque identifier instead of int (#5192)
- Note: the balancer package is labeled as EXPERIMENTAL, and we don't believe users were using this field.
Behavior Changes
- client: change connectivity state to
TransientFailure
inpick_first
LB policy when all addresses are removed (#5274)- This is a minor change that brings grpc-go's behavior in line with the intended behavior and how C and Java behave.
- metadata: add client-side validation of HTTP-invalid metadata before attempting to send (#4886)
- Special Thanks: @Patrick0308
Bug Fixes
- metadata: make a copy of the value slices in FromContext() functions so that modifications won't be made to the original copy (#5267)
- client: handle invalid service configs by applying the default, if applicable (#5238)
- xds: the xds client will now apply a 1 second backoff before recreating ADS or LRS streams (#5280)
Dependencies
- Upgrade security/authorization module dependencies to https://github.com/google/cel-go v0.10.1 and others (#5243)
- Special Thanks: @TristonianJones
Release 1.45.0
Bug Fixes
- xds/clusterresolver: pass cluster name to DNS child policy to be used in creds handshake (#5119)
- reflection: support dynamic messages (#5180)
- Special Thanks: @codebutler
Performance Improvements
- wrr: improve randomWRR performance (#5067)
- Special Thanks: @huangchong94
Behavior Changes
- server: convert context errors returned by service handlers to status with the correct status code (
Canceled
orDeadlineExceeded
), instead ofUnknown
(#5156)
New Features
- reflection: add
NewServer(ServerOptions)
for creating a reflection server with advanced customizations (#5197) - xds: support federation (#5128)
- xds/resource: accept Self as LDS's RDS config source and CDS's EDS config source (#5152)
- xds/bootstrap: add plugin system for credentials specified in bootstrap file (#5136)
Release 1.44.0
New Features
- balancer: add RLS load balancing policy (#5046)
- xds: add RLS Cluster Specifier Plugin (#5004)
- insecure: remove experimental notice (#5069)
Bug Fixes
- internal/balancergroup: eliminate race in exitIdle (#5012)
- authz: fix regex expression match (#5035)
Documentation
- grpc: minor improvement on WithInsecure() document (#5068)
- Special Thanks: @shitian-ni
- attributes: document that some value types (e.g.
map
s) must implement Equal (#5109) - dialoptions.go: Fix WithBlock godoc (#5073)
- Special Thanks: @sgreene570
- grpclog.DepthLoggerV2: Correct comment: formats like fmt.Println (#5038)
- Special Thanks: @evanj
protoc-gen-go-grpc v1.2.0
New Features
- Add protoc and protoc-gen-go-grpc versions to top comment
Bug Fixes
- update google.golang.org/protobuf to v1.27.1 to fix package name generation on macOS
- NOTE: this includes a behavior change in the protobuf package: https://github.com/protocolbuffers/protobuf-go/releases/tag/v1.26.0#user-content-v1.26-require-import-path
Release 1.43.0
API Changes
- grpc: stabilize
WithConnectParams
DialOption
(#4915)- Special Thanks: @hypnoglow
Behavior Changes
- status: support wrapped errors in
FromContextError
(#4977)- Special Thanks: @bestbeforetoday
- config: remove the environment variable to disable retry support (#4922)
New Features
- balancer: new field
Authority
inBuildOptions
for server name to use in the authentication handshake with a remote load balancer (#4969)
Bug Fixes
- xds/resolver: fix possible
ClientConn
leak upon resolver initialization failure (#4900) - client: fix
nil
panic in rare race conditions with the pick first LB policy (#4971) - xds: improve RPC error messages when xDS connection errors occur (#5032, #5054)
- transport: do not create stream object in the face of illegal stream IDs (#4873)
- Special Thanks: @uds5501