Skip to content

Update dependency protobuf to v35 - #8338

Merged
LeFrosch merged 1 commit into
bazelbuild:masterfrom
renovate-bot:renovate/major-protobuf-monorepo
May 21, 2026
Merged

Update dependency protobuf to v35#8338
LeFrosch merged 1 commit into
bazelbuild:masterfrom
renovate-bot:renovate/major-protobuf-monorepo

Conversation

@renovate-bot

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
protobuf bazel_dep major 34.0.bcr.135.0

Release Notes

protocolbuffers/protobuf (protobuf)

v35.0: Protocol Buffers v35.0

Announcements

  • This version includes potential breaking changes without a major version bump to: Bazel.**
    • [Bazel] Change @​protobuf//bazel/flags:prefer_prebuilt_proto flag to True. (f9f32d2)
  • This version includes potential breaking changes without a major version bump to: Bazel.
  • Protobuf News may include additional announcements or pre-announcements for upcoming changes.

Bazel

  • Bazel 9 Support: Upgrade tests to Bazel 9 (3ee8d8a)
  • Moved protocopt flag out of the cc dir, since it is not a c++-specific flag. (325d8dc)
  • Add support for bazel 9.x (#​26201) (f08d703)
  • Breaking change: Change @​protobuf//bazel/flags:prefer_prebuilt_proto flag to True. (f9f32d2)
  • Dropped support for Bazel 7. (1816758)

Compiler

  • Implement the Edition 2026 naming style enforcement feature. This will help prevent field name collisions. (ae0d964)
  • Add enum to enforce_naming_style feature to avoid field naming collisions which will be implemented in Edition 2026. (e4911a1)
  • Fail writing files in protoc CLI if any file output path is relative. (3bf2b07)
  • Mangle types named XyzView if there is any direct sibling named Xyz (63d6ef0)
  • Improve the namespacing selected by rustc used for gencode types in errors. (ce2eb73)
  • Fully qualify scalar types in Kotlin/Native proto generator. (adc8d22)
  • Change _opt() accessors to return an std::Option instead of protobuf::Optional (6ced612)
  • Make Message's trait bounds much better for generic use (be1292f)
  • Support more chars in type URLs in the C++ text-format parser. (3a87c6c)
  • Validate Feature Support on Custom Options (34c1110)
  • Trait clarity effort: introduce Singular trait, for types which are allowed as simple fields (cdbfaf1)
  • Trait clarity improvement on Map traits (a8daa95)

C++

  • Workaround for attribute handling bug in gcc < 13 (78dc67e)
  • Implement the Edition 2026 naming style enforcement feature. This will help prevent field name collisions. (ae0d964)
  • Add enum to enforce_naming_style feature to avoid field naming collisions which will be implemented in Edition 2026. (e4911a1)
  • Enhance ParseInfoTree to provide location of names and values. (1cb4fdb)
  • Add integer overflow check to RepeatedPtrField::MergeFrom. (cb5fe97)
  • Adding sanity check for ListFields reflection call (555360e)
  • Introduce Arena::UniquePtr and Arena::Ptr as smart pointers to better manage (bb00218)
  • Bug fix for edition 2024 visibility checking. Visibility checking was not properly applied to service method input and output types. This is now applied properly and will error if method input/output types do not have visibility to those messages. (5a56dee)
  • Fixed data race in Python Free Threading by removing unnecessary SetHasBitForRepeated() call. (8c1a9a4)
  • Add support for bazel 9.x (#​26201) (f08d703)
  • Add proto2::sort/stable_sort utilities that behave as the standard ones but are optimized for Protobuf containers. (252281f)
  • Add proto2::erase/erase_if utilities that behave as the standard ones but are optimized for Protobuf containers. (dc9fb35)
  • Extend Abseil flag support for enums to include std::vector. (bd42ac6)
  • Dropped support for Bazel 7. (1816758)
  • Add native Abseil flag support to protobuf message types. (ec42e19)
  • Support more chars in type URLs in the C++ text-format parser. (3a87c6c)
  • Stripping empty options (d5d6d4c)
  • Creating generic MaybeAddError helper function (4bcf773)
  • Validate Feature Support on Custom Options (34c1110)
  • Add bounds checks to UnsafeArenaExtractSubrange, ReleaseLast and SwapElements. (d124c2d)
  • Fix UTF-8 Validation of string extensions in C++ (0936f33)
  • Remove first implementation of protobuf out of bounds enforcement. (507f86b)
  • Add native Abseil flag support to protobuf enums. (a203388)
  • Improve EINTR handling for close in zero_copy_stream_impl.h (a904af9)
  • Add cc_proto_library for MessageSet in //src/google/protobuf/bridge (6d23e8e)

Java

  • Add BytecodeClassName functions, matching helpers in the java GeneratorNames utility. (514aceb)
  • Add enum to enforce_naming_style feature to avoid field naming collisions which will be implemented in Edition 2026. (e4911a1)
  • Avoid toBigIntegerExact in JsonFormat to avoid degenerate parse behavior in the face of large exponents. (57093a8)
  • Dropped support for Bazel 7. (1816758)
  • Add native Abseil flag support to protobuf enums. (a203388)

Csharp

  • Implement WriteDelimitedTo(BufferWriter) (#​21325) (407f457)
  • Add an "include" directory containing WKTs for Google.Protobuf.Tools nuget package. (6029d17)

Objective-C

  • ObjC: Block Roots from being created. (8274114)
  • Fix naming convention in c_function extension syntax (e3bee07)
  • Modify unit tests to use c_function extension syntax via ifdefs (e1f2f52)

Rust

  • Mangle types named XyzView if there is any direct sibling named Xyz (63d6ef0)
  • Improve the namespacing selected by rustc used for gencode types in errors. (ce2eb73)
  • Allow ProtoStr to be used in const contexts. (7f7b974)
  • Make any &T impl AsView if T impl AsView (d787869)
  • Change _opt() accessors to return an std::Option instead of protobuf::Optional (6ced612)
  • Add some common methods to ProtoStr to make it more ergonomic to use without dropping down to &[u8] (f8daf2f)
  • Ffi_11: Define basic arithmetic operations and comparison with underlying type (74b6f3f)
  • Make Message's trait bounds much better for generic use (be1292f)
  • Remove ProxiedInMapValue alias, since it is superceded by MapValue (5bde6e8)
  • Add fn push_default(&mut self) -> SomeMsgMut<> fn for Repeated message type fields. (a3bf3ec)
  • Fix that f32 and f64 were incorrectly tagged as legal for MapKeys in RustProto. (ab3793e)
  • Trait clarity effort: introduce Singular trait, for types which are allowed as simple fields (cdbfaf1)
  • Trait clarity improvement on Map traits (a8daa95)
  • See also UPB changes below, which may affect Rust.

Python

  • Fix Python text_format by adding an optional recursion depth limit (#​26604) (8abff6b)
  • Fix data race in CMessage lazy initialization for Python freethreading. (28e4512)
  • Fixed data race in Python Free Threading by removing unnecessary SetHasBitForRepeated() call. (8c1a9a4)
  • Fix type annotation for FindAllExtensionNumbers() to be a list rather than the more general Iterator. (3edd615)
  • Add type hints to descriptor_database.py. (cbe6403)
  • Fixed a bug in msg.MergeFrom(msg2) in Python. (ab14c0f)
  • Fix NULL byte handling issue in Python Protobuf find symbols in pool (059dc7e)
  • Add support for bazel 9.x (#​26201) (f08d703)
  • Add recursion guards for the following nested messages: (b4c3fec)
  • Protobuf Python UPB Free Threading support. (f10c1de)
  • Fix Any recursion depth bypass in Python json_format.ParseDict (#​25239) (d2b0016)
  • Supports exporting int as int (ea78297)

PHP

  • Fail writing files in protoc CLI if any file output path is relative. (3bf2b07)
PHP C-Extension
  • Fix 1-byte stack overflow in PHP extension int64 formatting (#​26530) (3f04505)
  • See also UPB changes below, which may affect PHP C-Extension.

Ruby

  • Gracefully handle payloads >2GB. (918ad5b)
Ruby C-Extension
  • Gracefully handle payloads >2GB. (918ad5b)
  • See also UPB changes below, which may affect Ruby C-Extension.

UPB (Python/PHP/Ruby C-Extension)

  • Fixed two GCC-only issues around upb's generated extension registry.
  • Avoid theoretical overflow of uintptr_t in AddAllLinkedExtensions (e7785e0)
  • Test(proto): Add message to test oneof name conflict resolution (29476e1)
  • Add recursion guards for the following nested messages: (b4c3fec)

v34.1: Protocol Buffers v34.1

Announcements

  • Protobuf News may include additional announcements or pre-announcements for upcoming changes.

Bazel

  • Moved protocopt flag out of the cc dir, since it is not a c++-specific flag. (3db9fd1)
  • Add support for bazel 9.x (#​26201) (763c5da)

C++

  • Updated CMake dependencies. (5583485)
  • Add cc_proto_library for MessageSet in //src/google/protobuf/bridge (523a6a4)
  • Add support for bazel 9.x (#​26201) (763c5da)

Java

  • Avoid toBigIntegerExact in JsonFormat to avoid degenerate parse behavior in the face of large exponents. (ab3d7f0)

Python

Other

  • Fixed release_prep.sh script mkdir command to follow INTEGRITY_FILE location. (e700d7d)
  • Second try at fixing the release_prep.sh file path! (#​26097) (f5ccaf3)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the protobuf dependency from version 34.0.bcr.1 to 35.0 in the main and test project MODULE.bazel files. Feedback highlights a potential compatibility issue, as Protobuf v35.0 drops support for Bazel 7, which is still present in the repository's integration test matrix.

Comment thread MODULE.bazel
bazel_dep(name = "rules_python", version = "1.9.0")
bazel_dep(name = "rules_proto", version = "7.1.0")
bazel_dep(name = "protobuf", version = "34.0.bcr.1")
bazel_dep(name = "protobuf", version = "35.0")

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The release notes for Protobuf v35.0 explicitly state that support for Bazel 7 has been dropped. However, this repository still includes Bazel 7.7.1 in its integration test matrix (see lines 56 and 64). Upgrading to v35.0 will likely cause integration tests running against Bazel 7 to fail. You should remove Bazel 7 from the test matrix or verify if a compatibility workaround is required.

@LeFrosch

Copy link
Copy Markdown
Collaborator

Supersedes: #8260

@LeFrosch
LeFrosch merged commit c7b3b46 into bazelbuild:master May 21, 2026
6 checks passed
@github-project-automation github-project-automation Bot moved this from Untriaged to Done in Bazel IntelliJ Plugin May 21, 2026
@github-actions github-actions Bot removed the awaiting-review Awaiting review from Bazel team on PRs label May 21, 2026
@renovate-bot
renovate-bot deleted the renovate/major-protobuf-monorepo branch May 21, 2026 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

product: CLion CLion plugin

Projects

Development

Successfully merging this pull request may close these issues.

3 participants