2023 年 12 月 27 日宣布的变更
2023 年 12 月 27 日为协议缓冲区宣布的变更。
Ruby 破坏性变更
以下变更是为 26.x 版本线计划的
- 修复 RepeatedField#each_index 以使其具有正确的语义。 (#11767)
- 移除 Ruby DSL 和相关的兼容性代码,这将完成四月份宣布的迁移。
- 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 版本线计划的
- 在 setters 中验证字符串字段的 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 解析中的不符合项。