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
。 - repeated フィールドが packed かどうかをテストする
FieldDescriptor.is_packed
。 - string フィールドが UTF-8 バリデーションを必要とするかどうかをテストする
FieldDescriptor.requires_utf8_validation
。 - enum が closed かどうかをテストする
EnumDescriptor.is_closed
。
- フィールドがプレゼンスを持つかどうかをテストする
PHP の破壊的変更
以下の変更は 26.x ラインで計画されています。
- セッター内の string フィールドに対して UTF-8 バリデーションを実行します。
- ジェネリックサービスを削除します。(commit 40ad3fa)
Python の破壊的変更
以下の変更は 26.x ラインで計画されています。
str(msg)
が string フィールド内の無効な UTF-8 をエスケープするようにします。text_format.MessageToString()
がデフォルトで生の UTF-8 を出力し、同時に無効な UTF-8 シーケンスをエスケープするようにします。- タイムスタンプの範囲を修正 (commit 1250d5f)
upb の破壊的変更
以下の変更は 26.x ラインで計画されています。
IgnoreUnknownEnumString
が有効になっている場合の JSON パースにおける非準拠を修正。