Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update protobuf to 5.28.3 #2670

Closed
wants to merge 1 commit into from

Conversation

pyup-bot
Copy link
Collaborator

This PR updates protobuf from 3.17.0 to 5.28.3.

Changelog

3.20.3

Java
* Refactoring java full runtime to reuse sub-message builders and prepare to
 migrate parsing logic from parse constructor to builder.
* Move proto wireformat parsing functionality from the private "parsing
 constructor" to the Builder class.
* Change the Lite runtime to prefer merging from the wireformat into mutable
 messages rather than building up a new immutable object before merging. This
 way results in fewer allocations and copy operations.
* Make message-type extensions merge from wire-format instead of building up
 instances and merging afterwards. This has much better performance.
* Fix TextFormat parser to build up recurring (but supposedly not repeated)
 sub-messages directly from text rather than building a new sub-message and
 merging the fully formed message into the existing field.
* This release addresses a [Security Advisory for Java users](https://github.com/protocolbuffers/protobuf/security/advisories/GHSA-h4h5-3hr4-j3g2)

3.20.2

C++
* Reduce memory consumption of MessageSet parsing
* This release addresses a [Security Advisory for C++ and Python users](https://github.com/protocolbuffers/protobuf/security/advisories/GHSA-8gq9-2x98-w8hf)

3.20.1

PHP
* Fix building packaged PHP extension (9727)
* Fixed composer.json to only advertise compatibility with PHP 7.0+.  (9819)

Ruby
* Disable the aarch64 build on macOS until it can be fixed. (9816)

Other
* Fix versioning issues in 3.20.0

3.20.1rc1

PHP
* Fix building packaged PHP extension (9727)

Other
* Fix versioning issues in 3.20.0

3.20.0

2022-03-25 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C/Ruby/JavaScript)

Ruby
* Dropped Ruby 2.3 and 2.4 support for CI and releases. (9311)
* Added Ruby 3.1 support for CI and releases (9566).
* Message.decode/encode: Add recursion_limit option (9218/9486)
* Allocate with xrealloc()/xfree() so message allocation is visible to the
 Ruby GC.  In certain tests this leads to much lower memory usage due to more
 frequent GC runs (9586).
* Fix conversion of singleton classes in Ruby (9342)
* Suppress warning for intentional circular require (9556)
* JSON will now output shorter strings for double and float fields when possible
 without losing precision.
* Encoding and decoding of binary format will now work properly on big-endian
 systems.
* UTF-8 verification was fixed to properly reject surrogate code points.
* Unknown enums for proto2 protos now properly implement proto2's behavior of
 putting such values in unknown fields.

Java
* Revert "Standardize on Array copyOf" (9400)
* Resolve more java field accessor name conflicts (8198)
* Don't support map fields in DynamicMessage.Builder.{getFieldBuilder,getRepeatedFieldBuilder}
* Fix parseFrom to only throw InvalidProtocolBufferException
* InvalidProtocolBufferException now allows arbitrary wrapped Exception types.
* Fix bug in `FieldSet.Builder.mergeFrom`
* Flush CodedOutputStream also flushes underlying OutputStream
* When oneof case is the same and the field type is Message, merge the
 subfield. (previously it was replaced.)’
* Add CheckReturnValue to some protobuf types
* Report original exceptions when parsing JSON
* Add more info to deprecated javadoc for set/get/has methods
* Fix initialization bug in doc comment line numbers
* Fix comments for message set wire format.

Kotlin
* Add test scope to kotlin-test for protobuf-kotlin-lite (9518)
* Add orNull extensions for optional message fields.
* Add orNull extensions to all proto3 message fields.

Python
* Dropped support for Python < 3.7 (9480)
* Protoc is now able to generate python stubs (.pyi) with --pyi_out
* Pin multibuild scripts to get manylinux1 wheels back (9216)
* Fix type annotations of some Duration and Timestamp methods.
* Repeated field containers are now generic in field types and could be used
 in type annotations.
*[Breaking change] Protobuf python generated codes are simplified. Descriptors and message
 classes' definitions are now dynamic created in internal/builder.py.
 Insertion Points for messages classes are discarded.
* has_presence is added for FieldDescriptor in python
* Loosen indexing type requirements to allow valid __index__() implementations
 rather than only PyLongObjects.
* Fix the deepcopy bug caused by not copying message_listener.
* Added python JSON parse recursion limit (default 100)
* Path info is added for python JSON parse errors
* Pure python repeated scalar fields will not able to pickle. Convert to list
 first.
* Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If
 specified, the function returns a timezone-aware datetime in the given time
 zone. If omitted or None, the function returns a timezone-naive UTC datetime
 (as previously).
* Adds client_streaming and server_streaming fields to MethodDescriptor.
* Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
 JSON serializations with UTF-8 or other non-ASCII encodings.
* Added experimental support for directly assigning numpy scalars and array.
* Improve the calculation of public_dependencies in DescriptorPool.
* [Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
 multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.

Compiler
* Migrate IsDefault(const std::string*) and UnsafeSetDefault(const std::string*)
* Implement strong qualified tags for TaggedPtr
* Rework allocations to power-of-two byte sizes.
* Migrate IsDefault(const std::string*) and UnsafeSetDefault(const std::string*)
* Implement strong qualified tags for TaggedPtr
* Make TaggedPtr Set...() calls explicitly spell out the content type.
* Check for parsing error before verifying UTF8.
* Enforce a maximum message nesting limit of 32 in the descriptor builder to
 guard against stack overflows
* Fixed bugs in operators for RepeatedPtrIterator
* Assert a maximum map alignment for allocated values
* Fix proto1 group extension protodb parsing error
* Do not log/report the same descriptor symbol multiple times if it contains
 more than one invalid character.
* Add UnknownFieldSet::SerializeToString and SerializeToCodedStream.
* Remove explicit default pointers and deprecated API from protocol compiler

Arenas
* Change Repeated*Field to reuse memory when using arenas.
* Implements pbarenaz for profiling proto arenas
* Introduce CreateString() and CreateArenaString() for cleaner semantics
* Fix unreferenced parameter for MSVC builds
* Add UnsafeSetAllocated to be used for one-of string fields.
* Make Arena::AllocateAligned() a public function.
* Determine if ArenaDtor related code generation is necessary in one place.
* Implement on demand register ArenaDtor for InlinedStringField

C++
* Enable testing via CTest (8737)
* Add option to use external GTest in CMake (8736)
* CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so (8635) (9529)
* Add cmake option `protobuf_INSTALL` to not install files (7123)
* CMake: Allow custom plugin options e.g. to generate mocks (9105)
* CMake: Use linker version scripts (9545)
* Manually *struct Cord fields to work better with arenas.
* Manually destruct map fields.
* Generate narrower code
* Fix https://github.com/protocolbuffers/protobuf/issues/9378 by removing
 shadowed _cached_size_ field
* Remove GetPointer() and explicit nullptr defaults.
* Add proto_h flag for speeding up large builds
* Add missing overload for reference wrapped fields.
* Add MergedDescriptorDatabase::FindAllFileNames()
* RepeatedField now defines an iterator type instead of using a pointer.
* Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS.

PHP
* Fix: add missing reserved classnames (9458)
* PHP 8.1 compatibility (9370)

C
* Fix trim warnings (9182)
* Fixes NullReferenceException when accessing FieldDescriptor.IsPacked (9430)
* Add ToProto() method to all descriptor classes (9426)
* Add an option to preserve proto names in JsonFormatter (6307)

Objective-C
* Add prefix_to_proto_package_mappings_path option. (9498)
* Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. (9552)
* Add a generation option to control use of forward declarations in headers. (9568)

3.20.0rc2

Ruby
* to_json will now use fewer decimal places to encode float/double in some cases, if the extra digits are not necessary for round-tripping

PHP
* to_json will now use fewer decimal places to encode float/double in some cases, if the extra digits are not necessary for round-tripping

3.20.0rc1

Ruby
* Dropped Ruby 2.3 and 2.4 support for CI and releases. (9311)
* Message.decode/encode: Add max_recursion_depth option (9218)
* Rename max_recursion_depth to recursion_limit (9486)
* Fix conversion of singleton classes in Ruby (9342)
* Suppress warning for intentional circular require (9556)
* JSON will now output shorter strings for double and float fields when possible
 without losing precision.
* Encoding and decoding of binary format will now work properly on big-endian
 systems.
* UTF-8 verification was fixed to properly reject surrogate code points.
* Unknown enums for proto2 protos now properly implement proto2's behavior of
 putting such values in unknown fields.

Java
* Revert "Standardize on Array copyOf" (9400)
* Resolve more java field accessor name conflicts (8198)
* Don't support map fields in DynamicMessage.Builder.{getFieldBuilder,getRepeatedFieldBuilder}
* Fix parseFrom to only throw InvalidProtocolBufferException
* InvalidProtocolBufferException now allows arbitrary wrapped Exception types.
* Fix bug in `FieldSet.Builder.mergeFrom`
* Flush CodedOutputStream also flushes underlying OutputStream
* When oneof case is the same and the field type is Message, merge the
 subfield. (previously it was replaced.)’
* Add CheckReturnValue to some protobuf types
* Report original exceptions when parsing JSON
* Add more info to deprecated javadoc for set/get/has methods
* Fix initialization bug in doc comment line numbers
* Fix comments for message set wire format.

Kotlin
* Add test scope to kotlin-test for protobuf-kotlin-lite (9518)
* Add orNull extensions for optional message fields.
* Add orNull extensions to all proto3 message fields.

Python
* Dropped support for Python < 3.7 (9480)
* Protoc is now able to generate python stubs (.pyi) with --pyi_out
* Pin multibuild scripts to get manylinux1 wheels back (9216)
* Fix type annotations of some Duration and Timestamp methods.
* Repeated field containers are now generic in field types and could be used
 in type annotations.
* Protobuf python generated codes are simplified. Descriptors and message
 classes' definitions are now dynamic created in internal/builder.py.
 Insertion Points for messages classes are discarded.
* has_presence is added for FieldDescriptor in python
* Loosen indexing type requirements to allow valid __index__() implementations
 rather than only PyLongObjects.
* Fix the deepcopy bug caused by not copying message_listener.
* Added python JSON parse recursion limit (default 100)
* Path info is added for python JSON parse errors
* Pure python repeated scalar fields will not able to pickle. Convert to list
 first.
* Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If
 specified, the function returns a timezone-aware datetime in the given time
 zone. If omitted or None, the function returns a timezone-naive UTC datetime
 (as previously).
* Adds client_streaming and server_streaming fields to MethodDescriptor.
* Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
 JSON serializations with UTF-8 or other non-ASCII encodings.
* Added experimental support for directly assigning numpy scalars and array.
* Improve the calculation of public_dependencies in DescriptorPool.
* [Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
 multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.

Compiler
* Migrate IsDefault(const std::string*) and UnsafeSetDefault(const std::string*)
* Implement strong qualified tags for TaggedPtr
* Rework allocations to power-of-two byte sizes.
* Migrate IsDefault(const std::string*) and UnsafeSetDefault(const std::string*)
* Implement strong qualified tags for TaggedPtr
* Make TaggedPtr Set...() calls explicitly spell out the content type.
* Check for parsing error before verifying UTF8.
* Enforce a maximum message nesting limit of 32 in the descriptor builder to
 guard against stack overflows
* Fixed bugs in operators for RepeatedPtrIterator
* Assert a maximum map alignment for allocated values
* Fix proto1 group extension protodb parsing error
* Do not log/report the same descriptor symbol multiple times if it contains
 more than one invalid character.
* Add UnknownFieldSet::SerializeToString and SerializeToCodedStream.
* Remove explicit default pointers and deprecated API from protocol compiler

Arenas
* Change Repeated*Field to reuse memory when using arenas.
* Implements pbarenaz for profiling proto arenas
* Introduce CreateString() and CreateArenaString() for cleaner semantics
* Fix unreferenced parameter for MSVC builds
* Add UnsafeSetAllocated to be used for one-of string fields.
* Make Arena::AllocateAligned() a public function.
* Determine if ArenaDtor related code generation is necessary in one place.
* Implement on demand register ArenaDtor for InlinedStringField

C++
* Enable testing via CTest (8737)
* Add option to use external GTest in CMake (8736)
* CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so (8635) (9529)
* Add cmake option `protobuf_INSTALL` to not install files (7123)
* CMake: Allow custom plugin options e.g. to generate mocks (9105)
* CMake: Use linker version scripts (9545)
* Manually *struct Cord fields to work better with arenas.
* Manually destruct map fields.
* Generate narrower code
* Fix https://github.com/protocolbuffers/protobuf/issues/9378 by removing
 shadowed _cached_size_ field
* Remove GetPointer() and explicit nullptr defaults.
* Add proto_h flag for speeding up large builds
* Add missing overload for reference wrapped fields.
* Add MergedDescriptorDatabase::FindAllFileNames()
* RepeatedField now defines an iterator type instead of using a pointer.
* Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS.

PHP
* Fix: add missing reserved classnames (9458)

C
* Fix trim warnings (9182)
* Fixes NullReferenceException when accessing FieldDescriptor.IsPacked (9430)
* Add ToProto() method to all descriptor classes (9426)
* Add an option to preserve proto names in JsonFormatter (6307)

Objective-C
* Add prefix_to_proto_package_mappings_path option. (9498)
* Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. (9552)
* Add a generation option to control use of forward declarations in headers. (9568)

3.19.6

Java
* Refactoring java full runtime to reuse sub-message builders and prepare to
 migrate parsing logic from parse constructor to builder.
* Move proto wireformat parsing functionality from the private "parsing
 constructor" to the Builder class.
* Change the Lite runtime to prefer merging from the wireformat into mutable
 messages rather than building up a new immutable object before merging. This
 way results in fewer allocations and copy operations.
* Make message-type extensions merge from wire-format instead of building up
 instances and merging afterwards. This has much better performance.
* Fix TextFormat parser to build up recurring (but supposedly not repeated)
 sub-messages directly from text rather than building a new sub-message and
 merging the fully formed message into the existing field.
* This release addresses a [Security Advisory for Java users](https://github.com/protocolbuffers/protobuf/security/advisories/GHSA-h4h5-3hr4-j3g2)

3.19.5

C++
- Reduce memory consumption of MessageSet parsing
- This release addresses a [Security Advisory for C++ and Python users](https://github.com/protocolbuffers/protobuf/security/advisories/GHSA-8gq9-2x98-w8hf)

3.19.4

Python
* Make libprotobuf symbols local on OSX to fix issue 9395 (9435)

Ruby
* Fixed a data loss bug that could occur when the number of `optional` fields in a message is an exact multiple of 32. (9440).

PHP
* Fixed a data loss bug that could occur when the number of `optional` fields in a message is an exact multiple of 32. (9440).

3.19.3

Python
* Fix missing Windows wheel for Python 3.10 on PyPI

3.19.2

Java
* Improve performance characteristics of UnknownFieldSet parsing (9371)
* This release addresses a [Security Advisory for Java users](https://github.com/protocolbuffers/protobuf/security/advisories/GHSA-wrvw-hg22-4m67)

3.19.1

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)

3.19.0

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)

3.19.0rc2

Java
* Update changelog to reflect that we are not yet dropping Java 7 support after all

3.19.0rc1

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)

3.18.3

C++
* Reduce memory consumption of MessageSet parsing
* This release addresses a [Security Advisory for C++ and Python users](https://github.com/protocolbuffers/protobuf/security/advisories/GHSA-8gq9-2x98-w8hf)

3.18.2

Java
* Improve performance characteristics of UnknownFieldSet parsing (9371)

3.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)

3.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)

3.18.0rc2

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)

Ruby
* Move DSL implementation from C to pure Ruby (8850)

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)

3.18.0rc1

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)

Ruby
* Move DSL implementation from C to pure Ruby (8850)

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)

3.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**
* Support M1 (8557)

3.17.2

****Kotlin****
* Fix duplicate class error (8653)

****PHP****
* Fixed SEGV in sub-message getters for well-known types when message is unset
 (8670)

3.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.
Links

@pyup-bot
Copy link
Collaborator Author

Closing this in favor of #2697

@pyup-bot pyup-bot closed this Nov 27, 2024
@stephenfin stephenfin deleted the pyup-update-protobuf-3.17.0-to-5.28.3 branch November 27, 2024 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant