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`。
    • enumがクローズされているかテストするための`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パースにおける不適合を修正。