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には影響しません。