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