Releases: grpc/grpc-go
Releases · grpc/grpc-go
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)
Release 1.22.2
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).
Release 1.21.3
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).
Release 1.22.1
- server: populate WireLength on stats.InPayload for unary RPCs
Release 1.21.2
- server: populate WireLength on stats.InPayload for unary RPCs
Release 1.22.0
New Features
- balancer/resolver: add loadBalancingConfig and pre-parsing support (#2732)
Performance Improvements
- transport: share recv buffers (#2813)
- Remove call to proto.Clone() in http2Server.WriteStatus. (#2842)
Bug Fixes
- balancer: stop using picker from old balancer when switching balancers (#2833)
- server: fix race causing streams to be terminated by GracefulStop (#2857)
- grpclb: only force update picker when cache is used (#2843)
- metadata: write original md before appended md (#2879)
- Special Thanks: @elvizlai
- transport: fix bug leading to hang when invalid headers are received (#2818)
- client: don't reset backoff if updating addresses while in TransientFailure (#2740)
Documentation
- examples: note about ALTS special access permission on GCP (#2846)