[Announcement] Protocol Buffers Version 34.0 is Released!

52 views
Skip to first unread message

Jie Luo

unread,
Mar 3, 2026, 2:06:53 PM Mar 3
to Protocol Buffers
This version includes breaking change(s) to C++, python, PHP, Objective-C, Bazel:
  • [Objective-C] Remove  -[GPBFieldDescriptor optional]  ( 3414dc1 )
  • [Objective-C] Fix nullability annotations on some  GPB*Dictionary  types. ( ea67d6d )
  • [Objective-C] Remove  generate_minimal_imports  generation option warning ( 45b1297 )
  • [Python] Raise errors in OSS when assign bool to int/enum field in Python Proto. ( 5b116fe )
  • [Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() ( c301c2c )
  • [Python] Remove deprecated FieldDescriptor.label ( 0a8ff55 )
  • [Python] Remove float_format/double_format from python proto text_format ( e4854a1 )
  • [Python] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead ( b76faa9 )
  • [Python] Raise TypeError when convert non-timedelta to Duration, or convert non-datetime to Timestamp in python proto. (Original code may raise ArributeError) ( 00aaca1 )
  • [Python] Remove float_precision from python proto json_format ( f027f1f )
  • [PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead. ( 4208121 )
  • [PHP] Remove deprecated PHP APIs ( 9c45014 )
  • [PHP] Add PHP typehints for setters and remove redundant GPBUtil checks ( aee03b7 )
  • [PHP] support default values for editions/proto2 ( b01099d )
  • [C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() ( c301c2c )
  • [C++] Add a debug check that the target of CopyFrom is not a descendant of the source. ( 7a75898 )
  • [C++] Add [[nodiscard]] to many APIs. ( a70115f )
  • [C++] Make generator headers private ( 3a2af35 )
  • [C++] Remove deprecated FieldDescriptor::has_optional_keyword() in OSS. Use is_repeated() or has_presence() instead ( 68346ec )
  • [C++] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead ( b76faa9 )
  • [C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use (!is_required() && !is_repeated()) instead ( 9dbc5d4 )
  • [C++] Remove AddUnusedImportTrackFile() and ClearUnusedImportTrackFiles(). Remove PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT ( 837a2cd )
  • [C++] Removes proto2::util::MessageDifferencer::AddIgnoreCriteria that takes a raw pointer as an argument in favor of the overload that takes a unique_ptr. Remove macro PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA ( b115358 )
  • [C++] Make the arena-enabled constructors of  RepeatedField RepeatedPtrField , and  Map  private. ( ef890c3 )
  • [C++] All entity names have length limit ( 2afb0dc )
  • [Other] Remove deprecated flag for enabling MSVC support ( 97c979b )
  • [Bazel] Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead ( 0a5c2f6 )
  • [Bazel] Change @protobuf//bazel/flags:prefer_prebuilt_proto flag to True. ( 84a30b5 )
  • [Bazel] Only respect the Starlark versions of --proto_toolchain_for*( b5685c4 )
You can view the release and complete release notes on [ GitHub ] and additional information on our News page .
If you experience any issues with the release, please file a bug or post on the Protocol Buffers forum .


Reply all
Reply to author
Forward
0 new messages