gRPC 是可以在任何环境中运行的现代开源高性能 RPC 框架,目前 gRPC 已发布 1.46.0 版本。
值得注意的是, gRPC C++ 1.46 将是最后一个支持 C++11 的版本,未来的版本将需要 C++ >= 14。
gRPC 1.46 其他更改如下:
Core
接收时忽略连接中止错误。
HTTP 代理:忽略 no_proxy 列表中的空条目。
在 httpcli 中添加 http/1.1 支持。
HTTP2:启动写入以确认 SETTINGS 帧。
将 fork 的不受支持的轮询策略日志更改为 GPR_INFO。
处理 SSL_ERROR_WANT_WRITE 错误。
TCP 异步连接:修复 Heap use-after-free。
HTTP2:添加优雅的 goaway。
删除 epollex 轮询器。
TlsCredentials:比较器实现。
减少取消期间可能发生的 alts 握手日志详细程度。
HTTP2:在接收 GOAWAY 时,不在服务器上运行取消逻辑。
HTTP2:不要限制来自服务器的 ping。
在 XDS 错误更新中包含 ADS 流错误。
C++
为 grpc_cc_library 添加 bazel cpp distribtest。
C#
在 GKE 基准测试中添加对 grpc-dotnet 的支持。
关机后同步一元调用:添加一个 repro 并修复#19090。
删除 C# Legacy(又名“经典”)csproj 示例。
Python
添加 Python GCF Distribtest。
添加 Python 反射客户端。
恢复“修复 prefork 处理程序寄存器的默认行为”。
修复 prefork 处理程序寄存器的默认行为。
修复在 setup.py 中获取 CXX 变量的问题。
Ruby
支持 Ruby 3.1 的预构建二进制文件。
确保始终在 ruby 中接收初始元数据。
更新公告:https://github.com/grpc/grpc/releases/tag/v1.46.0