gRPC v1.21.0 Release Notes
Release Date: 2019-05-21 // almost 5 years ago-
🚀 Note: gRPC Python pkgs for this release are not available due to the issue #19105. We will soon be releasing 1.21.1 patch to address this issue.
This is the 1.21.0 release (gandalf) of gRPC Core.
🚀 Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Please consult https://grpc.io/ for all information regarding this product.
🚀 This release contains refinements, improvements, and bug fixes, with highlights listed below.
👀 Note: gRPC Python packages are now marked as deprecated for Python 2.7. See the previous announcement here. Python 2.7 support will be removed on January 1, 2020.
Core
- Service Config Changes to set channel in transient failure on invalid service config. (#18946)
- ➕ Add a backup poller to c-ares resolver to take better advantage of c-ares query timeout/retry logic. (#17688)
- Pass WSA_FLAG_NO_HANDLE_INHERIT flag to the WSASocketA() to avoid handle leaking on the Windows in case of using CreateProcess() on the server. (#18060)
- ➕ Add fallback-at-startup into xds. (#18665)
- Retire the GRPC_ARENA_INIT_STRATEGY env variable. (#18797)
- 🛠 Fix gevent segfault with C-Ares as DNS resolver. (#18547)
- Explicitly call getsockname after accept for unix sockets to get the sun_path. (#18556)
- 🏁 RBE Windows c-core build. (#18546)
- Loosen the dependency on the googleapis-common-protos-types gem. (#18635)
- pick_first: don't go into TRANSIENT_FAILURE upon empty update when in IDLE. (#18598)
- Add guard to the tv_nsec field of gpr_now return value. (#18601)
- Re-enable ALPN check in gRPC C core SSL stack. (#18563)
C++
- Global config variables migration. (#18931)
- Make cc_grpc_library compatible with native proto_library and cc_proto_library rules. (#18955)
- ➕ Add alarm in callback streaming test. (#18858)
- 👉 Make C++ Channel Interceptors work for lame channels. (#18630)
C
- 👌 Support slice-by-slice deserialization (allow accessing payload as ReadOnlySequence when on netstandard2.0). (#18865)
- ➕ Add VS integration for design time build of C# projects. (#18678)
- Migrate interceptor types for server-side interceptors to Grpc.Core.Api. (#18914)
- ➕ Add info about C# nightly nuget feed. (#18876)
- Upload C# nightly nugets to Artifactory dev nuget feed. (#18871)
- Migrate client API types to Grpc.Core.Api. (#18532)
- 🚚 Make CallCredentials implementation agnostic (prepare for move to Grpc.Core.Api). (#18652)
- ➕ Add BindServiceAttribute. (#18484)
- Provide access to verify_peer_callback from C# (take two). (#18591)
Node
- ➕ Add cares glue for libuv event loop. (#18809)
Objective-C
- gRPC Objective-C Flow Control. (#17936)
- ⚡️ Updated all ObjC examples to use the new api . (#18766)
- 🛠 Fix v2 API dispatching to main queue. (#18765)
- 🛠 Fix bug that default root certificates file cannot be found on mac. (#18719)
- 0️⃣ Turn on CFStream by default on iOS. (#17599)
Python
- ➕ Add python deprecation notices. (#19081)
- ➕ Add ability to strip module prefixes in Python gRPC protoc plugin. (#18808)
- Propagate KeyboardInterrupt above completion queue. (#18783)
- ➕ Add Python Compression Porcelain. (#18564)
💎 Ruby
- Add BadStatus#to_rpc_status. (#18752)