Release v1.28.1
This release is a patch specifically for the Python bindings to address 22546.
Python
Backport 22549 to 1.28 (Only load simple stubs code on 3.6+ interpreters).
Release v1.28.0
This release contains refinements, improvements, and bug fixes, with highlights listed below.
Core
feat: add x-goog-user-project header from quota_project_id field.
Reintroduce 21527 (boringssl submodule unification - take two).
Reintroduce 21527 (boringssl submodule unification).
Treat an empty http_proxy mean "Don't use proxy" and skip parsing it.
C++
This release adds an experimental client side implementation of xDSv2 APIs. This allows a gRPC client written in C++ to receive configuration from an xDSv2 API compatible server and use that configuration to load balance RPCs. In this release, only the virtual host matching and cluster route action is supported. More features will be added in future.
Cherrypick 22147: xds: send no-overprovisioning client capability and populate user_agent fields.
Fix regression in MSVC runtime flag.
Unify boringssl submodules and use non-developer boringssl cmake build.
Objective-C
Fix ObjC memory consumption increase as app runs.
Python
Backport Simple Stubs Codegen to 1.28.
[Aio] Generate gRPC AsyncIO API Reference.
Experimental: Implement Top-Level Invocation Functions Not Requiring an Explicit Channel.
[Aio] Implement health checking servicer in AsyncIO.
[Aio] Prohibit mixing two styles of API on client side.
[Aio] Add channel_ready helper function.
[Aio] Support compression for both client and server.
[Aio] Close ongoing calls when the channel is closed.
[Aio] Fix the server credentials & improve socket implementation.
[Aio] Support wait-for-ready mechanism.
[Aio] Fix the windows build failure.
Stop building manylinux1 images.
[Aio] Move status and initial metadata handling to Cython.
Ruby
Backport to 1.28.x: add ruby 2.7 to mac binary pkgs.
Add ruby-2.7 to build process of binary gems for Windows and Linux.
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.