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