grpc 1.18.0 发布了。gRPC 是 Google 开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。
1.18.0 更新内容主要是优化、改进和 bug 修复,列出重点如下:
Core
- Use 32 bit nanopb fields. (#17249)
- Put most c-ares logs under a tracer. (#17495)
- Avoid SRV and TXT lookups for localhost. (#17470)
- Fix bug in subchannel backoff reset code. (#17391)
- Change pick_first to immediately select the first subchannel in READY state. (#17383)
- Cancel c-ares queries after a timeout to avoid getting stuck. (#17354)
- Add gRPC release schedule document. (#17306)
- Preparation for the new background poller ‘epollbg’. (#17244)
C++
- Allow interceptor creators to return nullptr. (#17544)
C#
Python
- Servers are no longer guaranteed to automatically shutdown when garbage collected. Applications must explicitly invoke
grpc.Server.stop()
to shutdown the server and release its resources. This aligns server behavior with thegrpc.Channel.close()
semantics introduced in v1.12.0. - Add python API to retrieve library version. (#17580)
- Add Watch method to health check service. (#17597)
- Refactor server deallocation. (#17444)
- Add grpcio-status extension package. (#17490)
- Add gRPC Python Example: Metadata. (#17485)
- New abort with grpc.Status API. (#17481)
- Update urllib3 to avoid security vulnerability. (#17476)
- Add License to Python tarball. (#17411)
- Revert “Strip manylinux1 binary wheels”. (#17412)
- Surface exceptions from Cython to Python as much as possible. (#16971)
- Add
logging.basicConfig()
for example servers. (#17322) - Channelz Python wrapper implementation. (#17266)
- Fix Python blocking interceptors facing RpcError. (#17317)
- Raise the exception while credential initialization. (#17281)
Ruby
- Add ruby 2.6 binary packages, drop 2.0 and 2.1. (#17607)
- server graceful shutdown for pull request. (#17348)
- Return UNIMPLEMENTED error when user does not implement client_streamer method. (#17290)
转自 https://www.oschina.net/news/103624/grpc-1-18-0-released