バージョン21.xのニュース発表

Protocol Buffers バージョン21.xで発表された変更点。

以下の発表はバージョン21.xに特化したものです。時系列の情報については、ニュースを参照してください。

Pythonの更新

Protocol BuffersのPython言語サポートにいくつかの変更を加えました。バージョン4.21.0は、3.20.1に続く新しいメジャーバージョンです。この新バージョンはupbライブラリに基づいており、特に大きなペイロードの場合に、以前のリリースよりも格段に優れたパース性能を提供します。また、手動ビルドなしで性能向上を実現するために、Apple Silicon用のプリビルド済みバイナリモジュールも含まれています。

新しいリリースには、いくつかの破壊的な変更が含まれています。具体的には

  • 暗黙的に作成されるクラスに依存していたUnknownFields()メソッドは、明示的に作成されるUnknownFieldSetクラスに置き換えられました。
  • 特定の文字列の形式やエラーメッセージなど、コアではない特性が変更された可能性があります。これらは破壊的な変更とは見なされませんが、既存のコードベースに影響を与える可能性があります。
  • PythonとC++間でメッセージの共有に依存するアプリケーションは、新バージョンでは動作しなくなります。ほとんどの開発者は影響を受けませんが、Nucleusやその他のライブラリのユーザーは影響を受ける可能性があります。回避策として、ライブラリに互換性を維持させるために環境変数を設定できます。
  • Python upbは、protoc 3.19.0以降で生成されたコードを必要とします。