You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
The key has expired.
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.
During this experimental phase, code generators should update to support
proto3 presence, see 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.
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 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)