Protocol Buffers v26.0-rc2
Pre-release
Pre-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
- Don't break the trace (#11311) (#15727) (3e99024)
- Fix inconsistent timestamp json encode/decode (#12396) (#15726) (e99f27e)
- Breaking change: Remove deprecated legacy class aliases. (#15709) (096e127)
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)