Releases: grpc/grpc-go
Releases · grpc/grpc-go
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)
Release 1.21.1
- transport: fix bug leading to hang when invalid headers are received (#2818)
Release 1.21.0
New Features
- balancer: provide parsed target through BuildOptions (#2803)
- grpclb: handle service config and switch to pickfirst (#2719)
- dns: rate limit DNS resolution requests (#2760)
- interceptor: new APIs for chaining client interceptors. (#2696)
- client: return helpful error message when wait-for-ready RPCs fail with timeout (#2777)
- Special Thanks: @yuqitao
Bug Fixes
- transport: fix a race that could lead to memory leaks (#2765)
- client: set balancer name correctly when using grpc.WithBalancerName() (#2778) (#2802)
- Special Thanks: @wjywbs
Documentation
- docs: add note about retrying UNAVAILABLE (#2774)
Release 1.20.1
Release 1.20.0
API Changes
- balancer: remove Header from PickOptions; it is also available through context (#2674)
Behavior Changes
- transport: remove RequireHandshakeHybrid support (#2529)
New Features
- credentials: add compute engine creds (#2708)
- grpclb: fallback after init (#2681)
- server: improve error message when an unknown method is invoked. (#2723)
- balancer: add server loads from RPC trailers to DoneInfo (#2641)
- service config: default service config (#2686)
- bar: add ability to update resolver state atomically and pass directly to the balancer (#2693)
- stats: add Trailer to client-side stats.End (#2639)
- Special Thanks: @mklencke
Bug Fixes
- internal: update golang.org/x/lint dependency (#2690)
- syscall: remove logging in init(). (#2734)
- Special Thanks: @yangminzhu
- transport: do not close channel that can lead to panic (#2695)
- Special Thanks: @aanm
- grpclb: drop only when at least one SubConn is ready (#2630)
- stats: add WireLength to stats.InPayload (#2711)
- Special Thanks: @ilylia
- client: restore remote address in traces (#2718)
- server: send RST_STREAM after trailers if client has not half-closed (#2684)
- channelz: cleanup channel registration if Dial fails (#2733)
- client: handle HTTP header parsing error correctly (#2599)
- grpclb: keep drop index unless a new serverlist is received (#2631)
- client: reset backoff to 0 after a connection is established (#2669)
- dns: prefixing txt record lookup with "_grpc_config." (#2691)
- balancer: make sure non-nil done returned by Pick is called (#2688)
Release 1.19.1
- client: reset backoff to 0 after a connection is established (#2669)