This is the 1.14.0 release (gladiolus) 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
- Add
TROUBLESHOOTING.md
guide (#15940) - gRPC channels blocking indefinitely and not respecting deadlines on network disconnect. (#15983)
- Add user guide for keepalive. (#15995)
- Fix
GRPC_ARG_HTTP2_MIN_RECV_PING_INTERVAL_WITHOUT_DATA_MS
doc to restrict usage to server. (#15994) - Fixed ordering in adding pending picks to Round Robin LB . (#15947)
- Implement local channel/server credentials for UDS connections. (#15909)
- Allow extra copy in zero-copy protector integrity-only mode. (#15901)
- Update to use the canonical version of LB proto. (#15840)
- Separate out the posix part of the
c-ares
driver. (#15780) - Treat
nanopb
as a regular external dependency. (#15595) - Prefer using
https_proxy
overhttp_proxy
. (#15698) - Refactor to put c-ares queries under a combiner. (#15490)
- Build
c-ares
with Bazel on Windows. (#15624) - Remove
already_closed
parameter fromfd_orphan
. (#15648) - Add channel arg to enable/disable
http proxy
. (#15699) - Fix shutdown of closed fd when c-ares opens a second fd. (#15691)
C++
- Introduce server-side load reporting service. (#15196, #15570, #15853)
- Reorder steps in
ServerBuilder::BuildAndStart()
. (#15919) - Support Per-Method Codegen Generic on Server Side. (#15771)
- Protobuf-related headers are available in a subspec of gRPC-C++ podspec. (#15847)
C#
- Codegen fix: avoid potential name conflicts by using fully qualified name in
_Marshaller*
fields. (#15688) - cmake: Ability to disable building of grpc_csharp_ext (#15195)
- Added C# tests that demonstrate how to unit test gRPC code with test doubles. (#15687)
- Promote the C# interceptor API from experimental to stable and eliminate the
EXPERIMENTAL API
notice on the code elements. (15668)
Objective-C
- Allow control of backoff parameters. (#15838)
- Fix out-of-bounds access loading
pem
files. (#15554) - Batch fixes for a few
CFStream
issues. (#15714)
Python
- Explicitly check conformance of handlers added to a gRPC server to
grpc.GenericRpcHandler
type. (#15689) - Expose
SERVICE_NAME
field from reflection and health checking services. (#16153) - Explicitly close channels in examples via the
Channel.close
API. (#15725)- Please note that gRPC requires explicit closure of
Channel
objects via awith
block or directly invoking theChannel.close
API to ensure resources are appropriately released.
- Please note that gRPC requires explicit closure of
- Official Python 3.7 binary wheels for Windows (x64), macOS, and Linux (x86 and x64) are now available. (#15632)
- Optimize blocking intercepted response-unary calls to use the blocking API and not rely on a
future
underneath. (#14639)