Releases: grpc/grpc-go
Releases · grpc/grpc-go
Release v1.27.1
- balancer/base: consider an empty address list an error
Release 1.27.0
API Changes
- balancer/resolver: remove temporary backward-compatibility type aliases (#3309)
Behavior Changes
- dns: ignore TXT errors unless GRPC_GO_IGNORE_TXT_ERRORS=false (#3299)
New Features
- client: add interface for ClientConn to be accepted by generated code (#3334)
- client: add WithResolvers option for specifying client-local resolvers (#3320)
- advancedtls: add new module for advanced TLS handshaker (#3187)
- credentials: create API for transport security level information (#3214)
Bug Fixes
- trace: fix getting family for the method (#3216)
- Special Thanks: @andyxning
Release 1.26.0
API Changes
- balancer: add V2Picker, ClientConn.UpdateState, SubConnState.ConnectionError (#3186)
- resolver: introduce attributes package and use it for Address and State (#3151)
- resolver: rename Option to Options, leaving type aliases for now (#3175)
Behavior Changes
- dns: disable SRV record lookups unless grpclb is imported (#3149)
- dns: stop polling for updates; use UpdateState API (#3165)
New Features
- stats: attach metadata to In/Out Headers/Trailers (#3169)
- Special Thanks: @MatthewDolan
- xds: Implementation of the CDS LB policy. (#3224)
- xds: Implementation of xds_resolver using LDS/RDS (#3183)
- grpclb: do not send redundant empty load reports to remote LB (#3249)
Performance Improvements
- server.go: combine defers to reduce stack usage (#3208)
- Special Thanks: @adtac
- profiling: add internal changes to support profiling of gRPC (#3158)
- Special Thanks: @adtac
Bug Fixes
- dns: do not call NewServiceConfig when lookups are disabled (#3201)
- client: set grpc-accept-encoding header based on outgoing compressor (#3139)
- Special Thanks: @jiacai2050
- server: Keepalive pings should be sent every [Time] period (#3172)
Documentation
Release 1.25.1
- resolver: re-add dns and passthrough packages as references to internal versions
Release 1.25.0
API Changes
- resolver: move dns and passthrough to internal (#3116)
New Features
- credentials: add RequestInfo to context passed to GetRequestMetadata (#3057)
- Special Thanks: @shanel-at-google
- resolver: add State fields to support error handling (#2951)
- clientconn: override authority with address's ServerName, if set (#3073)
- Special Thanks: @jpbetz
- server: add ServerOption HeaderTableSize (#2931)
- Special Thanks: @MoZhonghua
- resolver: Add new fields to resolver.BuildOption struct to support dialing a remote name resolver (#3098)
- client: add WithConnectParams to configure connection backoff and timeout (#2960)
Performance Improvements
Bug Fixes
- interop, examples: use localhost instead of 127.0.0.1 (#3124)
- client: fix race between client-side stream cancellation and compressed server data arriving (#3054)
- grpclb: enter fallback if no balancer addresses are available (#3119)
- client: fix keepalive ping rate (#3102)
- clientconn: fix potential deadlock caused by ResetConnectBackoff (#3051)
Documentation
Release 1.24.0
Dependencies
- internal: update proto library version used to generate pb.go files (#3025)
New Features
- xds: add functionality to read bootstrap file. (#3000)
Performance Improvements
- transport: remove defer in http2Client.getStream (#2980)
- Special Thanks: @dzbarsky
- transport: derive transport context from context.Background (#2930)
- Special Thanks: @JNProtzman
Bug Fixes
- client: consider service config invalid if loadBalancingConfig contains no supported policy (#3034)
- credentials/alts: fix panic detecting GCP environment (#2996)
- Special Thanks: @mwhudson
- internal: fix context leak when stream is not created successfully (#2985)
- grpclb: fix deadlock in grpclb connection cache (#3017)
- server: set and advertise max frame size of 16KB (#3018)
Release 1.21.4
- server: set and advertise max frame size of 16KB (#3018)
Release 1.23.1
Release 1.22.3
Release 1.23.0
Security
- transport: block reading frames when too many transport control frames are queued (#2970)
- Addresses CVE-2019-9512 (Ping Flood), CVE-2019-9514 (Reset Flood), and CVE-2019-9515 (Settings Flood).
API Changes
- xds: move code to a root level xds directory (#2950)
Behavior Changes
- client: remove option to send RPCs before HTTP/2 handshake is completed (#2904)
New Features
- grpclb: enable keepalive (#2918)
- balancer: start populating weight by edsbalancer for weighted_round_robin (#2945)
- Special Thanks: @alazarev
- wrr: add EDF implementation of weighted round robin. (#2957)
- Special Thanks: @alazarev
- status: Implement *statusError.Is (#2868)
- Special Thanks: @jsm
Performance Improvements
- server: avoid an unnecessary allocation per-RPC for OK status (#2920)
- Special Thanks: @dzbarsky
- server: avoid call to trace.FromContext and resulting allocations when tracing is disabled (#2926)
- Special Thanks: @dzbarsky
- http2client: remove unnecessary allocations for header fields (#2925)
- Special Thanks: @dzbarsky
- status: avoid allocations when returning an OK status (#2929)
- Special Thanks: @dzbarsky
- server: avoid allocations related to tracking excessive pings (#2923)
- Special Thanks: @dzbarsky
Bug Fixes
- transport: call Unlock in defer to avoid data race (#2953)
- Special Thanks: @lzhfromustc
- client: fix canceled vs deadline exceeded double-check logic (#2906)
- grpclb: recreate SubConns when switching fallback in case credentials change (#2899)
- server: populate WireLength on stats.InPayload for unary RPCs (#2932)
- Special Thanks: @ajwerner
- client: fix race between transport draining and new RPCs (#2919)
- balancer: filter out grpclb addresses if balancer is not grpclb (#2907)
Documentation
- docs: clarify "deprecated" to indicate whether some features may be removed in 1.x (#2900)