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 版本。這不被視為破壞性變更,因為這些版本在更廣泛的生態系統中已終止支援。

不再支援 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 版本中包含的一組破壞性變更。請注意,計畫可能會變更。這些是需要注意的潛在破壞性變更,但它們可能不會在此特定版本中發生,或者可能根本不會發生。