Skip to content

Protocol Buffers v3.18.0

Compare
Choose a tag to compare
@TeBoring TeBoring released this 15 Sep 17:08
· 52 commits to 3.18.x since this release
89b14b1

C++

  • Fix warnings raised by clang 11 (#8664)
  • Make StringPiece constructible from std::string_view (#8707)
  • Add missing capability attributes for LLVM 12 (#8714)
  • Stop using std::iterator (deprecated in C++17). (#8741)
  • Move field_access_listener from libprotobuf-lite to libprotobuf (#8775)
  • Fix #7047 Safely handle setlocale (#8735)
  • Remove deprecated version of SetTotalBytesLimit() (#8794)
  • Support arena allocation of google::protobuf::AnyMetadata (#8758)
  • Fix undefined symbol error around SharedCtor() (#8827)
  • Fix default value of enum(int) in json_util with proto2 (#8835)
  • Better Smaller ByteSizeLong
  • Introduce event filters for inject_field_listener_events
  • Reduce memory usage of DescriptorPool
  • For lazy fields copy serialized form when allowed.
  • Re-introduce the InlinedStringField class
  • v2 access listener
  • Reduce padding in the proto's ExtensionRegistry map.
  • GetExtension performance optimizations
  • Make tracker a static variable rather than call static functions
  • Support extensions in field access listener
  • Annotate MergeFrom for field access listener
  • Fix incomplete types for field access listener
  • Add map_entry/new_map_entry to SpecificField in MessageDifferencer. They
    record the map items which are different in MessageDifferencer's reporter.
  • Reduce binary size due to fieldless proto messages
  • TextFormat: ParseInfoTree supports getting field end location in addition to
    start.
  • Fix repeated enum extension size in field listener
  • Enable Any Text Expansion for Descriptors::DebugString()
  • Switch from int{8,16,32,64} to int{8,16,32,64}_t

Java

  • Fix errorprone conflict (#8723)
  • Removing deprecated TimeUtil class. (#8749)
  • Optimized FieldDescriptor.valueOf() to avoid array copying.
  • Removing deprecated TimeUtil class.
  • Add Durations.parseUnchecked(String) and Timestamps.parseUnchecked(String)
  • FieldMaskUtil: Add convenience method to mask the fields out of a given proto.

JavaScript

  • Optimize binary parsing of repeated float64
  • Fix for optimization when reading doubles from binary wire format
  • Replace toArray implementation with toJSON.

PHP

  • Migrate PHP & Ruby to ABSL wyhash (#8854)
  • Added support for PHP 8.1 (currently in RC1) to the C extension (#8964)
  • Fixed PHP SEGV when constructing messages from a destructor. (#8969)

Ruby

  • Move DSL implementation from C to pure Ruby (#8850)
  • Fixed a memory bug with RepeatedField#+. (#8970)

Python

  • Drops support for 2.7 and 3.5.

Other

  • [csharp] ByteString.CreateCodedInput should use ArraySegment offset and count (#8740)
  • [ObjC] Add support for using the proto package to prefix symbols. (#8760)
  • field_presence.md: fix Go example (#8788)