发布日期: 2026-03-26
版本号: v1.80.0

这是gRPC Core的1.80.0版本发布。本次更新包含功能优化、改进和错误修复,主要更新内容如下: 核心改进包括在Python中实现TLS私钥签名器、修复OpenBSD系统上的最大sockaddr结构大小问题、默认为Python启用EventEngine并支持Python和Ruby中的EventEngine分支,以及在负载均衡器中启用从随机索引开始连接的功能。 各语言方面的更新主要有:C++为频道凭证API添加了SNI覆盖选项;C#工具支持为服务端方法名追加Async后缀;Objective-C编译器插件对较旧的protobuf回退使用2023版;PHP禁用了核心到PHP回调的无限递归检查并修复了PHP8.5兼容性问题;Python修复了多个崩溃、兼容性和文档问题,并更新了公共API文档;Ruby增加了对发布原生调试包到公开存储桶的支持。

更新内容 (中文)

这是 gRPC Core 的 1.80.0 版本(代号 glimmering)。

gRPC 文档请参阅 grpc.io。历史版本请查看发布列表

本次发布包含优化、改进和错误修复,主要亮点如下。


Core

  • [ssl] 在 Python 中实现 TLS 私钥签名者。(#41701)
  • 修复 OpenBSD 上 sockaddr 结构体最大尺寸问题。(#40454)
  • [core] 默认为 Python 启用 EventEngine,并在 Python 和 Ruby 中支持 EventEngine 分叉。(#41432)
  • TLS 凭据: 创建 InMemoryCertificateProvider 以独立更新证书。(#41484)
  • [Ruby] 构建/测试 Ruby 4.0 并构建支持 Ruby 4.0 的原生 gem。(#41324)
  • [EventEngine] 移除 DNSServiceResolver 构造函数中错误的 std::move。(#41502)
  • [RR 和 WRR] 启用从随机索引开始连接的功能。(#41472)
  • [xds] 实现 gRFC A101。(#41051)

C++

  • [C++] 在 C++ 通道凭据选项 API 中添加 SNI 覆盖选项。(#41460)

C#

  • [C# 工具] 为服务器端方法名添加“Async”后缀的选项 #39010。(#39797)

Objective-C

  • [修复][编译器] 插件对旧版 protobuf 回退到 2023 版本。(#41357)

PHP

  • [PHP] 为 Core 到 PHP 的回调禁用 PHP 无限递归检查。(#41835)
  • [PHP] 修复因 zend_exception_get_default 导致 PHP 8.5 alpha 运行时错误。(#40337)

Python

  • [Python] 修复当 absl 日志在 Cython 中初始化时 GRPC_TRACE 不工作的问题。(#41814)
  • 撤回“[Python] 对齐核心和 Python 中 GRPC_ENABLE_FORK_SUPPORT 环境变量默认值 (#41455)”。(#41769)
  • [Python] 修复 AsyncIO Server 中 maximum_concurrent_rpcs 强制执行阻止 active_rpcs 计数为负数的问题。(#41532)
  • [Python] 文档:更正 grpc.Compression 的引用。(#41705)
  • [Python] [Typeguard] 第 4 部分 - 在测试中为 AIO 堆栈添加 Typeguard。(#40226)
  • [Python] 修复 Asyncio gRPC 客户端的多线程异常 - 修复 #25364。(#41483)
  • [Python] 解决 absl::InitializeLog 警告。(#39779)
  • [Python] 在 Cython 中移除 IF 的使用。(#41400)
  • [Python] 为导出的 proto 文件添加语言特性。(#41501)
  • [Python] 修复在迭代 AIO Metadata 的 keys()、values()、items() 或 list(metadata.values()) 等方法时崩溃的问题。(#41481)
  • [Python] 现代化并改进公共 API 文档。(#41287)

Ruby

  • [Ruby] 新增支持将原生调试包从 rubygems 推送到公共 GCS 存储桶。(#41270)

更新内容 (原始)

This is release 1.80.0 (glimmering) 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

  • [ssl] Implement TLS private key signer in Python. (#41701)
  • [TLS Credentials]: Private Key Offload Implementation. (#41606)
  • Fix max sockaddr struct size on OpenBSD. (#40454)
  • [core] Enable EventEngine for Python by default, and EventEngine fork support in Python and Ruby. (#41432)
  • [TLS Credentials]: Create InMemoryCertificateProvider to update certificates independently. (#41484)
  • [Ruby] Build/test ruby 4.0 and build native gems with Ruby 4.0 support. (#41324)
  • [EventEngine] Remove an incorrect std::move in DNSServiceResolver constructor. (#41502)
  • [RR and WRR] enable change to connect from a random index. (#41472)
  • [xds] Implement gRFC A101. (#41051)

C++

  • [C++] Add SNI override option to C++ channel credentials options API. (#41460)

C#

  • [C# tools] Option to append Async to server side method names #39010. (#39797)

Objective-C

  • [Fix][Compiler] Plugins fall back to the edition 2023 for older protobuf. (#41357)

PHP

  • [PHP] Disable php infinite recursion check for callback from Core to PHP. (#41835)
  • [PHP] Fix runtime error with PHp8.5 alpha because zend_exception_get_defaul…. (#40337)

Python

  • [Python] Fix GRPC_TRACE not working when absl log initialized in cython. (#41814)
  • Revert “[Python] Align GRPC_ENABLE_FORK_SUPPORT env defaults in core and python (#41455)”. (#41769)
  • [Python] Fix AsyncIO Server maximum_concurrent_rpcs enforcement preventing negative active_rpcs count. (#41532)
  • [Python] Docs: correct grpc.Compression references. (#41705)
  • [Python] [Typeguard] Part 4 - Add Typeguard to AIO stack in tests . (#40226)
  • [Python] Fix multi-thread exception for Asyncio gRPC clients - Fixes #25364. (#41483)
  • [Python] Resolve absl::InitializeLog warning. (#39779)
  • [Python] Remove IF usage in Cython. (#41400)
  • [Python] Add language features to exported proto files. (#41501)
  • [Python] Fix crash when iterating on AIO Metadata keys(), values(), items() or list(metadata.values()) etc. . (#41481)
  • [Python] Modernize and revamp Public API Docs. (#41287)

Ruby

  • [Ruby] Added support to push native-debug packages off rubygems to public gcs bucket. (#41270)

下载链接