2023 年 12 月 27 日宣布的变更
2023 年 12 月 27 日为 Protocol Buffers 宣布的变更。
Ruby 破坏性变更
以下变更为 26.x 版本系列规划
- 修复
RepeatedField#each_index
以使其具有正确的语义。( #11767) - 移除 Ruby DSL 和相关的兼容性代码,这将完成 4 月份宣布的迁移。
Message#to_h
修复- 移除未设置的 oneof 字段。( #6167)
- 移除未设置的子消息字段
- 为
encode_json
/decode_json
使用消息的池。 - 移除已弃用的语法访问器
FileDescriptor.syntax
,并用语义检查取代它- 使用
FieldDescriptor.has_presence
来测试字段是否存在。 - 使用
FieldDescriptor.is_packed
来测试重复字段是否打包。 - 使用
FieldDescriptor.requires_utf8_validation
来测试字符串字段是否需要 UTF-8 验证。 - 使用
EnumDescriptor.is_closed
来测试枚举是否关闭。
- 使用
PHP 破坏性变更
以下变更为 26.x 版本系列规划
- 在 setter 中验证字符串字段的 UTF-8。
- 移除泛型服务。( commit 40ad3fa)
Python 破坏性变更
以下变更为 26.x 版本系列规划
- 让
str(msg)
转义字符串字段中的任何无效 UTF-8。 - 让
text_format.MessageToString()
默认输出原始 UTF-8,同时转义任何无效的 UTF-8 序列。 - 修复时间戳边界。( commit 1250d5f)
upb 破坏性变更
以下变更为 26.x 版本系列规划
- 修复启用
IgnoreUnknownEnumString
时 JSON 解析中的 不一致性。