版本 21.x 新闻公告
Protocol Buffers 版本 21.x 的变更公告。
以下公告专门针对版本 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 或更高版本生成的代码。