gRPC 1.81.1 版本发布:多语言多方面改进与错误修复
【导语:gRPC 作为现代开源高性能 RPC 框架,可在任何环境运行。近日,gRPC 1.81.1 版本发布,带来了多方面的改进、优化和错误修复,涉及 Core、Objective - C、Python、Ruby 等多个方面。】
在 Core 模块,gRPC 1.81.1 版本进行了多项重要修复。比如修复了 Windows 系统上潜在的 use - after - free 错误,解决了弱内存模型(ARM)上的完成队列关闭竞争条件,还处理了导致断言错误的 Windows 竞争条件。此外,在 OSS 中启用了 error_flatten experiment,同时精简 Python2 向后兼容语法,移除 (object) 继承。
Objective - C 方面,向 GRPCUnaryProtoCall 添加了 receiveNextMessage。Python 方面改进众多,添加 typing_extensions dep 到 aio Bazel 目标,开展 Pyright 相关工作,移除 3.9 版本支持,放宽 protobuf 依赖上限以支持 7.x 版本,在测试中添加 Typeguard SYNC Stack,从 ReceiveMessageOperation.un_c 方法中移除 GIL,并支持 AsyncIO 堆栈中的可观测性。
Ruby 方面,停止支持已终止维护的 Ruby 3.1 版本并进行清理,同时 Composed CallCredentials 会保留对其 source 的引用,提升了 Ruby 相关功能的稳定性和性能。
编辑观点:gRPC 1.81.1 版本的发布,在多个语言和模块上进行了细致的改进和修复,增强了框架的稳定性和性能,有助于开发者更高效地使用 gRPC 进行开发。
