gRPC 1.81.0 发布:多语言多方面改进,修复多项错误并优化功能
【导语gRPC 作为现代开源高性能 RPC 框架可在任何环境中运行。近日gRPC 1.81.0 版本发布带来了一系列改进、优化和错误修复涉及 Core、Objective - C、Python、Ruby 等多个方面。】Core 多项错误修复与功能启用在 Core 方面gRPC 1.81.0 进行了多项重要改进。比如修复了 Windows 系统上潜在的 use - after - free 错误[#42078](https://github.com/grpc/grpc/pull/42078)避免了内存使用不当的问题。还修复了弱内存模型ARM上的完成队列关闭 race[#41510](https://github.com/grpc/grpc/pull/41510)以及导致断言错误的 Windows race[#41563](https://github.com/grpc/grpc/pull/41563)提升了系统的稳定性。同时在 ssl 方面服务器端 handshaker factory 存储密钥签名者映射表[#42002](https://github.com/grpc/grpc/pull/42002)增强了安全性。并且在 OSS 中启用了 error_flatten 实验功能[#41471](https://github.com/grpc/grpc/pull/41471)为后续功能拓展提供了可能。Python 多维度优化与版本调整Python 部分的更新较为丰富。向 aio Bazel 目标添加 typing_extensions 依赖项[#42001](https://github.com/grpc/grpc/pull/42001)有助于代码的类型检查。对 src/python/grpcio/grpc/aio/_base_server.py 进行 Pyright 处理[#42240](https://github.com/grpc/grpc/pull/42240)提升了代码质量。还下架了 3.9 版本[#42145](https://github.com/grpc/grpc/pull/42145)放宽 protobuf 依赖项上限以支持 7.x 版本[#41948](https://github.com/grpc/grpc/pull/41948)。从 ReceiveMessageOperation.un_c 方法中移除 GIL[#41812](https://github.com/grpc/grpc/pull/41812)提高了并发性能并且支持 AsyncIO stack 中的可观测性[#41573](https://github.com/grpc/grpc/pull/41573)。Objective - C 与 Ruby 特色更新Objective - C 方面向 GRPCUnaryProtoCall 添加 receiveNextMessage[#42260](https://github.com/grpc/grpc/pull/42260)增加了消息接收的功能。Ruby 部分停止支持已终止维护的 Ruby 3.1 版本并进行清理[#41435](https://github.com/grpc/grpc/pull/41435)使代码更加简洁。Composed CallCredentials 会保留对其源的引用[#41782](https://github.com/grpc/grpc/pull/41782)优化了认证相关功能。编辑观点gRPC 1.81.0 版本在多个方面进行了细致的优化和改进增强了系统的稳定性、安全性和性能为开发者提供了更好的使用体验推动了 RPC 框架的进一步发展。