2023年12月13日に発表された変更点
C++ の破壊的変更
v26 では、弊社の破壊的変更ポリシーおよびバージョンサポートポリシーに従い、C++ のメジャーバージョンアップを計画しています。
以下のセクションでは、プロトコルバッファの 26.0 リリースに含める予定の破壊的変更のセットを概説します。計画は変更される可能性があることに注意してください。これらは注意すべき潜在的な破壊的変更ですが、この特定のリリースで発生しない可能性や、まったく発生しない可能性もあります。
繰り返しフィールドの非推奨のクリアAPIを削除
以下の非推奨メソッドが削除されます
RepeatedPtrField::ReleaseCleared()
RepeatedPtrField::ClearedCount()
RepeatedPtrField::AddCleared()
C++ レガシー構文記述子APIを削除
エディションのリリースにより、ビジネスロジックでの構文はサポートされなくなりました。代わりに、C++ での機能のクエリには、descriptor.h
で定義されているさまざまな機能ヘルパー(has_presence
など)を使用して、よりターゲットを絞った動作を照会してください。
非推奨の構文アクセサーを削除
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)
サポートを使用してください。
これらの変更に関する詳細情報は、対応するリリースノートで確認できます。