2024年1月5日発表の変更

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

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

Ruby の破壊的変更

Ruby における freeze が再帰的になる

26.x ライン以降では、freeze が適用されると、すべてのサブメッセージ、マップ、および repeated フィールドに再帰的に適用されるようになります。

Python の破壊的変更

非推奨 API の削除

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

None イテラブルでの repeated フィールドの extend を拒否

26.x リリース以降では、`None` イテラブルで repeated フィールドを extend すると拒否されるようになります (TypeError が発生します)。たとえば、m.repeated_int32.extend(None) は拒否されます。

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

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

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