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_values
はalways_print_fields_with_no_presence=True
に置き換えられました。 - Py:
including_default_value_fields=True
はalways_print_fields_with_no_presence=True
に置き換えられました。
新しいフラグは proto3 メッセージでは古いフラグと同一の動作をしますが、proto2 の optional
フィールドには適用されなくなりました。古いフラグは proto2 の optional
フィールドには適用されましたが、proto3 の optional
フィールドには適用されませんでした。