Release v1.26.0
This release contains refinements, improvements, and bug fixes, with highlights listed below.
Core
Fix compression filter crash on empty payload.
Ensure awake pollset_work threads exist on Windows.
Disable client_idle_filter.
Remove gpr_get/set_allocation_functions.
Security audit response.
C++
Automatically disable testing frameworks if gRPC_BUILD_TESTS=OFF.
Do not build channelz when gRPC_USE_PROTO_LITE.
Add options for all codegen plugins.
gRPC-C++ podspec follows gRPC versioning.
Issue 19208: Fix pollset_set_del_fd to cleanup all fd references.
De-duplicate .proto file processing.
cmake: Add VERSION and SOVERSION properties to libraries.
Python
Release Python3.8 wheels for Windows.
Release Python3.8 wheel on macOS.
Fix issue with exception being out of scope in Python 3.
[AIO] Implement the shutdown process for AIO server and completion queue.
Attempt to drop support for Python 3.4.
AIO Unified call interface.
Make sure Core aware of gevent Cython objects.
[bazel] Add an ability to call an optional custom plugin for py_proto_library and py_grpc_library.
Release v1.25.0
Core
Change RR to consider a subchannel in TF if it has failed since it was READY.
Fix a use after free in c-ares on Windows.
C++
Honor CARES_ROOT_DIR.
Make cmake grpc.pc depend on openssl too.
Create pkg-config files from CMake.
Add C++ wrapper for SPIFFE credentials v2.
Upgrade bazel to 0.29.1.
Python
Add experimental option to run unary-stream RPCs on a single Python thread.
[AIO] Minimal AsyncIO Server.
Switch to concrete classes in experimental asyncio.
Add manylinux2010_x86 wheels into artifacts.
Release 3.8 binary wheels.
Make grpc_testing's Servicer context abort method stop execution of the servicer handler.
Build Python wheels with tag manylinux2010.
Add experimental support for asyncio unary client.
Release v1.21.1
This is the 1.21.1 patch release of gRPC Core. This patch is for gRPC-Python only. gRPC Python pkgs for 1.21.0 release could not be uploaded to PyPi due to the issue 19105.
Notable changes:
- Eliminate grpcio package dependency on protobuf package
- A new grpc.Channel.close method is introduced and correct use of
gRPC Python now requires that channels be closed after use.
- Python errors have become more verbose.
- GRPC_ENABLE_FORK_SUPPORT=false is no longer required when running
fork-exec.
- Relying on an explicit with statement or explicitly calling
Channel.close to release the underlying resources in Channel objects
is now a required coding practice starting in v1.13.0.