Protocol Buffers v36.0-rc1

v36.0-rc1Pre-release

Protocol Buffers v36.0-rc1

Added 6
  • Add bazel targets for standalone plugin binaries
  • Add --<lang>_prefix cli option
  • Add an enforce_proto_limits feature which will be implemented in Edition 2026
  • Add Bazel 9 tests for csharp, hpb, objc, php, python, rust and upb
  • Support assigning repeated scalar fields using Python Buffer API
  • Add a warning for potential OneofDescriptor collisions prior to Q1 2027 breaking changes
Changed 6
  • Make default_symbol_visibility STRICT in edition 2026
  • Enforce proto limits in the descriptor by default for EDITION_2026
  • Use the direct map reflection API when converting message to JSON if the repeated field reflection is not valid
  • Make GetOptions() return immutable options for scalar type in py/upb
  • Align C++Proto JSON behavior on the type.proto path with the descriptor.proto path
  • Make Timestamps.parse() attempt non-lenient parsing first and warning if this fails
Fixed 7
  • Disallow reserving field number INT_MAX
  • Apply path traversal guard to WriteAllToZip() matching WriteAllToDisk()
  • Validate Duration/Timestamp in TimeUtil::FromString against spec limits
  • Stop TextFormat iteration if output stream fails
  • Workaround for attribute handling bug in gcc < 13
  • Fix confusing error message for map value type name conflicts
  • Reject negative size in mergeDelimitedFrom
Deprecated 1
  • Add deprecation warnings for (py|cc|java)_generic_service

Announcements

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

Bazel

Compiler

C++

Java

Csharp

Objective-C

Rust

Python

PHP

PHP C-Extension

Ruby

UPB (Python/PHP/Ruby C-Extension)

Other

View original

Upgraded? How did it go?

Discussion