2024 年 2 月 5 日宣布的变更
Protocol Buffers 于 2024 年 2 月 5 日宣布的变更。
本主题涵盖 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
字段。