Protocol Buffers Version 26.0-rc1 is Released!

49 views
Skip to first unread message

Dennis Shao

unread,
Jan 25, 2024, 2:50:12 PM1/25/24
to prot...@googlegroups.com

This version includes breaking changes to: C++, Java, PHP, Python, Ruby.


C++ 5.26.0-rc1 has the following breaking changes:

  •  Make protobuf comply with the C++ layering check 

  •  Remove const GetArena method on RepeatedPtrField 

  •  Disallow incorrect ctype usage 

  •  Remove deprecated std::string error collector overrides 

  •  Promote ExtensionRange to a proper class 

  •  Remove deprecated clear APIs on repeated fields 

  •  Remove C++ legacy syntax descriptor APIs 

  •  Remove deprecated syntax APIs 

  •  Remove deprecated SupportsUnknownEnumValues method 

Java 4.26.0-rc1 has the following breaking changes:

  •  Remove unused helper methods for creating new mutable arraylists. 

  •  Use Editions features in Java full runtimes. 

  •  Stop generating the "newInstance" method. This is not used anymore. 

  •  Remove unused overload of AbstractMessageLite.addAll that worked on a Collection instead of a List. 

  •  Remove obsolete runtime internalBuildGeneratedFileFrom which was for backwards compatibility with old gencode. 

  •  Remove unnecessary overloads of methods: 

  •  Remove unnecessary generated overrides for GeneratedMessage.Builder methods: 

  •  The base class for generated messages will be GeneratedMessage, not GeneratedMessageV3.

  •  Remove deprecated runtime methods for compatibility with old v2.x.x gencode. 

  •  Remove deprecated TextFormat print methods. These should be replaced by corresponding TextFormat.printer

  •  Lock down visibility for descriptor syntax APIs. 

  •  Make deprecated Java gencode PARSER variable private. 

PHP 4.26.0-rc1 has the following breaking changes:

  • Validate UTF-8 in string setters, as previously announced. 

  • Remove support for PHP generic services 

Python 5.26.0-rc1 has the following breaking changes:

  •  Made text_format output default to UTF-8. 

  •  Remove deprecated syntax accessor. 

  •  Remove RegisterExtension in message class 

  •  Reject extend repeated field with none iterable 

  •  Remove Deprecated APIs that add non top descriptor. 

  •  check if Timestamp is valid. 

  •  Remove msg.UnknownFields

Ruby 4.26.0-rc1 has the following breaking changes:

  •  Removed syntax and added has_presence?/is_packed?. 

  •  Fixed json_encode/json_decode to use the message's pool. 

  •  Freeze is now recursive, affecting all sub-messages, maps, and repeated fields. 

  •  Fixed inconsistencies in Message#to_h, as previously announced. 

  •  Dropped support for Ruby DSL, as previously announced.

  •  Lock down visibility for descriptor syntax APIs.

  •  Fixed json_encode/json_decode to use the message's pool.


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