2023年12月13日に発表された変更点

2023年12月13日にProtocol Buffersについて発表された変更点。

C++ 破壊的変更

v26では、弊社の破壊的変更ポリシーおよびバージョンサポートポリシーに従い、C++のメジャーバージョンアップを計画しています。

以下のセクションでは、プロトコルバッファの26.0リリースに含める予定の破壊的変更のセットを概説します。計画は変更される可能性があり、実際に変更されます。これらは注意すべき潜在的な破壊的変更ですが、この特定のリリースで発生しない可能性や、まったく発生しない可能性もあります。

繰り返しフィールドの非推奨のクリアAPIを削除

以下の非推奨メソッドが削除されます

  • RepeatedPtrField::ReleaseCleared()
  • RepeatedPtrField::ClearedCount()
  • RepeatedPtrField::AddCleared()

C++ レガシー構文ディスクリプタAPIを削除

エディションのリリースにより、ビジネスロジックでは構文はサポートされなくなりました。代わりに、C++で機能(例:has_presence)を照会するために、descriptor.hで定義されているさまざまな機能ヘルパーを使用して、よりターゲットを絞った動作を照会します。

非推奨の構文アクセサを削除

v26では、非推奨の構文アクセサFileDescriptor::Syntaxを削除する予定です。代わりにFileDescriptor::editionからのゲッターを使用することをお勧めします。

非推奨のSupportsUnknownEnumValuesメソッドを削除

SupportsUnknownEnumValuesメソッドは2023年3月に非推奨になりました。v26で削除する予定です。

std::stringエラーコレクタのオーバーライドを削除

エラーコレクタの非推奨のstd::stringメソッドを削除する予定です。

Python の破壊的変更

v26では、弊社の破壊的変更ポリシーおよびバージョンサポートポリシーに従い、Pythonのメジャーバージョンアップを計画しています。

タイムスタンプの有効性をチェック

v26では、システムがTimestamp値の有効性をチェックします。秒は[-62135596800, 253402300799]の範囲内、ナノ秒は[0, 999999999]の範囲内である必要があります。これらの範囲外の値は例外を発生させます。

非推奨の構文アクセサを削除

v26では、非推奨の構文アクセサFileDescriptor.syntaxを削除する予定です。代わりにFileDescriptor.editionを追加する予定です。

UnknownFieldsサポートの削除

v25では、純粋なPythonおよびC++拡張機能でmessage.UnknownFields()が非推奨になりました。v26で削除する予定です。代わりにunknown_fields.pyの新しいUnknownFieldSet(message)サポートを使用してください。

これらの変更のすべてに関する詳細については、対応するリリースノートで確認できます。