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 フィールドには適用されませんでした。