grpc v1.75.0 版本更新介绍
发布日期: 2025-09-15
版本号: v1.75.0
这是 gRPC Core 的 1.75.0 版本,包含一系列改进、优化与错误修复。核心库方面,更新了安全验证机制(SPIFFE),将 c-ares 库版本升级至 1.34.5,并修复了导致连接尝试中断的 bug。C++ 模块实现了 OpenTelemetry 重试指标。Objective-C 修复了
state属性的数据竞争问题。Python 模块的 grpcio 现已依赖typing-extensions~=4.13,将 musllinux 轮子从 1_1 版本升级至 1_2,并修复了grpc.aio中的多个类型提示问题。Ruby 模块则新增了对凭证对象的标记以及对 linux-gnu 和 linux-musl 平台的 rubygems 支持。
更新内容 (中文)
这是gRPC Core的1.75.0版本(Gemini)。
有关gRPC文档,请访问 grpc.io。有关历史版本,请参阅 版本发布列表。
本次发布包含改进、优化和错误修复,以下为重点内容。
核心
- [安全] 集成Spiffe验证机制。(#40515)
- [Python][Typeguard] 第三部分 - 在测试中为AIO技术栈添加Typeguard。(#40217)
- [c-ares] 将版本更新至1.34.5。(#39508)
- [pick_first] 修复导致连接尝试停止的错误。(#40162)
C++
- [OTel C++] 实现重试指标。(#39195)
Objective-C
- 通过为
state属性添加使用@synchronized锁定机制的自定义getter,修复数据竞争问题。(#40146)
Python
- gRPC Python (grpcio) 现在依赖
typing-extensions~=4.13。(#40137) - 将 musllinux 轮子包从
musllinux_1_1更新至musllinux_1_2。(#40317)- 移除
musllinux_1_1是因为它将在2024年11月达到生命周期终点。 - musllinux 平台标签参考:PEP 656
- 移除
grpc.aio类型提示修复。(#40215, #40217)- 元数据类型验证:修复元数据处理以支持所有序列类型(而不仅是元组),防止运行时错误。增强元数据类型验证:使用
isinstance(metadata, Sequence)替代isinstance(metadata, tuple)。 - 序列化参数:更改为
Optional[SerializingFunction]以更准确地表示类型。 - 修复公共API中的错误:
ClientCallDetails.method原被声明为str类型,但始终以bytes类型调用,详见 InterceptedUnaryUnaryCall。
- 元数据类型验证:修复元数据处理以支持所有序列类型(而不仅是元组),防止运行时错误。增强元数据类型验证:使用
- 修复了grpio在所有非Mac Apple设备内部构建中安装失败的问题(#40325)。(#40347)
Ruby
更新内容 (原始)
This is release 1.75.0 (gemini) of gRPC Core.
For gRPC documentation, see grpc.io. For previous releases, see Releases.
This release contains refinements, improvements, and bug fixes, with highlights listed below.
Core
- [Security] Cherry Pick Spiffe Verification. (#40515)
- [Python][Typeguard] Part 3 - Add Typeguard to AIO stack in tests. (#40217)
- [c-ares] update version to 1.34.5. (#39508)
- [pick_first] fix bug that caused us to stop attempting to connect. (#40162)
C++
- [OTel C++] Implement retry metrics. (#39195)
Objective-C
- Fix data race by adding custom getter for
stateproperty with@synchronizedlocking. (#40146)
Python
- gRPC Python (grpcio) now depends on
typing-extensions~=4.13. (#40137) - Update musllinux wheels from
musllinux_1_1tomusllinux_1_2. (#40317)- Dropping
musllinux_1_1because it reached EOL in November 2024 - Reference on musllinux platform tags: PEP 656
- Dropping
grpc.aiotypehint fixes. (#40215, #40217)- Metadata type validation: Fixed metadata handling to support all sequence types (not just tuples), preventing runtime errors. Enhanced metadata type validation:
isinstance(metadata, Sequence)instead ofisinstance(metadata, tuple) - Serializer parameters: Changed to
Optional[SerializingFunction]for more accurate type representation - Fixing the error in public API:
ClientCallDetails.methodwas declared asstrbut always called withbytes, see InterceptedUnaryUnaryCall.
- Metadata type validation: Fixed metadata handling to support all sequence types (not just tuples), preventing runtime errors. Enhanced metadata type validation:
- Fixes issue #40325 with grpcio failing to install on all non-Mac Apple devices internal builds. (#40347)
Ruby
- Ruby: Mark credential object in channel. (#40394)
- [Ruby] Add rubygems support for linux-gnu and linux-musl platforms. (#39549)