Protocol Buffers Version 26.0 is Released!

107 views
Skip to first unread message

Samuel Benzaquen

unread,
Mar 13, 2024, 3:58:35 PMMar 13
to Protocol Buffers

This version includes breaking change(s) to Java, PHP, C++, Ruby, Python:


  • [Java] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (06e7cab)
  • [Java] Remove unused helper methods for creating new mutable arraylists. (7874474)
  • [Java] Use Editions features in Java full runtimes. (65c65c2)
  • [Java] Stop generating the "newInstance" method. This is not used anymore. (c0d08bd)
  • [Java] Remove unused overload of AbstractMessageLite.addAll that worked on a Collection instead of a List. (3b9bd6d)
  • [Java] Remove obsolete runtime internalBuildGeneratedFileFrom which was for backwards compatibility with old gencode. (9310d2e)
  • [Java] Remove unnecessary overloads of methods: (94a2a44)
  • [Java] Remove unnecessary generated overrides for GeneratedMessage.Builder methods: (7bff169)
  • [Java] The base class for generated messages will be GeneratedMessage, not GeneratedMessageV3.
  • [Java] Remove deprecated runtime methods for compatibility with old v2.x.x gencode. (e555bd2)
  • [Java] Remove deprecated TextFormat print methods. These should be replaced by corresponding TextFormat.printer() methods. (dfb8a4c)
  • [Java] Lock down visibility for descriptor syntax APIs. (1aeacd4)
  • [Java] Make deprecated Java gencode PARSER variable private. (b4858b2)
  • [Java] Use Editions features in Java full runtimes. (65c65c2)
  • [Java] The base class for generated messages will be GeneratedMessage, not GeneratedMessageV3.
  • [PHP] Validate UTF-8 in string setters, as previously announced. (d14dbbc)
  • [PHP] Remove deprecated legacy class aliases. (#15709) (096e127)
  • [PHP] Validate UTF-8 in string setters, as previously announced. (d14dbbc)
  • [PHP] Remove support for PHP generic services (40ad3fa)
  • [C++] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (06e7cab)
  • [C++] Remove const GetArena method on RepeatedPtrField (748ab16)
  • [C++] Disallow incorrect ctype usage (755b690)
  • [C++] Remove deprecated std::string error collector overrides (543fbcd)
  • [C++] Promote ExtensionRange to a proper class (5b12bc8)
  • [C++] Remove deprecated clear APIs on repeated fields (229906f)
  • [C++] Remove C++ legacy syntax descriptor APIs (cf2d696)
  • [C++] Remove deprecated syntax APIs (715b543)
  • [C++] Remove deprecated SupportsUnknownEnumValues method (0a6a516)
  • [Ruby] Removed syntax and added has_presence?/is_packed?. (dbd4dce)
  • [Ruby] Fixed json_encode/json_decode to use the message's pool. (a8b8ea0)
  • [Ruby] Freeze is now recursive, affecting all sub-messages, maps, and repeated fields. (31313b1)
  • [Ruby] Fixed inconsistencies in Message#to_has previously announced. (fd69938)
  • [Ruby] Dropped support for Ruby DSL, as previously announced. (5cfc9e7)
  • [Ruby] Lock down visibility for descriptor syntax APIs. (1aeacd4)
  • [Ruby] Removed syntax and added has_presence?/is_packed?. (dbd4dce)
  • [Ruby] Fixed json_encode/json_decode to use the message's pool. (a8b8ea0)
  • [Ruby] Freeze is now recursive, affecting all sub-messages, maps, and repeated fields. (31313b1)
  • [Ruby] Fixed inconsistencies in Message#to_has previously announced. (fd69938)
  • [Python] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (06e7cab)
  • [Python] Removed obsolete/duplicate setup.py from Python. (#15708) (5722aef)
  • [Python] Made text_format output default to UTF-8. (bf00034)
  • [Python] Remove RegisterExtension in message class (4ebba68)
  • [Python] Reject extend repeated field with none iterable (Raise TypeError) (1658213)
  • [Python] Remove Deprecated APIs that add non top descriptor. (c51f111)
  • [Python] Check if Timestamp is valid. (4f77929)
  • [Python] Remove msg.UnknownFields() support in pure python and cpp extension. (0eac77c)
  • [Python] Remove deprecated syntax accessor. (fd40c87)


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