2025 年 1 月 23 日宣布的變更

於 2025 年 1 月 23 日針對 Protocol Buffers 宣布的變更。

Poison Java gencode

我們正在將一項變更修補到 25.x 分支中,該變更將 Poison 在 3.21.7 版本之前建立的 Java gencode。然後,我們會將從 3.21.7 到 3.25.5 的所有 Java protobuf 版本標記為容易受到 footmitten CVE 的攻擊。

在此變更修補完成後,protobuf 將從 makeExtensionsImmutable 方法擲回 UnsupportedOperationException,除非您設定系統屬性「-Dcom.google.protobuf.use_unsafe_pre22_gencode」。如果您無法立即更新程式碼,使用此系統屬性可以為您爭取一些時間,但應將其視為短期解決方案。

Poison MSVC + Bazel

我們將在 v34 中停止支援同時使用 Bazel 和 MSVC。從 v30 開始,除非您指定選擇停用旗標 --define=protobuf_allow_msvc=true 以使其靜音,否則我們會使用錯誤 Poison 此組合。

MSVC 的路徑長度限制與 Bazel 的沙箱機制結合,使其越來越難以支援。為了避免隨機中斷將 protobuf 安裝到長路徑中的使用者,我們將完全禁止從 Bazel 使用 MSVC。我們將繼續支援搭配 CMake 的 MSVC,並開始支援搭配 Bazel 的 clang-cl。如需任何意見回饋或討論,請參閱 https://github.com/protocolbuffers/protobuf/issues/20085