Protobuf

Latest version: v5.27.2

Safety actively analyzes 641954 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 19 of 27

3.12.3

Objective-C
* Tweak the union used for Extensions to support old generated code. 7573

3.12.2

Not secure
C++
* Simplified the template export macros to fix the build for mingw32. (7539)

Objective-C
* Fix for the :protobuf_objc target in the Bazel BUILD file. (7538)

3.12.1

Not secure
Ruby
* Re-add binary gems for Ruby 2.3 and 2.4. These are EOL upstream, however
many people still use them and dropping support will require more
coordination. (7529, 7531).

3.12.0

Not secure
Protocol Compiler
* [experimental] Singular, non-message typed fields in proto3 now support
presence tracking. This is enabled by adding the "optional" field label and
passing the `--experimental_allow_proto3_optional` flag to protoc.
* For usage info, see [docs/field_presence.md](docs/field_presence.md).
* During this experimental phase, code generators should update to support
proto3 presence, see [docs/implementing_proto3_presence.md](docs/implementing_proto3_presence.md) for instructions.
* Allow duplicate symbol names when multiple descriptor sets are passed on
the command-line, to match the behavior when multiple .proto files are passed.
* Deterministic `protoc --descriptor_set_out` (7175)

C++
* [experimental] Added proto3 presence support.
* New descriptor APIs to support proto3 presence.
* Fix for 7463 in -rc1 (core dump mixing optional and singular fields in proto3)
* Enable Arenas by default on all .proto files.
* Documented that users are not allowed to subclass Message or MessageLite.
* Mark generated classes as final; inheriting from protos is strongly discouraged.
* Add stack overflow protection for text format with unknown fields.
* Add accessors for map key and value FieldDescriptors.
* Add FieldMaskUtil::FromFieldNumbers().
* MessageDifferencer: use ParsePartial() on Any fields so the diff does not
fail when there are missing required fields.
* ReflectionOps::Merge(): lookup messages in the right factory, if it can.
* Added Descriptor::WellKnownTypes enum and Descriptor::well_known_type()
accessor as an easier way of determining if a message is a Well-Known Type.
* Optimized RepeatedField::Add() when it is used in a loop.
* Made proto move/swap more efficient.
* De-virtualize the GetArena() method in MessageLite.
* Improves performance of json_stream_parser.cc by factor 1000 (7230)
* bug: 7076 undefine Windows OUT and OPTIONAL macros (7087)
* Fixed a bug in FieldDescriptor::DebugString() that would erroneously print
an "optional" label for a field in a oneof.
* Fix bug in parsing bool extensions that assumed they are always 1 byte.
* Fix off-by-one error in FieldOptions::ByteSize() when extensions are present.
* Clarified the comments to show an example of the difference between
Descriptor::extension and DescriptorPool::FindAllExtensions.
* Add a compiler option 'code_size' to force optimize_for=code_size on all
protos where this is possible.

Java
* [experimental] Added proto3 presence support.
* Fix for 7480 in -rc1 ("TextFormat and JsonFormat ignore experimental proto3 optional enums")
* Fix for 7505 in -rc1 (" toString() returns incorrect ascii when there are duplicate keys in a map")
* Mark java enum _VALUE constants as Deprecated if the enum field is deprecated
* reduce <clinit> size for enums with allow_alias set to true.
* Sort map fields alphabetically by the field's key when printing textproto.
* TextFormat.merge() handles Any as top level type.
* Throw a descriptive IllegalArgumentException when calling
getValueDescriptor() on enum special value UNRECOGNIZED instead of
ArrayIndexOutOfBoundsException.
* Fixed an issue with JsonFormat.printer() where setting printingEnumsAsInts()
would override the configuration passed into includingDefaultValueFields().
* Implement overrides of indexOf() and contains() on primitive lists returned
for repeated fields to avoid autoboxing the list contents.
* Add overload to FieldMaskUtil.fromStringList that accepts a descriptor.
* [bazel] Move Java runtime/toolchains into //java (7190)

Python
* [experimental] Added proto3 presence support.
* [experimental] fast import protobuf module, only works with cpp generated code linked in.
* Truncate 'float' fields to 4 bytes of precision in setters for pure-Python
implementation (C++ extension was already doing this).
* Fixed a memory leak in C++ bindings.
* Added a deprecation warning when code tries to create Descriptor objects
directly.
* Fix unintended comparison between bytes and string in descriptor.py.
* Avoid printing excess digits for float fields in TextFormat.
* Remove Python 2.5 syntax compatibility from the proto compiler generated _pb2.py module code.
* Drop 3.3, 3.4 and use single version docker images for all python tests (7396)

JavaScript
* Fix js message pivot selection (6813)

PHP
* Persistent Descriptor Pool (6899)
* Implement lazy loading of php class for proto messages (6911)
* Correct return in Any.unpack docblock (7089)
* Ignore unknown enum value when ignore_unknown specified (7455)

Ruby
* [experimental] Implemented proto3 presence for Ruby. (7406)
* Stop building binary gems for ruby <2.5 (7453)
* Fix for wrappers with a zero value (7195)
* Fix for JSON serialization of 0/empty-valued wrapper types (7198)
* Call "Classnew" over rb_class_new_instance in decoding (7352)
* Build extensions for Ruby 2.7 (7027)
* assigning 'nil' to submessage should clear the field. (7397)

C
* [experimental] Add support for proto3 presence fields in C (7382)
* Cleanup various bits of Google.Protobuf (6674)
* Fix conformance test failures for Google.Protobuf (6910)
* Fix latest ArgumentException for C extensions (6938)
* Remove unnecessary branch from ReadTag (7289)
* Enforce recursion depth checking for unknown fields (7132)
* Mark GetOption API as obsolete and expose the "GetOptions()" method
on descriptors instead (7491)
* Remove Has/Clear members for C message fields in proto2 (7429)

Objective-C
* [experimental] ObjC Proto3 optional support (7421)
* Block subclassing of generated classes (7124)
* Use references to Obj C classes instead of names in descriptors. (7026)
* Revisit how the WKTs are bundled with ObjC. (7173)

Other
* Add a proto_lang_toolchain for javalite (6882)
* [bazel] Update gtest and deprecate //external:{gtest,gtest_main} (7237)
* Add application note for explicit presence tracking. (7390)
* Howto doc for implementing proto3 presence in a code generator. (7407)

3.12.0rc2

Not secure
C++ / Python
- Fix for 7463 ("mixing with optional fields: core dump --experimental_allow_proto3_optional")

Java
- Fix for 7480 ("TextFormat and JsonFormat ignore experimental proto3 optional enums")

PHP

- Ignore unknown enum value when ignore_unknown specified (7455)

C

- Mark GetOption API as obsolete and expose the "GetOptions()" method on descriptors instead (7491)
- Remove Has/Clear members for C message fields in proto2 (7429)

3.12.0rc1

Not secure
Protocol Compiler
* [experimental] Singular, non-message typed fields in proto3 now support
presence tracking. This is enabled by adding the "optional" field label and
passing the `--experimental_allow_proto3_optional` flag to protoc.
* For usage info, see [docs/field_presence.md](docs/field_presence.md).
* During this experimental phase, code generators should update to support
proto3 presence, see [docs/implementing_proto3_presence.md](docs/implementing_proto3_presence.md) for instructions.
* Allow duplicate symbol names when multiple descriptor sets are passed on
the command-line, to match the behavior when multiple .proto files are passed.
* Deterministic `protoc --descriptor_set_out` (7175)

C++
* [experimental] Added proto3 presence support.
* New descriptor APIs to support proto3 presence.
* Enable Arenas by default on all .proto files.
* Documented that users are not allowed to subclass Message or MessageLite.
* Mark generated classes as final; inheriting from protos is strongly discouraged.
* Add stack overflow protection for text format with unknown fields.
* Add accessors for map key and value FieldDescriptors.
* Add FieldMaskUtil::FromFieldNumbers().
* MessageDifferencer: use ParsePartial() on Any fields so the diff does not
fail when there are missing required fields.
* ReflectionOps::Merge(): lookup messages in the right factory, if it can.
* Added Descriptor::WellKnownTypes enum and Descriptor::well_known_type()
accessor as an easier way of determining if a message is a Well-Known Type.
* Optimized RepeatedField::Add() when it is used in a loop.
* Made proto move/swap more efficient.
* De-virtualize the GetArena() method in MessageLite.
* Improves performance of json_stream_parser.cc by factor 1000 (7230)
* bug: 7076 undefine Windows OUT and OPTIONAL macros (7087)
* Fixed a bug in FieldDescriptor::DebugString() that would erroneously print
an "optional" label for a field in a oneof.
* Fix bug in parsing bool extensions that assumed they are always 1 byte.
* Fix off-by-one error in FieldOptions::ByteSize() when extensions are present.
* Clarified the comments to show an example of the difference between
Descriptor::extension and DescriptorPool::FindAllExtensions.
* Add a compiler option 'code_size' to force optimize_for=code_size on all
protos where this is possible.

Java
* [experimental] Added proto3 presence support.
* Mark java enum _VALUE constants as Deprecated if the enum field is deprecated
* reduce <clinit> size for enums with allow_alias set to true.
* Sort map fields alphabetically by the field's key when printing textproto.
* TextFormat.merge() handles Any as top level type.
* Throw a descriptive IllegalArgumentException when calling
getValueDescriptor() on enum special value UNRECOGNIZED instead of
ArrayIndexOutOfBoundsException.
* Fixed an issue with JsonFormat.printer() where setting printingEnumsAsInts()
would override the configuration passed into includingDefaultValueFields().
* Implement overrides of indexOf() and contains() on primitive lists returned
for repeated fields to avoid autoboxing the list contents.
* Add overload to FieldMaskUtil.fromStringList that accepts a descriptor.
* [bazel] Move Java runtime/toolchains into //java (7190)

Python
* [experimental] Added proto3 presence support.
* [experimental] fast import protobuf module, only works with cpp generated code linked in.
* Truncate 'float' fields to 4 bytes of precision in setters for pure-Python
implementation (C++ extension was already doing this).
* Fixed a memory leak in C++ bindings.
* Added a deprecation warning when code tries to create Descriptor objects
directly.
* Fix unintended comparison between bytes and string in descriptor.py.
* Avoid printing excess digits for float fields in TextFormat.
* Remove Python 2.5 syntax compatibility from the proto compiler generated _pb2.py module code.
* Drop 3.3, 3.4 and use single version docker images for all python tests (7396)

JavaScript
* Fix js message pivot selection (6813)

PHP
* Persistent Descriptor Pool (6899)
* Implement lazy loading of php class for proto messages (6911)
* Correct return in Any.unpack docblock (7089)

Ruby
* [experimental] Implemented proto3 presence for Ruby. (7406)
* Stop building binary gems for ruby <2.5 (7453)
* Fix for wrappers with a zero value (7195)
* Fix for JSON serialization of 0/empty-valued wrapper types (7198)
* Call "Classnew" over rb_class_new_instance in decoding (7352)
* Build extensions for Ruby 2.7 (7027)
* assigning 'nil' to submessage should clear the field. (7397)

C
* [experimental] Add support for proto3 presence fields in C (7382)
* Cleanup various bits of Google.Protobuf (6674)
* Fix conformance test failures for Google.Protobuf (6910)
* Fix latest ArgumentException for C extensions (6938)
* Remove unnecessary branch from ReadTag (7289)
* Enforce recursion depth checking for unknown fields (7132)

Objective-C
* [experimental] ObjC Proto3 optional support (7421)
* Block subclassing of generated classes (7124)
* Use references to Obj C classes instead of names in descriptors. (7026)
* Revisit how the WKTs are bundled with ObjC. (7173)

Other
* Add a proto_lang_toolchain for javalite (6882)
* [bazel] Update gtest and deprecate //external:{gtest,gtest_main} (7237)
* Add application note for explicit presence tracking. (7390)
* Howto doc for implementing proto3 presence in a code generator. (7407)

Page 19 of 27

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.