gRPC v1.31.0 Release Notes
Release Date: 2020-08-05 // over 3 years ago-
This is the 1.31.0 release (galore) 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.
Core
๐ The following new xDS functionality is added in this release:
- โ Requests matching based on path (prefix, full path and safe regex) and headers.
- โ Requests routing to multiple clusters based on weights.
- The features supported in a given release are documented here.
Other changes:
- Remove MAX_EPOLL_EVENTS_HANDLED_EACH_POLL_CALL to ensure timely processing of events. (#23535)
- Include the target name in top-level DNS error messages. (#23493)
- โ Remove xds-experimental URI scheme. (#23463)
- fix memory leak of grpc_resource_user_quota. (#22201)
- Store ref to the ExternalConnectivityWatcher in external_watchers_ map. (#23418)
- โก๏ธ Update grpclb configuration with field "service_name". (#22345)
- ๐ Fix possible deadlock in RemoveExternalConnectivityWatcher. (#23365)
- Enable TLS 1.3 in the C-core and all wrapped languages. (#23165)
- โ Add message-size check before message decompression with ordering change. (#23293)
- ๐ Fix race condition caused by simultaneous updates on SSL server handshaker. (#22647)
- Add missing reset for ping clocks to avoid mistakenly sending GOAWAY frames due to 'too_many_pings'. (#23145)
C++
- Simplify makefile: Get rid of "install" rules with pure make, recommend cmake and bazel instead. (#23412)
- Replaced grpc::string with std::string. (#23350)
- ๐ Fix wrong version in gRPCConfigVersion.cmake and grpc++*.pc. (#22982)
C
- Avoid collisions in cs files generated by Grpc.Tools. (#22869)
- โ Add Grpc.Auth support for Google.Apis.Auth.ITokenAccessWithHeaders. (#21616)
Objective-C
- ๐ Objc support PB runtime import override. (#23298)
Python
- ๐ [Aio] Support tuple and aio.Metadata interaction. (#23556)
- [Aio] Allows poller to bind to ephemeral loops in multiple threads. (#23377)
- [Aio] Hide init_grpc_aio and guard async API outside of AsyncIO context. (#23280)
- [Aio] Implement methods to access auth context and peer info. (#23265)
- โ Add protobuf as an "extras" dependency to grpcio package. (#23170)
- ๐ [Aio] Use Metadata type. (#23045)
- Avoid attribute error in del of _ChannelCallState. (#23176)
- Default wait_for_ready to True in simple stubs. (#23163)
- Propagate contextvars to auxiliary threads. (#23107)
- Simplify channel credentials in simple stubs. (#23153)
๐ Ruby
- ๐ Fix ruby protoc plugin when message is in another package. (#23501)
- ๐ Fix ruby 2.7 keyword arguments deprecation. (#23419)
- ๐ Make sure call creds user callbacks can't kill the ruby call credentials thread. (#23333)
- ๐ Fix auth plugin context use-after-free in ruby. (#19756)
- โ Add verbose logs for details around ruby call creds user callback invocation. (#23327)