Update dependency Google.Protobuf to v3.18.1 #3

Merged
baez90 merged 1 commit from renovate/google.protobuf-3.x into main 2021-10-15 10:55:47 +00:00
baez90 commented 2021-10-13 08:30:34 +00:00 (Migrated from gitlab.com)

This MR contains the following updates:

Package Type Update Change
Google.Protobuf nuget minor 3.14.0 -> 3.18.1

Release Notes

protocolbuffers/protobuf

v3.18.1

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)

v3.18.0

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)

v3.17.3

Python

  • Note: This is the last release to support Python 2.7. Future releases will require Python >= 3.5.

C++

  • Introduce FieldAccessListener.
  • Stop emitting boilerplate {Copy/Merge}From in each ProtoBuf class
  • Fixed some uninitialized variable warnings in generated_message_reflection.cc.

Kotlin

  • Fix duplicate proto files error (#​8699)

Java

  • Fixed parser to check that we are at a proper limit when a sub-message has
    finished parsing.

General

v3.17.2

Kotlin

PHP

  • Fixed SEGV in sub-message getters for well-known types when message is unset
    (#​8670)

v3.17.1

PHP

  • Fixed PHP memory leaks and arginfo errors. (#​8614)
  • Fixed JSON parser to allow multiple values from the same oneof as long as all but one are null.

Ruby

  • Fixed memory bug: properly root repeated/map field when assigning. (#​8639)
  • Fixed JSON parser to allow multiple values from the same oneof as long as all but one are null.

v3.17.0

Protocol Compiler

  • Fix the generated source information for reserved values in Enums.

C++

  • Fix -Wunused-parameter in map<string, int> fields (fixes #​8494) (#​8500)
  • Use byteswap.h when building against musl libc (#​8503)
  • Fix -Wundefined-inline error when using SharedCtor() or SharedDtor() (#​8532)
  • Fix bug where Descriptor::DebugString() printed proto3 synthetic oneofs.
  • Provide stable versions of SortAndUnique().
  • Make sure to cache proto3 optional message fields when they are cleared.
  • Expose UnsafeArena methods to Reflection.
  • Use std::string::empty() rather than std::string::size() > 0.

Kotlin

  • Introduce support for Kotlin protos (#​8272)
  • Restrict extension setter and getter operators to non-nullable T.

Java

  • updating GSON and Guava to more recent versions (#​8524)
  • Reduce the time spent evaluating isExtensionNumber by storing the extension
    ranges in a TreeMap for faster queries. This is particularly relevant for
    protos which define a large number of extension ranges, for example when
    each tag is defined as an extension.
  • Fix java bytecode estimation logic for optional fields.
  • Optimize Descriptor.isExtensionNumber.

Python

  • Add MethodDescriptor.CopyToProto() (#​8327)
  • Remove unused python_protobuf.{cc,h} (#​8513)
  • Start publishing python aarch64 manylinux wheels normally (#​8530)
  • Fix constness issue detected by MSVC standard conforming mode (#​8568)
  • Make JSON parsing match C++ and Java when multiple fields from the same
    oneof are present and all but one is null.

Ruby

  • Add support for proto3 json_name in compiler and field definitions (#​8356)
  • Fixed memory leak of Ruby arena objects. (#​8461)
  • Fix source gem compilation (#​8471)
  • Fix various exceptions in Ruby on 64-bit Windows (#​8563)
  • Fix crash when calculating Message hash values on 64-bit Windows (#​8565)

Conformance Tests

  • Added a conformance test for the case of multiple fields from the same
    oneof.

Other

  • Use a newer version of rules_proto, with the new rule proto_descriptor_set (#​8469)

v3.16.0

C++

  • Fix compiler warnings issue found in conformance_test_runner #​8189 (#​8190)
  • Fix MinGW-w64 build issues. (#​8286)
  • [Protoc] C++ Resolved an issue where NO_DESTROY and CONSTINIT are in incorrect order (#​8296)
  • Fix MROTOBUF_CONSTINIT macro redefinition (#​8323)
  • Delete StringPiecePod (#​8353)
  • Fix gcc error: comparison of unsigned expression in '>= 0' is always … (#​8309)
  • Fix cmake install on iOS (#​8301)
  • Create a CMake option to control whether or not RTTI is enabled (#​8347)
  • Fix endian.h location on FreeBSD (#​8351)
  • Refactor util::Status (#​8354)
  • Make util::Status more similar to absl::Status (#​8405)
  • Fix -Wsuggest-destructor-override for generated C++ proto classes. (#​8408)
  • Refactor StatusOr and StringPiece (#​8406)
  • Refactor uint128 (#​8416)
  • The ::pb namespace is no longer exposed due to conflicts.
  • Allow MessageDifferencer::TreatAsSet() (and friends) to override previous
    calls instead of crashing.
  • Reduce the size of generated proto headers for protos with string or
    bytes fields.
  • Move arena() operation on uncommon path to out-of-line routine
  • For iterator-pair function parameter types, take both iterators by value.
  • Code-space savings and perhaps some modest performance improvements in
    RepeatedPtrField.
  • Eliminate nullptr check from every tag parse.
  • Remove unused _$name$cached_byte_size fields.
  • Serialize extension ranges together when not broken by a proto field in the
    middle.
  • Do out-of-line allocation and deallocation of string object in ArenaString.
  • Streamline ParseContext::ParseMessage to avoid code bloat and improve
    performance.
  • New member functions RepeatedField::Assign, RepeatedPtrField::{Add, Assign}.
  • Fix undefined behavior warning due to innocuous uninitialization of value
    on an error path.
  • Avoid expensive inlined code space for encoding message length for messages

    = 128 bytes and instead do a procedure call to a shared out-of-line routine.

  • util::DefaultFieldComparator will be final in a future version of protobuf.
    Subclasses should inherit from SimpleFieldComparator instead.

C#

  • Add .NET 5 target and improve WriteString performance with SIMD (#​8147)

Java

  • deps: update JUnit and Truth (#​8319)
  • Detect invalid overflow of byteLimit and return InvalidProtocolBufferException as documented.
  • Exceptions thrown while reading from an InputStream in parseFrom are now
    included as causes.
  • Support potentially more efficient proto parsing from RopeByteStrings.
  • Clarify runtime of ByteString.Output.toStringBuffer().
  • Added UnsafeByteOperations to protobuf-lite (#​8426)

JavaScript

  • Make Any.pack() chainable.

Python

  • Fix some constness / char literal issues being found by MSVC standard conforming mode (#​8344)
  • Switch on "new" buffer API (#​8339)
  • Enable crosscompiling aarch64 python wheels under dockcross manylinux docker image (#​8280)
  • Fixed a bug in text format where a trailing colon was printed for repeated field.
  • When TextFormat encounters a duplicate message map key, replace the current
    one instead of merging.

Objective-C

  • Move the class map to a CFDictionary. (#​8328)

PHP

  • read_property() handler is not supposed to return NULL (#​8362)
  • Changed parameter type from long to integer (#​7613)
  • fix: README supported PHP version for C extension (#​8236)

Ruby

  • Fixed quadratic memory usage when appending to arrays. (#​8364)
  • Fixed memory leak of Ruby arena objects. (#​8461)
  • Add support for proto3 json_name in compiler and field definitions. (#​8356)

Other

  • Some doc on AOT compilation and protobuf (#​8294)
  • [CMake] Ability to pass options to protoc executable from cmake (#​8374)
  • Add --fatal_warnings flag to treat warnings as errors (#​8131)
  • [bazel] Remove deprecated way to depend on googletest (#​8396)
  • add error returns missing from protoc to prevent it from exiting with… (#​8409)

v3.15.8

Ruby

  • Fixed memory leak of Ruby arena objects (#​8461)

v3.15.7

C++

  • Remove the ::pb namespace (alias) (#​8423)

Ruby

  • Fix unbounded memory growth for Ruby <2.7 (#​8429)
  • Fixed message equality in cases where the message type is different (#​8434)

v3.15.6

Ruby

  • Fixed bug in string comparison logic (#​8386)

v3.15.5

Ruby

  • Fixed quadratic memory use in array append (#​8379)

PHP

  • Fixed quadratic memory use in array append (#​8379)

C++

  • Do not disable RTTI by default in the CMake build (#​8377)

v3.15.4

Ruby

  • Fixed SEGV when users pass nil messages (#​8363)
  • Fixed quadratic memory usage when appending to arrays (#​8364)

C++

  • Create a CMake option to control whether or not RTTI is enabled (#​8361)

PHP

  • read_property() handler is not supposed to return NULL (#​8362)

v3.15.3

Ruby

  • Ruby <2.7 now uses WeakMap too, which prevents memory leaks. (#​8341)

v3.15.2

Ruby

  • Fix for FieldDescriptor.get(msg) (#​8330)

C++

  • Fix MROTOBUF_CONSTINIT macro redefinition (#​8323)

v3.15.1

Ruby

  • Bugfix for Message.[] for repeated or map fields (#​8313)
  • Fix for truncating behavior when converting Float to Duration (#​8320)

C++

  • Small fixes for MinGW and for C++20 with GCC (#​8318)

v3.15.0

Protocol Compiler

  • Optional fields for proto3 are enabled by default, and no longer require
    the --experimental_allow_proto3_optional flag.

C++

  • MessageDifferencer: fixed bug when using custom ignore with multiple
    unknown fields
  • Use init_seg in MSVC to push initialization to an earlier phase.
  • Runtime no longer triggers -Wsign-compare warnings.
  • Fixed -Wtautological-constant-out-of-range-compare warning.
  • DynamicCastToGenerated works for nullptr input for even if RTTI is disabled
  • Arena is refactored and optimized.
  • Clarified/specified that the exact value of Arena::SpaceAllocated() is an
    implementation detail users must not rely on. It should not be used in
    unit tests.
  • Change the signature of Any::PackFrom() to return false on error.
  • Add fast reflection getter API for strings.
  • Constant initialize the global message instances
  • Avoid potential for missed wakeup in UnknownFieldSet
  • Now Proto3 Oneof fields have "has" methods for checking their presence in
    C++.
  • Bugfix for NVCC
  • Return early in _InternalSerialize for empty maps.
  • Adding functionality for outputting map key values in proto path logging
    output (does not affect comparison logic) and stop printing 'value' in the
    path. The modified print functionality is in the
    MessageDifferencer::StreamReporter.
  • Fixed https://github.com/protocolbuffers/protobuf/issues/8129
  • Ensure that null char symbol, package and file names do not result in a
    crash.
  • Constant initialize the global message instances
  • Pretty print 'max' instead of numeric values in reserved ranges.
  • Removed remaining instances of std::is_pod, which is deprecated in C++20.
  • Changes to reduce code size for unknown field handling by making uncommon
    cases out of line.
  • Fix std::is_pod deprecated in C++20 (#​7180)
  • Fix some -Wunused-parameter warnings (#​8053)
  • Fix detecting file as directory on zOS issue #​8051 (#​8052)
  • Don't include sys/param.h for _BYTE_ORDER (#​8106)
  • remove CMAKE_THREAD_LIBS_INIT from pkgconfig CFLAGS (#​8154)
  • Fix TextFormatMapTest.DynamicMessage issue#​5136 (#​8159)
  • Fix for compiler warning issue#​8145 (#​8160)
  • fix: support deprecated enums for GCC < 6 (#​8164)
  • Fix some warning when compiling with Visual Studio 2019 on x64 target (#​8125)

Python

  • Provided an override for the reverse() method that will reverse the internal
    collection directly instead of using the other methods of the BaseContainer.
  • MessageFactory.CreateProtoype can be overridden to customize class creation.
  • Fix PyUnknownFields memory leak (#​7928)
  • Add macOS big sur compatibility (#​8126)

JavaScript

  • Generate getDescriptor methods with * as their this type.
  • Enforce let/const for generated messages.
  • js/binary/utils.js: Fix jspb.utils.joinUnsignedDecimalString to work with negative bitsLow and low but non-zero bitsHigh parameter. (#​8170)

PHP

  • Added support for PHP 8. (#​8105)
  • unregister INI entries and fix invalid read on shutdown (#​8042)
  • Fix PhpDoc comments for message accessors to include "|null". (#​8136)
  • fix: convert native PHP floats to single precision (#​8187)
  • Fixed PHP to support field numbers >=2**28. (#​8235)
  • feat: add support for deprecated fields to PHP compiler (#​8223)
  • Protect against stack overflow if the user derives from Message. (#​8248)
  • Fixed clone for Message, RepeatedField, and MapField. (#​8245)
  • Updated upb to allow nonzero offset minutes in JSON timestamps. (#​8258)

Ruby

  • Added support for Ruby 3. (#​8184)
  • Rewrote the data storage layer to be based on upb_msg objects from the
    upb library. This should lead to much better parsing performance,
    particularly for large messages. (#​8184).
  • Fill out JRuby support (#​7923)
  • [Ruby] Fix: (SIGSEGV) gRPC-Ruby issue on Windows. memory alloc infinite
    recursion/run out of memory (#​8195)
  • Fix jruby support to handle messages nested more than 1 level deep (#​8194)

Java

  • Avoid possible UnsupportedOperationException when using CodedInputSteam
    with a direct ByteBuffer.
  • Make Durations.comparator() and Timestamps.comparator() Serializable.
  • Add more detailed error information for dynamic message field type
    validation failure
  • Removed declarations of functions declared in java_names.h from
    java_helpers.h.
  • Now Proto3 Oneof fields have "has" methods for checking their presence in
    Java.
  • Annotates Java proto generated *_FIELD_NUMBER constants.
  • Add -assumevalues to remove JvmMemoryAccessor on Android.

C#

  • Fix parsing negative Int32Value that crosses segment boundary (#​8035)
  • Change ByteString to use memory and support unsafe create without copy (#​7645)
  • Optimize MapField serialization by removing MessageAdapter (#​8143)
  • Allow FileDescriptors to be parsed with extension registries (#​8220)
  • Optimize writing small strings (#​8149)

Configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box.

This MR has been generated by Renovate Bot.

This MR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [Google.Protobuf](https://github.com/protocolbuffers/protobuf) | nuget | minor | `3.14.0` -> `3.18.1` | --- ### Release Notes <details> <summary>protocolbuffers/protobuf</summary> ### [`v3.18.1`](https://github.com/protocolbuffers/protobuf/releases/v3.18.1) ### Python - Update setup.py to reflect that we now require at least Python 3.5 ([#&#8203;8989](https://github.com/protocolbuffers/protobuf/issues/8989)) - Performance fix for DynamicMessage: force GetRaw() to be inlined ([#&#8203;9023](https://github.com/protocolbuffers/protobuf/issues/9023)) ### Ruby - Update ruby_generator.cc to allow proto2 imports in proto3 ([#&#8203;9003](https://github.com/protocolbuffers/protobuf/issues/9003)) ### [`v3.18.0`](https://github.com/protocolbuffers/protobuf/releases/v3.18.0) ### C++ - Fix warnings raised by clang 11 ([#&#8203;8664](https://github.com/protocolbuffers/protobuf/issues/8664)) - Make StringPiece constructible from std::string_view ([#&#8203;8707](https://github.com/protocolbuffers/protobuf/issues/8707)) - Add missing capability attributes for LLVM 12 ([#&#8203;8714](https://github.com/protocolbuffers/protobuf/issues/8714)) - Stop using std::iterator (deprecated in C++17). ([#&#8203;8741](https://github.com/protocolbuffers/protobuf/issues/8741)) - Move field_access_listener from libprotobuf-lite to libprotobuf ([#&#8203;8775](https://github.com/protocolbuffers/protobuf/issues/8775)) - Fix [#&#8203;7047](https://github.com/protocolbuffers/protobuf/issues/7047) Safely handle setlocale ([#&#8203;8735](https://github.com/protocolbuffers/protobuf/issues/8735)) - Remove deprecated version of SetTotalBytesLimit() ([#&#8203;8794](https://github.com/protocolbuffers/protobuf/issues/8794)) - Support arena allocation of google::protobuf::AnyMetadata ([#&#8203;8758](https://github.com/protocolbuffers/protobuf/issues/8758)) - Fix undefined symbol error around SharedCtor() ([#&#8203;8827](https://github.com/protocolbuffers/protobuf/issues/8827)) - Fix default value of enum(int) in json_util with proto2 ([#&#8203;8835](https://github.com/protocolbuffers/protobuf/issues/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 ([#&#8203;8723](https://github.com/protocolbuffers/protobuf/issues/8723)) - Removing deprecated TimeUtil class. ([#&#8203;8749](https://github.com/protocolbuffers/protobuf/issues/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 ([#&#8203;8854](https://github.com/protocolbuffers/protobuf/issues/8854)) - Added support for PHP 8.1 (currently in RC1) to the C extension ([#&#8203;8964](https://github.com/protocolbuffers/protobuf/issues/8964)) - Fixed PHP SEGV when constructing messages from a destructor. ([#&#8203;8969](https://github.com/protocolbuffers/protobuf/issues/8969)) ### Ruby - Move DSL implementation from C to pure Ruby ([#&#8203;8850](https://github.com/protocolbuffers/protobuf/issues/8850)) - Fixed a memory bug with RepeatedField#+. ([#&#8203;8970](https://github.com/protocolbuffers/protobuf/issues/8970)) ### Python - Drops support for 2.7 and 3.5. ### Other - \[csharp] ByteString.CreateCodedInput should use ArraySegment offset and count ([#&#8203;8740](https://github.com/protocolbuffers/protobuf/issues/8740)) - \[ObjC] Add support for using the proto package to prefix symbols. ([#&#8203;8760](https://github.com/protocolbuffers/protobuf/issues/8760)) - field_presence.md: fix Go example ([#&#8203;8788](https://github.com/protocolbuffers/protobuf/issues/8788)) ### [`v3.17.3`](https://github.com/protocolbuffers/protobuf/releases/v3.17.3) **Python** - Note: This is the last release to support Python 2.7. Future releases will require Python >= 3.5. **C++** - Introduce FieldAccessListener. - Stop emitting boilerplate {Copy/Merge}From in each ProtoBuf class - Fixed some uninitialized variable warnings in generated_message_reflection.cc. **Kotlin** - Fix duplicate proto files error ([#&#8203;8699](https://github.com/protocolbuffers/protobuf/issues/8699)) **Java** - Fixed parser to check that we are at a proper limit when a sub-message has finished parsing. **General** - Support M1 ([#&#8203;8557](https://github.com/protocolbuffers/protobuf/issues/8557)) ### [`v3.17.2`](https://github.com/protocolbuffers/protobuf/releases/v3.17.2) ****Kotlin**** - Fix duplicate class error ([#&#8203;8653](https://github.com/protocolbuffers/protobuf/issues/8653)) ****PHP**** - Fixed SEGV in sub-message getters for well-known types when message is unset ([#&#8203;8670](https://github.com/protocolbuffers/protobuf/issues/8670)) ### [`v3.17.1`](https://github.com/protocolbuffers/protobuf/releases/v3.17.1) ### PHP - Fixed PHP memory leaks and arginfo errors. ([#&#8203;8614](https://github.com/protocolbuffers/protobuf/issues/8614)) - Fixed JSON parser to allow multiple values from the same oneof as long as all but one are null. ### Ruby - Fixed memory bug: properly root repeated/map field when assigning. ([#&#8203;8639](https://github.com/protocolbuffers/protobuf/issues/8639)) - Fixed JSON parser to allow multiple values from the same oneof as long as all but one are null. ### [`v3.17.0`](https://github.com/protocolbuffers/protobuf/releases/v3.17.0) ### Protocol Compiler - Fix the generated source information for reserved values in Enums. ### C++ - Fix -Wunused-parameter in map\<string, int> fields (fixes [#&#8203;8494](https://github.com/protocolbuffers/protobuf/issues/8494)) ([#&#8203;8500](https://github.com/protocolbuffers/protobuf/issues/8500)) - Use byteswap.h when building against musl libc ([#&#8203;8503](https://github.com/protocolbuffers/protobuf/issues/8503)) - Fix -Wundefined-inline error when using SharedCtor() or SharedDtor() ([#&#8203;8532](https://github.com/protocolbuffers/protobuf/issues/8532)) - Fix bug where `Descriptor::DebugString()` printed proto3 synthetic oneofs. - Provide stable versions of `SortAndUnique()`. - Make sure to cache proto3 optional message fields when they are cleared. - Expose UnsafeArena methods to Reflection. - Use std::string::empty() rather than std::string::size() > 0. ### Kotlin - Introduce support for Kotlin protos ([#&#8203;8272](https://github.com/protocolbuffers/protobuf/issues/8272)) - Restrict extension setter and getter operators to non-nullable T. ### Java - updating GSON and Guava to more recent versions ([#&#8203;8524](https://github.com/protocolbuffers/protobuf/issues/8524)) - Reduce the time spent evaluating isExtensionNumber by storing the extension ranges in a TreeMap for faster queries. This is particularly relevant for protos which define a large number of extension ranges, for example when each tag is defined as an extension. - Fix java bytecode estimation logic for optional fields. - Optimize Descriptor.isExtensionNumber. ### Python - Add MethodDescriptor.CopyToProto() ([#&#8203;8327](https://github.com/protocolbuffers/protobuf/issues/8327)) - Remove unused python_protobuf.{cc,h} ([#&#8203;8513](https://github.com/protocolbuffers/protobuf/issues/8513)) - Start publishing python aarch64 manylinux wheels normally ([#&#8203;8530](https://github.com/protocolbuffers/protobuf/issues/8530)) - Fix constness issue detected by MSVC standard conforming mode ([#&#8203;8568](https://github.com/protocolbuffers/protobuf/issues/8568)) - Make JSON parsing match C++ and Java when multiple fields from the same oneof are present and all but one is null. ### Ruby - Add support for proto3 json_name in compiler and field definitions ([#&#8203;8356](https://github.com/protocolbuffers/protobuf/issues/8356)) - Fixed memory leak of Ruby arena objects. ([#&#8203;8461](https://github.com/protocolbuffers/protobuf/issues/8461)) - Fix source gem compilation ([#&#8203;8471](https://github.com/protocolbuffers/protobuf/issues/8471)) - Fix various exceptions in Ruby on 64-bit Windows ([#&#8203;8563](https://github.com/protocolbuffers/protobuf/issues/8563)) - Fix crash when calculating Message hash values on 64-bit Windows ([#&#8203;8565](https://github.com/protocolbuffers/protobuf/issues/8565)) ### Conformance Tests - Added a conformance test for the case of multiple fields from the same oneof. ### Other - Use a newer version of rules_proto, with the new rule `proto_descriptor_set` ([#&#8203;8469](https://github.com/protocolbuffers/protobuf/issues/8469)) ### [`v3.16.0`](https://github.com/protocolbuffers/protobuf/releases/v3.16.0) ### C++ - Fix compiler warnings issue found in conformance_test_runner [#&#8203;8189](https://github.com/protocolbuffers/protobuf/issues/8189) ([#&#8203;8190](https://github.com/protocolbuffers/protobuf/issues/8190)) - Fix MinGW-w64 build issues. ([#&#8203;8286](https://github.com/protocolbuffers/protobuf/issues/8286)) - \[Protoc] C++ Resolved an issue where NO_DESTROY and CONSTINIT are in incorrect order ([#&#8203;8296](https://github.com/protocolbuffers/protobuf/issues/8296)) - Fix MROTOBUF_CONSTINIT macro redefinition ([#&#8203;8323](https://github.com/protocolbuffers/protobuf/issues/8323)) - Delete StringPiecePod ([#&#8203;8353](https://github.com/protocolbuffers/protobuf/issues/8353)) - Fix gcc error: comparison of unsigned expression in '>= 0' is always … ([#&#8203;8309](https://github.com/protocolbuffers/protobuf/issues/8309)) - Fix cmake install on iOS ([#&#8203;8301](https://github.com/protocolbuffers/protobuf/issues/8301)) - Create a CMake option to control whether or not RTTI is enabled ([#&#8203;8347](https://github.com/protocolbuffers/protobuf/issues/8347)) - Fix endian.h location on FreeBSD ([#&#8203;8351](https://github.com/protocolbuffers/protobuf/issues/8351)) - Refactor util::Status ([#&#8203;8354](https://github.com/protocolbuffers/protobuf/issues/8354)) - Make util::Status more similar to absl::Status ([#&#8203;8405](https://github.com/protocolbuffers/protobuf/issues/8405)) - Fix -Wsuggest-destructor-override for generated C++ proto classes. ([#&#8203;8408](https://github.com/protocolbuffers/protobuf/issues/8408)) - Refactor StatusOr and StringPiece ([#&#8203;8406](https://github.com/protocolbuffers/protobuf/issues/8406)) - Refactor uint128 ([#&#8203;8416](https://github.com/protocolbuffers/protobuf/issues/8416)) - The ::pb namespace is no longer exposed due to conflicts. - Allow MessageDifferencer::TreatAsSet() (and friends) to override previous calls instead of crashing. - Reduce the size of generated proto headers for protos with `string` or `bytes` fields. - Move arena() operation on uncommon path to out-of-line routine - For iterator-pair function parameter types, take both iterators by value. - Code-space savings and perhaps some modest performance improvements in RepeatedPtrField. - Eliminate nullptr check from every tag parse. - Remove unused \_$name$*cached_byte_size* fields. - Serialize extension ranges together when not broken by a proto field in the middle. - Do out-of-line allocation and deallocation of string object in ArenaString. - Streamline ParseContext::ParseMessage<T> to avoid code bloat and improve performance. - New member functions RepeatedField::Assign, RepeatedPtrField::{Add, Assign}. - Fix undefined behavior warning due to innocuous uninitialization of value on an error path. - Avoid expensive inlined code space for encoding message length for messages > \= 128 bytes and instead do a procedure call to a shared out-of-line routine. - util::DefaultFieldComparator will be final in a future version of protobuf. Subclasses should inherit from SimpleFieldComparator instead. ### C\# - Add .NET 5 target and improve WriteString performance with SIMD ([#&#8203;8147](https://github.com/protocolbuffers/protobuf/issues/8147)) ### Java - deps: update JUnit and Truth ([#&#8203;8319](https://github.com/protocolbuffers/protobuf/issues/8319)) - Detect invalid overflow of byteLimit and return InvalidProtocolBufferException as documented. - Exceptions thrown while reading from an InputStream in parseFrom are now included as causes. - Support potentially more efficient proto parsing from RopeByteStrings. - Clarify runtime of ByteString.Output.toStringBuffer(). - Added UnsafeByteOperations to protobuf-lite ([#&#8203;8426](https://github.com/protocolbuffers/protobuf/issues/8426)) ### JavaScript - Make Any.pack() chainable. ### Python - Fix some constness / char literal issues being found by MSVC standard conforming mode ([#&#8203;8344](https://github.com/protocolbuffers/protobuf/issues/8344)) - Switch on "new" buffer API ([#&#8203;8339](https://github.com/protocolbuffers/protobuf/issues/8339)) - Enable crosscompiling aarch64 python wheels under dockcross manylinux docker image ([#&#8203;8280](https://github.com/protocolbuffers/protobuf/issues/8280)) - Fixed a bug in text format where a trailing colon was printed for repeated field. - When TextFormat encounters a duplicate message map key, replace the current one instead of merging. ### Objective-C - Move the class map to a CFDictionary. ([#&#8203;8328](https://github.com/protocolbuffers/protobuf/issues/8328)) ### PHP - read_property() handler is not supposed to return NULL ([#&#8203;8362](https://github.com/protocolbuffers/protobuf/issues/8362)) - Changed parameter type from long to integer ([#&#8203;7613](https://github.com/protocolbuffers/protobuf/issues/7613)) - fix: README supported PHP version for C extension ([#&#8203;8236](https://github.com/protocolbuffers/protobuf/issues/8236)) ### Ruby - Fixed quadratic memory usage when appending to arrays. ([#&#8203;8364](https://github.com/protocolbuffers/protobuf/issues/8364)) - Fixed memory leak of Ruby arena objects. ([#&#8203;8461](https://github.com/protocolbuffers/protobuf/issues/8461)) - Add support for proto3 json_name in compiler and field definitions. ([#&#8203;8356](https://github.com/protocolbuffers/protobuf/issues/8356)) ### Other - Some doc on AOT compilation and protobuf ([#&#8203;8294](https://github.com/protocolbuffers/protobuf/issues/8294)) - \[CMake] Ability to pass options to protoc executable from cmake ([#&#8203;8374](https://github.com/protocolbuffers/protobuf/issues/8374)) - Add --fatal_warnings flag to treat warnings as errors ([#&#8203;8131](https://github.com/protocolbuffers/protobuf/issues/8131)) - \[bazel] Remove deprecated way to depend on googletest ([#&#8203;8396](https://github.com/protocolbuffers/protobuf/issues/8396)) - add error returns missing from protoc to prevent it from exiting with… ([#&#8203;8409](https://github.com/protocolbuffers/protobuf/issues/8409)) ### [`v3.15.8`](https://github.com/protocolbuffers/protobuf/releases/v3.15.8) ### Ruby - Fixed memory leak of Ruby arena objects ([#&#8203;8461](https://github.com/protocolbuffers/protobuf/issues/8461)) ### [`v3.15.7`](https://github.com/protocolbuffers/protobuf/releases/v3.15.7) ### C++ - Remove the ::pb namespace (alias) ([#&#8203;8423](https://github.com/protocolbuffers/protobuf/issues/8423)) ### Ruby - Fix unbounded memory growth for Ruby <2.7 ([#&#8203;8429](https://github.com/protocolbuffers/protobuf/issues/8429)) - Fixed message equality in cases where the message type is different ([#&#8203;8434](https://github.com/protocolbuffers/protobuf/issues/8434)) ### [`v3.15.6`](https://github.com/protocolbuffers/protobuf/releases/v3.15.6) ### Ruby - Fixed bug in string comparison logic ([#&#8203;8386](https://github.com/protocolbuffers/protobuf/issues/8386)) ### [`v3.15.5`](https://github.com/protocolbuffers/protobuf/releases/v3.15.5) ### Ruby - Fixed quadratic memory use in array append ([#&#8203;8379](https://github.com/protocolbuffers/protobuf/issues/8379)) ### PHP - Fixed quadratic memory use in array append ([#&#8203;8379](https://github.com/protocolbuffers/protobuf/issues/8379)) ### C++ - Do not disable RTTI by default in the CMake build ([#&#8203;8377](https://github.com/protocolbuffers/protobuf/issues/8377)) ### [`v3.15.4`](https://github.com/protocolbuffers/protobuf/releases/v3.15.4) ### Ruby - Fixed SEGV when users pass nil messages ([#&#8203;8363](https://github.com/protocolbuffers/protobuf/issues/8363)) - Fixed quadratic memory usage when appending to arrays ([#&#8203;8364](https://github.com/protocolbuffers/protobuf/issues/8364)) ### C++ - Create a CMake option to control whether or not RTTI is enabled ([#&#8203;8361](https://github.com/protocolbuffers/protobuf/issues/8361)) ### PHP - read_property() handler is not supposed to return NULL ([#&#8203;8362](https://github.com/protocolbuffers/protobuf/issues/8362)) ### [`v3.15.3`](https://github.com/protocolbuffers/protobuf/releases/v3.15.3) ### Ruby - Ruby <2.7 now uses WeakMap too, which prevents memory leaks. ([#&#8203;8341](https://github.com/protocolbuffers/protobuf/issues/8341)) ### [`v3.15.2`](https://github.com/protocolbuffers/protobuf/releases/v3.15.2) ### Ruby - Fix for FieldDescriptor.get(msg) ([#&#8203;8330](https://github.com/protocolbuffers/protobuf/issues/8330)) ### C++ - Fix MROTOBUF_CONSTINIT macro redefinition ([#&#8203;8323](https://github.com/protocolbuffers/protobuf/issues/8323)) ### [`v3.15.1`](https://github.com/protocolbuffers/protobuf/releases/v3.15.1) ### Ruby - Bugfix for Message.\[] for repeated or map fields ([#&#8203;8313](https://github.com/protocolbuffers/protobuf/issues/8313)) - Fix for truncating behavior when converting Float to Duration ([#&#8203;8320](https://github.com/protocolbuffers/protobuf/issues/8320)) ### C++ - Small fixes for MinGW and for C++20 with GCC ([#&#8203;8318](https://github.com/protocolbuffers/protobuf/issues/8318)) ### [`v3.15.0`](https://github.com/protocolbuffers/protobuf/releases/v3.15.0) ### Protocol Compiler - Optional fields for proto3 are enabled by default, and no longer require the --experimental_allow_proto3\_optional flag. ### C++ - MessageDifferencer: fixed bug when using custom ignore with multiple unknown fields - Use init_seg in MSVC to push initialization to an earlier phase. - Runtime no longer triggers -Wsign-compare warnings. - Fixed -Wtautological-constant-out-of-range-compare warning. - DynamicCastToGenerated works for nullptr input for even if RTTI is disabled - Arena is refactored and optimized. - Clarified/specified that the exact value of Arena::SpaceAllocated() is an implementation detail users must not rely on. It should not be used in unit tests. - Change the signature of Any::PackFrom() to return false on error. - Add fast reflection getter API for strings. - Constant initialize the global message instances - Avoid potential for missed wakeup in UnknownFieldSet - Now Proto3 Oneof fields have "has" methods for checking their presence in C++. - Bugfix for NVCC - Return early in \_InternalSerialize for empty maps. - Adding functionality for outputting map key values in proto path logging output (does not affect comparison logic) and stop printing 'value' in the path. The modified print functionality is in the MessageDifferencer::StreamReporter. - Fixed https://github.com/protocolbuffers/protobuf/issues/8129 - Ensure that null char symbol, package and file names do not result in a crash. - Constant initialize the global message instances - Pretty print 'max' instead of numeric values in reserved ranges. - Removed remaining instances of std::is_pod, which is deprecated in C++20. - Changes to reduce code size for unknown field handling by making uncommon cases out of line. - Fix std::is_pod deprecated in C++20 ([#&#8203;7180](https://github.com/protocolbuffers/protobuf/issues/7180)) - Fix some -Wunused-parameter warnings ([#&#8203;8053](https://github.com/protocolbuffers/protobuf/issues/8053)) - Fix detecting file as directory on zOS issue [#&#8203;8051](https://github.com/protocolbuffers/protobuf/issues/8051) ([#&#8203;8052](https://github.com/protocolbuffers/protobuf/issues/8052)) - Don't include sys/param.h for \_BYTE_ORDER ([#&#8203;8106](https://github.com/protocolbuffers/protobuf/issues/8106)) - remove CMAKE_THREAD_LIBS_INIT from pkgconfig CFLAGS ([#&#8203;8154](https://github.com/protocolbuffers/protobuf/issues/8154)) - Fix TextFormatMapTest.DynamicMessage [issue#&#8203;5136](https://github.com/issue/protobuf/issues/5136) ([#&#8203;8159](https://github.com/protocolbuffers/protobuf/issues/8159)) - Fix for compiler warning [issue#&#8203;8145](https://github.com/issue/protobuf/issues/8145) ([#&#8203;8160](https://github.com/protocolbuffers/protobuf/issues/8160)) - fix: support deprecated enums for GCC < 6 ([#&#8203;8164](https://github.com/protocolbuffers/protobuf/issues/8164)) - Fix some warning when compiling with Visual Studio 2019 on x64 target ([#&#8203;8125](https://github.com/protocolbuffers/protobuf/issues/8125)) ### Python - Provided an override for the reverse() method that will reverse the internal collection directly instead of using the other methods of the BaseContainer. - MessageFactory.CreateProtoype can be overridden to customize class creation. - Fix PyUnknownFields memory leak ([#&#8203;7928](https://github.com/protocolbuffers/protobuf/issues/7928)) - Add macOS big sur compatibility ([#&#8203;8126](https://github.com/protocolbuffers/protobuf/issues/8126)) ### JavaScript - Generate `getDescriptor` methods with `*` as their `this` type. - Enforce `let/const` for generated messages. - js/binary/utils.js: Fix jspb.utils.joinUnsignedDecimalString to work with negative bitsLow and low but non-zero bitsHigh parameter. ([#&#8203;8170](https://github.com/protocolbuffers/protobuf/issues/8170)) ### PHP - Added support for PHP 8. ([#&#8203;8105](https://github.com/protocolbuffers/protobuf/issues/8105)) - unregister INI entries and fix invalid read on shutdown ([#&#8203;8042](https://github.com/protocolbuffers/protobuf/issues/8042)) - Fix PhpDoc comments for message accessors to include "|null". ([#&#8203;8136](https://github.com/protocolbuffers/protobuf/issues/8136)) - fix: convert native PHP floats to single precision ([#&#8203;8187](https://github.com/protocolbuffers/protobuf/issues/8187)) - Fixed PHP to support field numbers >=2\*\*28. ([#&#8203;8235](https://github.com/protocolbuffers/protobuf/issues/8235)) - feat: add support for deprecated fields to PHP compiler ([#&#8203;8223](https://github.com/protocolbuffers/protobuf/issues/8223)) - Protect against stack overflow if the user derives from Message. ([#&#8203;8248](https://github.com/protocolbuffers/protobuf/issues/8248)) - Fixed clone for Message, RepeatedField, and MapField. ([#&#8203;8245](https://github.com/protocolbuffers/protobuf/issues/8245)) - Updated upb to allow nonzero offset minutes in JSON timestamps. ([#&#8203;8258](https://github.com/protocolbuffers/protobuf/issues/8258)) ### Ruby - Added support for Ruby 3. ([#&#8203;8184](https://github.com/protocolbuffers/protobuf/issues/8184)) - Rewrote the data storage layer to be based on upb_msg objects from the upb library. This should lead to much better parsing performance, particularly for large messages. ([#&#8203;8184](https://github.com/protocolbuffers/protobuf/issues/8184)). - Fill out JRuby support ([#&#8203;7923](https://github.com/protocolbuffers/protobuf/issues/7923)) - \[Ruby] Fix: (SIGSEGV) gRPC-Ruby issue on Windows. memory alloc infinite recursion/run out of memory ([#&#8203;8195](https://github.com/protocolbuffers/protobuf/issues/8195)) - Fix jruby support to handle messages nested more than 1 level deep ([#&#8203;8194](https://github.com/protocolbuffers/protobuf/issues/8194)) ### Java - Avoid possible UnsupportedOperationException when using CodedInputSteam with a direct ByteBuffer. - Make Durations.comparator() and Timestamps.comparator() Serializable. - Add more detailed error information for dynamic message field type validation failure - Removed declarations of functions declared in java_names.h from java_helpers.h. - Now Proto3 Oneof fields have "has" methods for checking their presence in Java. - Annotates Java proto generated \*\_FIELD_NUMBER constants. - Add -assumevalues to remove JvmMemoryAccessor on Android. ### C\# - Fix parsing negative Int32Value that crosses segment boundary ([#&#8203;8035](https://github.com/protocolbuffers/protobuf/issues/8035)) - Change ByteString to use memory and support unsafe create without copy ([#&#8203;7645](https://github.com/protocolbuffers/protobuf/issues/7645)) - Optimize MapField serialization by removing MessageAdapter ([#&#8203;8143](https://github.com/protocolbuffers/protobuf/issues/8143)) - Allow FileDescriptors to be parsed with extension registries ([#&#8203;8220](https://github.com/protocolbuffers/protobuf/issues/8220)) - Optimize writing small strings ([#&#8203;8149](https://github.com/protocolbuffers/protobuf/issues/8149)) </details> --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box. --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
baez90 commented 2021-10-13 08:30:40 +00:00 (Migrated from gitlab.com)

mentioned in issue #1

mentioned in issue #1
baez90 commented 2021-10-15 10:55:46 +00:00 (Migrated from gitlab.com)

mentioned in commit aeaaf48bfa

mentioned in commit aeaaf48bfa8a532da8503507f740e602b924d4af
Sign in to join this conversation.
No description provided.