2024 年 1 月 5 日宣布的变更

2024 年 1 月 5 日为 Protocol Buffers 宣布的变更。

本主题涵盖了 26.x 系列中 Ruby 和 Python 的破坏性变更。

Ruby 破坏性变更

Freeze 现在在 Ruby 中是递归的

从 26.x 系列开始,应用 freeze 时,它将以递归方式应用,影响所有子消息、map 和重复字段。

Python 破坏性变更

移除已弃用的 API

在 26.x 版本中,以下已弃用的 API 将被移除

拒绝使用 None 可迭代对象扩展重复字段

从 26.x 版本开始,使用 None 可迭代对象扩展重复字段将被拒绝(它将引发 TypeError)。例如,m.repeated_int32.extend(None) 将被拒绝。

在消息类中移除 RegisterExtension

从 26.x 版本开始,RegisterExtension 将被移除。您可以使用消息对象上的 Extensions 属性在 Python 中访问扩展。

这会影响纯 Python 和 Python 的 C++ 实现,但不影响 upb Python。