2023年12月13日に発表された変更点
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)サポートを使用してください。
これらの変更のすべてに関する詳細については、対応するリリースノートで確認できます。