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

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

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

Rubyの破壊的変更

RubyにおけるFreezeの再帰的適用

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とC++実装のPythonの両方に影響しますが、upb Pythonには影響しません。