2024年2月5日に発表された変更点
2024年2月5日にProtocol Buffersに発表された変更点です。
このトピックでは、26.x系におけるJava、C++、Pythonの破壊的変更について説明します。
JSON Formatter オプションの変更点
26.x系から、デフォルト値のフィールドを出力するJSONフォーマッターオプションが、proto2とproto3のoptionalフィールドを矛盾なく処理する固定的な方法に置き換えられます。
- Java:
includingDefaultValueFields()はalwaysPrintFieldsWithNoPresence()に置き換えられます。 - C++:
always_print_default_valuesはalways_print_fields_with_no_presence=Trueに置き換えられます。 - Python:
including_default_value_fields=Trueはalways_print_fields_with_no_presence=Trueに置き換えられます。
新しいフラグはproto3メッセージでは古いフラグとまったく同じように動作しますが、proto2のoptionalフィールドには適用されなくなります。古いフラグはproto2のoptionalフィールドには適用されましたが、proto3のoptionalフィールドには適用されませんでした。