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

2023年12月27日にProtocol Buffersに発表された変更点。

Rubyの破壊的変更

26.x系で以下の変更が予定されています

  • RepeatedField#each_indexのセマンティクスを修正します。 (#11767)
  • Ruby DSLと関連する互換性コードを削除し、4月に発表された移行を完了します。
  • Message#to_hの修正
    • 未設定のoneofフィールドを削除します。 (#6167)
    • 未設定のサブメッセージフィールドを削除します
  • encode_json/decode_jsonにメッセージのプールを使用します。
  • 非推奨の構文アクセサFileDescriptor.syntaxを削除し、代わりに意味的チェックを追加します。
    • フィールドが存在するかどうかをテストするFieldDescriptor.has_presence
    • 繰り返しフィールドがパックされているかどうかをテストするFieldDescriptor.is_packed
    • 文字列フィールドがUTF-8検証を必要とするかどうかをテストするFieldDescriptor.requires_utf8_validation
    • 列挙型が閉じられているかどうかをテストするEnumDescriptor.is_closed

PHPの破壊的変更

26.x系で以下の変更が予定されています

  • セッターで文字列フィールドのUTF-8を検証します。
  • 汎用サービスを削除します。 (コミット 40ad3fa)

Python の破壊的変更

26.x系で以下の変更が予定されています

  • str(msg)が文字列フィールドの無効なUTF-8をエスケープするようにします。
  • text_format.MessageToString()がデフォルトで生のUTF-8を出力し、無効なUTF-8シーケンスをエスケープするようにします。
  • タイムスタンプの境界を修正します (コミット 1250d5f)

upbの破壊的変更

26.x系で以下の変更が予定されています

  • IgnoreUnknownEnumStringが有効な場合のJSONパースにおける非準拠を修正します。