[Announcement] Protocol Buffers Version 34.0-rc1 is Released!

10 views
Skip to first unread message

Rachel Goldfinger

unread,
Jan 22, 2026, 10:10:06 PM (10 hours ago) Jan 22
to prot...@googlegroups.com

This version includes breaking change(s) to C++, Objective-C, PHP, Python:


  • [Bazel] Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead

  • [C++] Make generator headers private

  • [C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts()

  • [C++] Add [[nodiscard]] to many APIs

  • [C++] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead

  • [C++] Remove deprecated FieldDescriptor::has_optional_keyword() in OSS. Use is_repeated() or has_presence() instead

  • [C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use (!is_required() && !is_repeated()) instead

  • [C++] Remove AddUnusedImportTrackFile() and ClearUnusedImportTrackFiles(). Remove PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT

  • [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

  • [C++] Add a debug check that the target of CopyFrom is not a descendant of the source

  • [C++] Make the arena-enabled constructors of RepeatedField, RepeatedPtrField, and Map private

  • [ObjC] Remove generate_minimal_imports generation option warning

  • [ObjC] Fix nullability annotations on some GPB*Dictionary types

  • [ObjC] Remove -[GPBFieldDescriptor optional]

  • [Other] Remove deprecated flag for enabling MSVC support

  • [Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts()

  • [Python] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead

  • [Python] Raise errors in OSS when assign bool to int/enum field in Python Proto

  • [Python] Remove float_format/double_format from python proto text_format

  • [Python] Remove deprecated FieldDescriptor.label

  • [Python] Remove float_precision from python proto json_format

  • [Python] Raise TypeError when convert non-timedelta to Duration, or convert non-datetime to Timestamp in python proto. (Original code may raise AttributeError)

  • [PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead

  • [PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead

  • [PHP] Remove deprecated PHP APIs

  • [PHP C-Extension] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead


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