Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Protocol Buffers v33.0

Latest
Compare
Choose a tag to compare
Loading
@shaod2 shaod2 released this 15 Oct 20:16
· 139 commits to main since this release

Announcements

  • Protobuf News may include additional announcements or pre-announcements for upcoming changes.

Bazel

  • Feat: update bazel central registry publish workflow (#23465) (#23913) (d5217fd)
  • Add target_compatible_with parameter to proto_toolchain in Bazel rules (#22429) (30d2332)
  • Bazel: add missing rules_cc loads (#23584) (d98e2ef)

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)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.