2024年2月5日に発表された変更点

2024年2月5日にProtocol Buffersについて発表された変更点。

このトピックでは、26.x系におけるJava、C++、およびPythonの破壊的変更について説明します。

JSON フォーマッターオプションの変更点

26.x系より、デフォルト値のフィールドを出力するJSONフォーマッターオプションが、proto2とproto3のoptionalフィールドを一貫して扱う固定された方法に置き換えられます。

  • Java: includingDefaultValueFields()alwaysPrintFieldsWithNoPresence() に置き換えられます。
  • C++: always_print_default_valuesalways_print_fields_with_no_presence=True に置き換えられます。
  • Py: including_default_value_fields=Truealways_print_fields_with_no_presence=True に置き換えられます。

新しいフラグは、proto3メッセージに対しては古いフラグと全く同じように動作しますが、proto2のoptionalフィールドには適用されなくなります。古いフラグはproto2のoptionalフィールドには適用されましたが、proto3のoptionalフィールドには適用されませんでした。