版本 21.x 的新闻公告
Protocol Buffers 21.x 版本发布的变更公告。
以下公告仅适用于 2022 年 5 月 25 日发布的 21.x 版本。有关按时间顺序排列的信息,请参阅新闻。
Python 更新
我们对 Protocol Buffers 中的 Python 语言支持进行了一些更改。版本 4.21.0 是继 3.20.1 之后的一个新的主版本。新版本基于 upb 库,与之前的版本相比,解析性能显著提高,尤其是在处理大型负载时。它还为 Apple Silicon 提供了预构建的二进制模块,无需手动构建即可提高性能。
新版本确实包含一些重大更改。具体来说:
- 依赖于隐式创建类的
UnknownFields()
方法已被显式创建的UnknownFieldSet
类取代。 - 一些非核心特性可能已发生变化,例如某些字符串或错误消息的特定格式。这些不被视为重大更改,但仍可能影响您现有的代码库。
- 依赖于在 Python 和 C++ 之间共享消息的应用程序将在新版本中中断。大多数开发者不会受到此影响,但 Nucleus 以及其他一些库的用户可能会受到影响。作为一种变通方法,您可以设置一个环境变量来强制库保持兼容性。
- Python upb 需要使用 protoc 3.19.0 或更高版本生成的代码。