This is the 1.17.0 release (gizmo) 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 support for LB config in service config. (#17063)
- Don't reset channel state on resolver failure when LB policy exists. (#17226)
- Avoid re-resolution after c-ares resolver has been shut down. (#17204)
- Enable
SO_REUSEADDR
in client sockets. (#17193) - Remove
memset(0)
from arena allocate memory. (#16944) - Account the memory usage of channel and call by resource quota. (#16823)
- Client side health checking feature. (#16507)
- Fail
wait_for_ready=false
RPCs when channel is inTRANSIENT_FAILURE
. (#16912) - Fix a dangling pointer on ares_request object in case of cancellation. (#16913)
- Fix corruption of ares blocking_resolve_address when grpc is restarted. (#16917)
- Fix the issue where a random fd will be closed when error occurs during creating eventfd. (#10859)
- Enable Channelz by default. (#16819)
- Remove
grpc_use_signal
from API, as no longer relevant. (#16706) - Fix deadlock issue in HTTP2 connector. (#16979)
C++
- Experimental API for Client and Server Interception. (#16842)
- Add global client interceptor factory. (#17053)
- Fix invalid version .so links in Makefile. (#16832)
- In gRPC-C++ podspec, copy the certificate to bundle resources. (#16962)
- Implement Watch method in health check service. (#16697)
C#
- Avoid c-ares dependency on libnsl. (#17271)
- Switch C# to contextual serializer and deserializer internally. (#17167)
- Add
BindService()
method that works with alternative serving stacks. (#17157) - Document .NET build integration with Grpc.Tools. (#15754)
- Integrate Grpc.Tools into msbuild system (C# only). (#13207)
- Use Ninja to build grpc_csharp_ext windows artifact (assembly-optimized secure channels in C# on windows). (#16780)
PHP
- Add fork() support to PHP PECL extension. (#17147)
Python
- Update Python documentation. (#17194)
- Migrate tests from Python 3.4 to Python 3.7. (#16995)
- Add wait-for-ready option. (#16919)
- The new gRPC Python documentation generator. (#17074)
- Allow gpr compatibility mode to be disabled in the Python build. (#16916)
- Fix logging issues introduced due to root logger being configured by gRPC. (#17091)
- Add support for utf-8 error messages. (#16946)
- Ensure
libboringssl.a
is always built for Python. (#17049) - Add python example to show the use of channel options. (#16924)
- Add type checking for channel args. (#16864)
- Strip manylinux1 binary wheels. (#16836)