Skip to content
Compare
Choose a tag to compare

Python

  • Fix missing Windows wheel for Python 3.10 on PyPI
7c40b2d
Compare
Choose a tag to compare

Bazel

  • Ensure that release archives contain everything needed for Bazel (#9131)
  • Align dependency handling with Bazel best practices (#9165)

JavaScript

  • Fix ReferenceError: window is not defined when getting the global object (#9156)

Ruby

  • Fix memory leak in MessageClass.encode (#9150)
17b30e9
Compare
Choose a tag to compare

C++

  • Make proto2::Message::DiscardUnknownFields() non-virtual
  • Separate RepeatedPtrField into its own header file
  • For default floating point values of 0, consider all bits significant
  • cmake: support MSVC_RUNTIME_LIBRARY property (#8851)
  • Fix shadowing warnings (#8926)
  • Fix for issue #8484, constant initialization doesn't compile in msvc clang-cl environment (#8993)
  • Fix build on AIX and SunOS (#8373) (#9065)
  • Add Android stlport and default toolchains to BUILD. (#8290)

Java

  • For default floating point values of 0, consider all bits significant
  • Annotate //java/com/google/protobuf/util/... with nullness annotations
  • Use ArrayList copy constructor (#7853)

Kotlin

  • Switch Kotlin proto DSLs to be implemented with inline value classes
  • Fixing inlining and deprecation for repeated string fields (#9120)

Python

  • Proto2 DecodeError now includes message name in error message
  • Make MessageToDict convert map keys to strings (#8122)
  • Add python-requires in setup.py (#8989)
  • Add python 3.10 (#9034)

JavaScript

  • Skip exports if not available by CommonJS (#8856)
  • JS: Comply with CSP no-unsafe-eval. (#8864)

PHP

  • Added "object" as a reserved name for PHP (#8962)

Ruby

  • Override Map.clone to use Map's dup method (#7938)
  • Ruby: build extensions for arm64-darwin (#8232)
  • Add class method Timestamp.from_time to ruby well known types (#8562)
  • Adopt pure ruby DSL implementation for JRuby (#9047)
  • Add size to Map class (#8068)
  • Fix for descriptor_pb.rb: google/protobuf should be required first (#9121)

C#

  • Correctly set ExtensionRegistry when parsing with MessageParser, but using an already existing CodedInputStream (#7246)
  • [C#] Make FieldDescriptor propertyName public (#7642)
53a1d66
Compare
Choose a tag to compare
Pre-release

C++

  • Make proto2::Message::DiscardUnknownFields() non-virtual
  • Separate RepeatedPtrField into its own header file
  • For default floating point values of 0, consider all bits significant
  • cmake: support MSVC_RUNTIME_LIBRARY property (#8851)
  • Fix shadowing warnings (#8926)
  • Fix for issue #8484, constant initialization doesn't compile in msvc clang-cl environment (#8993)
  • Fix build on AIX and SunOS (#8373) (#9065)
  • Add Android stlport and default toolchains to BUILD. (#8290)

Java

  • This release drops support for Java 7. Use 3.18.x if you still need Java 7 support.
  • For default floating point values of 0, consider all bits significant
  • Annotate //java/com/google/protobuf/util/... with nullness annotations
  • Use ArrayList copy constructor (#7853)

Kotlin

  • Switch Kotlin proto DSLs to be implemented with inline value classes

Python

  • Proto2 DecodeError now includes message name in error message
  • Make MessageToDict convert map keys to strings (#8122)
  • Add python-requires in setup.py (#8989)
  • Add python 3.10 (#9034)

JavaScript

  • Skip exports if not available by CommonJS (#8856)
  • JS: Comply with CSP no-unsafe-eval. (#8864)

PHP

  • Added "object" as a reserved name for PHP (#8962)

Ruby

  • Override Map.clone to use Map's dup method (#7938)
  • Ruby: build extensions for arm64-darwin (#8232)
  • Add class method Timestamp.from_time to ruby well known types (#8562)
  • Adopt pure ruby DSL implementation for JRuby (#9047)
  • Add size to Map class (#8068)

C#

  • Correctly set ExtensionRegistry when parsing with MessageParser, but using an already existing CodedInputStream (#7246)
  • [C#] Make FieldDescriptor propertyName public (#7642)
0dab03b
Compare
Choose a tag to compare

Python

  • Update setup.py to reflect that we now require at least Python 3.5 (#8989)
  • Performance fix for DynamicMessage: force GetRaw() to be inlined (#9023)

Ruby

  • Update ruby_generator.cc to allow proto2 imports in proto3 (#9003)
89b14b1
Compare
Choose a tag to compare

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)