版本 22.x 新闻公告

Protocol Buffers 版本 22.x 宣布的变更。

以下公告特定于版本 22.x。有关按时间顺序呈现的信息,请参阅新闻

更改 Maven 发布候选版本构件名称以更符合习惯

在 22.0 版本中,我们计划重命名 Maven 构件,使用 “RC” 而不是 “rc-” 作为发布候选版本前缀。

添加 Abseil 依赖项

为了减少 protobuf 在 Google 和 OSS 之间的差异并简化我们自己的项目,我们计划正式依赖 Abseil。 随着时间的推移,我们计划开始在我们的公共 API 中使用 Abseil 类型,但仅仅添加依赖项就是一个重大变更。

放弃支持 PHP <7.4

根据我们的 PHP 支持政策,我们计划放弃支持 PHP 的 EOL 版本。 这不被认为是重大变更,因为这些版本在更广泛的生态系统中已经是 EOL。

放弃 Autotools 支持

根据我们的 构建系统支持政策,我们计划放弃 autotools 支持。 这是一个重大变更。 在放弃 autotools 支持后,protobuf 将仅支持 CMake 和 Bazel。

放弃 C++11 支持

根据我们的 C++ 支持政策,我们计划放弃 C++11 支持。 这是一个重大变更。

添加 C++20 支持

由于 C++ 语言中添加了新关键字,即使使用者当前不使用 C++20,添加 C++20 支持对他们来说也是一个重大变更。

对此的缓解措施(仅在某些编译器模式下有条件地更改名称)将破坏支持多种语言标准的项目。

C++ 变更

在我们发布新的主要版本和重大变更政策之后,我们计划对 C++ 进行一次主要版本升级。 我们计划从我们的 22.x 发行线开始,对我们发布的资产进行一些更改。

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