This is the 1.24.0 release (ganges) 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
- gRPC Core starts to have a dependency against the C++ standard library such as libstdc++.so depending on the platform. This applies to all wrapped libraries and they have this new dependency, too. (For more detail, see the proposal)
- Remove call from queued picks when failing it due to channel destruction. (#20128)
- Catch the error if socket initialization fails. (#19766)
- Do not create streams after a GOAWAY has been received. (#19968)
- Prevent HTTP2 parser from queueing a lot of induced frames. (#19924)
- Send RPC deadline to server in cronet header. (#19820)
- Mandate static string for host and method passed to grpc_channel_register. (#19263)
- Fail SEND_MESSAGE ops if stream is closed for writes. (#19868)
- Add Delegating Channel. (#19316)
C++
- Allow call credentials interception at PRE_SEND_INITIAL_METADATA. (#20188)
- Upgrade to Bazel 0.29 (including Windows RBE). (#20165)
- Update Google Benchmark v1.5.0 to get CMake < 3.6 fix. (#19535)
- Fix a big source of races in CHTTP2 code. (#20139)
- Channel idleness atomic. (#19727)
- Update C++ code generation to work with Bazel 0.29 . (#19860)
C#
- Revert "Enable bitcode for ios native libraries" in v1.24.x. (#20233)
- C#: support serialization to IBufferWriter. (#19792)
- Remove LiteClientBase. (#20149)
- Enable bitcode for ios native libraries. (#20113)
Objective-C
- Added experimental tvOS and watchOS support. (#19787)
Python
- Add strip_prefix to python protoc plugin and py_grpc_library. (#20141)
- Switch py_proto_library from using src to deps to conform with google3. (#20027)
- Expose local credentials on Python layer. (#19971)
- Make default vtable for pointer argument a constant. (#20013)
- Gracefully handle errors from Future object callbacks. (#20015)
- Gracefully handle exceptions raised by signal handlers on the main thread while unary RPCs are in flight. (#19988)
- Separate py_grpc_library and py_proto_library. (#19822)
- Add wait_for_termination method to grpc.Server. (#19299)
- Add Python Cancellation Example. (#19465)