版本 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 支持政策,我们计划停止对已终止生命周期 (EOL) 的 PHP 版本的支持。这不被视为破坏性变更,因为这些版本在更广泛的生态系统中也已经停止支持。

停止对 Autotools 的支持

根据我们的构建系统支持政策,我们计划停止对 autotools 的支持。这是一个破坏性变更。在停止对 autotools 的支持后,protobuf 将仅支持 CMake 和 Bazel。

停止对 C++11 的支持

根据我们的C++ 支持政策,我们计划停止对 C++11 的支持。这是一个破坏性变更。

添加 C++20 支持

由于 C++ 语言中新增了关键字,即使目前未使用 C++20 的用户,添加对 C++20 的支持对他们来说也是一个破坏性变更。

针对此问题的缓解措施,如仅在特定编译器模式下有条件地更改名称,将会破坏支持多种语言标准的项目。

C++ 变更

在我们宣布新的主版本和破坏性变更政策后,我们计划对 C++ 进行主版本升级。我们计划从 22.x 发布系列开始,对我们发布的资产进行一些更改。

以下各节概述了我们计划在 22.0 版本的 protocol buffers 中包含的一系列破坏性变更。请注意,计划可能会发生变化。这些是需要注意的潜在破坏性变更,但它们可能不会在这个特定版本中发生,或者可能根本不会发生。