2024年1月5日に発表された変更点

2024年1月5日にProtocol Buffersで発表された変更点です。

このトピックでは、26.x系におけるRubyとPythonの破壊的変更について説明します。

Ruby の破壊的変更

Ruby でのフリーズは再帰的になった

26.x系以降、freezeが適用されると、すべてのサブメッセージ、マップ、繰り返しフィールドに影響を与え、再帰的に適用されます。

Python の破壊的変更

非推奨APIの削除

26.xリリースでは、以下の非推奨APIが削除されます

Noneイテラブルによる繰り返しフィールドの拡張を拒否

26.xリリース以降、Noneイテラブルによる繰り返しフィールドの拡張は拒否されます(TypeErrorが発生します)。例えば、m.repeated_int32.extend(None)は拒否されます。

メッセージクラス内のRegisterExtensionの削除

26.xリリース以降、RegisterExtensionは削除されます。Pythonで拡張にアクセスするには、メッセージオブジェクトのExtensionsプロパティを使用できます。

これはピュアPythonとPythonのC++実装の両方に影響しますが、upb Pythonには影響しません。