22.x 版本的新闻公告
Protocol Buffers 22.x 版本宣布的更改。
以下公告是针对 2023 年 2 月 16 日发布的 22.x 版本的。有关按时间顺序显示的信息,请参阅新闻。
更改 Maven 发布候选构件名称以使其更符合惯用语
在 22.0 版本中,我们计划将 Maven 构件重命名,使用 “RC” 而不是 “rc-” 作为发布候选前缀。
添加 Abseil 依赖项
为了减少 Protobuf 在 Google 内部和开源版本之间的差异并简化我们自己的项目,我们计划正式依赖 Abseil。届时,我们计划开始在我们的公共 API 中使用 Abseil 类型,但仅仅添加依赖项就是一个破坏性更改。
放弃对 PHP <7.4 的支持
根据我们的 PHP 支持政策,我们计划放弃对已停止维护的 PHP 版本的支持。这不被视为破坏性更改,因为这些版本在更广泛的生态系统中已经停止维护。
放弃 Autotools 支持
根据我们的 构建系统支持政策,我们计划放弃 Autotools 支持。这是一个破坏性更改。放弃 Autotools 支持后,protobuf 将仅支持 CMake 和 Bazel。
放弃 C++11 支持
根据我们的 C++ 支持政策,我们计划放弃 C++11 支持。这是一个破坏性更改。
添加 C++20 支持
由于 C++ 语言中添加了新关键字,即使用户目前不使用 C++20,添加对 C++20 的支持也对用户来说是一个破坏性更改。
对于在某些编译器模式下有条件地更改名称的缓解措施,会破坏支持多种语言标准的项目。
C++ 更改
在发布了我们的新主要版本和破坏性更改政策后,我们计划对 C++ 进行主要版本升级。我们计划从 22.x 发布线开始对我们发布的资产进行一些更改。
以下部分概述了我们计划在 Protobuf 22.0 版本中包含的一系列破坏性更改。请注意,计划可能会并且确实会改变。这些是需要注意的潜在破坏性更改,但它们可能不会在此特定版本中发生,或者根本不会发生。