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