Skip to content

Protocol Buffers v26.0-rc2

Pre-release
Pre-release
Compare
Choose a tag to compare
@zhangskz zhangskz released this 06 Feb 19:04
· 835 commits to main since this release

Announcements

  • This version includes breaking changes to: C++, Java, PHP, Python.
    • [PHP] Remove deprecated legacy class aliases. (#15709) (096e127)
    • [Java] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (06e7cab)
    • [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)
    • [C++] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (06e7cab)
  • Protobuf News may include additional announcements or pre-announcements for upcoming changes.

C++

  • Breaking change: Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (06e7cab)
  • Rename the 'includingDefaultValueWithoutPresenceFields' and 'always_print_without_presence_fields' to 'alwaysPrintFieldsWithNoPresence' in the Cpp, Py and Java JSON serializers for consistency. (fc41e78)
  • Add new 'always_print_without_presence_fields' option to the C++ JSON serializer. (1f3bf1d)
  • Remove use of mach_absolute_time (#15554) (#15662) (8b0f6fd)
  • Check ctype() in DescriptorBuilder for edition 2023 and beyond. (0090f19)
  • Fail building descriptors if ctype is used for fields other than string or bytes. (624d65d)
  • [CPP] Add the privacy manifest to the C++ CocoaPod. (#15664) (e7888a1)

Java

  • Breaking change: Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (06e7cab)
  • Rename the 'includingDefaultValueWithoutPresenceFields' and 'always_print_without_presence_fields' to 'alwaysPrintFieldsWithNoPresence' in the Cpp, Py and Java JSON serializers for consistency. (fc41e78)
  • Add a new 'includingDefaultValueWithoutPresenceFields' option to the Java parser which is intended to replace the current 'includingDefaultValueFields'. (043191b)
  • Force descriptor initialization of dependencies before internalUpdateFileDescriptor(). (#15718) (4dec1a7)
  • Correctly set maven-compiler-plugin to >= Java 1.8 per our minimum Java version (#15707) (6028cdb)
  • Update internalUpdateFileDescriptor() to synchronize setProto() and resolveAllFeatures() to avoid data races. (#15659) (225b080)

Objective-C

  • [ObjC] Use a local to avoid warnings in 32bit builds. (#15665) (394aec8)
  • [ObjC] Add the privacy manifest to the ObjC CocoaPod. (#15663) (935fcb7)

Python

  • Adhere to PEP 8 (#15127) (#15729) (3b92f4f)
  • Breaking change: Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (06e7cab)
  • Rename the 'includingDefaultValueWithoutPresenceFields' and 'always_print_without_presence_fields' to 'alwaysPrintFieldsWithNoPresence' in the Cpp, Py and Java JSON serializers for consistency. (fc41e78)
  • Add new including_default_value_without_presence_fields to Python JSON serializer. (c530216)
  • Breaking change: Removed obsolete/duplicate setup.py from Python. (#15708) (5722aef)

PHP

Ruby

  • Increased the size of the error message buffer by 4x, to 511 bytes. (#15728) (ab6bcba)
  • Move the RubyMessage.java JSON "include defaults" to use alwaysPrintFieldsWithNoPresence. (b5beba3)

UPB (Python/PHP/Ruby C-Extension)

  • Increased the size of the error message buffer by 4x, to 511 bytes. (#15728) (ab6bcba)

Other