Releases
v33.0
shaod2
released this
15 Oct 20:16
Announcements
Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Bazel
Compiler
Disable symbol visibility enforcement by default in C++ runtime (ae308fc )
Ship all option dependencies to plugins along with regular ones. (abeb130 )
C++
Avoid calling deprecated arena-enabled constructors in arena.h. (813a7ef )
Add a macro to make RepeatedField(Arena*)
constructor private in a future release. (768db14 )
Add a macro to make Map(Arena*)
constructor private in a future release. (543a17f )
Optimize ReadPackedVarint (3d94d83 )
Add a macro to make RepeatedPtrField(Arena*)
constructor private in a future release (6422b9d )
Add IsEmpty() function to reflection. (b64e490 )
Refactor RuntimeAssertInBounds
to remove repeated logic and make Get
/Mutable
easier to read. (2f270c4 )
Disable symbol visibility enforcement by default in C++ runtime (ae308fc )
Fix a bug in the main C++ JSON parser/serializer camelcasing of certain non-style-compliant names incorrectly, in a way that would prevent it from interoperating with any other implementation on those fields. (e25e267 )
Fail early for messages with more than 65k fields. (90824aa )
Add option to C++ JSON Parser/Serializer to allow customers to affirmatively disable legacy bug-compatibilty behaviors. (6ea1640 )
Fix mishandling on JSON serialization of Timestamp with invalid negative and too-large nanos value. (a959f27 )
Preserve features in type resolver (c7030f4 )
Add a DCHECK that ArenaStringPtr::Set(char*, Arena*) is not called with (95b1763 )
Java
Switch the pre22 warning to use CopyOnWriteArraySet. (#23969 ) (e55224c )
Expose helpers for checking if messages and enums are nested. (8de4002 )
Fix a bug calculating the file name in the absense of directories. (c4ff7a6 )
Clarify the public APIs of GeneratorNames helpers. (537ac35 )
Expose helpers to predict generated class names in java. (eba6df2 )
Deprecate ClassName methods in favor of new QualifiedClassName ones. (ca4fb2f )
Restore the 3-argument internalBuildGeneratedFileFrom. (4376591 )
Fix large java enums not being honored on lite runtime. (a995803 )
Slightly relax Java Poison Pill on prerelease versions (-rc1, -dev, etc). (7b0bee3 )
Avoid boxing/unboxing varint
, fixed32
, and fixed64
fields in UnknownFieldSet.Field
(810272f )
Readd new*List() methods on GeneratedMessageV3. (badaf41 )
Add Values.of(Map<String, Value> values). (c518f25 )
Fix handling of optional dependencies in java generator. (8d51e34 )
Restore ABI compatibility for extension methods which was previously (knowingly) broken with 4.x: 94a2a44 (ea33ae8 )
Restore Protobuf Java extension modifiers in gencode that were previously removed in 7bff169 (f2257f5 )
Ship all option dependencies to plugins along with regular ones. (abeb130 )
Optimize redaction state calculation (e05db5c )
Add isPlaceholder()
accessors to file, message, and enum descriptors (f978ec2 )
Improve Java gencode static initialization to avoid unnecessary temporaries again (745e15b )
Improve Java gencode static initialization to avoid unnecessary temporaries (b68b673 )
Remove protobuf-util usages of guava except annotations. (5768acd )
Restore compatibility of runtime with pre-3.22.x gencode impacted by CVE-2022-3171 (7c51e5b )
Expose an iterator for GeneratedMessage.ExtendableMessage.extensions
(b25d39e )
Rust
Change Rust prelude to bring in traits as _
(c3f7e8d )
Make message Muts Send
(8bff944 )
See also UPB changes below, which may affect Rust.
Python
Publish s390x wheels for Python/upb. (56b2b89 )
Fix a crash that happens during shutdown due to looking up modules in the cache (d57d270 )
Add construction support for repeated Timestamp/Duration/Struct/ListValue. (5f6c013 )
Fix handling of repeated extension fields in PyProto JSON (07ef676 )
Fixed a parser bug where closed enums are parsed incorrectly for non-repeated extensions. (c36f728 )
Fixed mypy errors by setting __slots__
to empty in .pyi
files. (38ca2d3 )
Raise warnings for float_precision from python json_format. (4659cd7 )
Raise warnings when assign bool to int/enum field in Python Proto. This will turn into error in 34.0 release. (4ee55d7 )
PHP
UPB (Python/PHP/Ruby C-Extension)
Fixed a parser bug where closed enums are parsed incorrectly for non-repeated extensions. (c36f728 )
Other
Update token for BCR release to reuse existing BOT_ACCESS_TOKEN used for staleness_refresh.yml and update_php_repo.yml (#23925 ) (dcace2f )
Use the 'better' JSON parser on the conformance suite harness. (4b4e405 )
Add JSON conformance test that a single value provided for a repeated field should parse fail. (9806994 )
Add conformance test cases for malformed nanos fields on Durations and Timestamps. (a6bdd0a )
You can’t perform that action at this time.