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.
C++
Use std::atomic in case of myriad2 platform
Always declare enums to be int-sized
Added DebugString() and ShortDebugString() methods on MessageLite
Specialized different parse loop control flows
Make hasbits potentially in register. The or's start forming an obstacle because it's a read modify store on the same mem address on each iteration.
Move to an internal MACRO for parser validity checks.
Improve map parsing performance.
Make MergePartialFromCodedStream non virtual. This allows direct calls, potential inlining and is also a code health improvement
Add an overall limit to parse_context to prevent reading past it. This allows to remove a annoying level of indirection.
Fix a mistake, we shouldn't verify map key/value strings for utf8 in opt mode for proto2.
Further improvements to cut binary size.
Prepare to make MergePartialFromCodedStream non-virtual.
A report on some interesting behavior change in python (caused by b/27494216) made me realize there is a check that needs to be done in case the parse ended on a end group tag.
Add a note of caution to the comments around skip in CodedOutputStream.
Simplify end check.
Add overload for ParseMessage for MessageLite/Message types. If the explicit type is not known inlining won't help de-virtualizing the virtual call.
Reduce linker input. It turns out that ParseMessage is not inlined, producing template instantiations that are used only once and save nothing but cost more.
Improve the parser.
[c++17] Changed proto2::RepeatedPtrField iterators to no longer derive from the deprecated std::iterator class.
Change the default value of case_insensitive_enum_parsing to false for JsonStringToMessage.
Add a warning if a field name doesn't match the style guide.
Fix TextFormat not round-trip correctly when float value is max float.
Added locationed info for some errors at compiler
Python reserved keywords are now working with getattr()/setattr() for most descriptors.
Added AllowUnknownField() in text_format
Append '_' to C++ reserved keywords for message, enum, extension
Fix MSVC warning C4244 in protobuf's parse_context.h.
Updating Iterators to be compatible with C++17 in MSVC.
Use capability annotation in mutex.h
Fix "UndefinedBehaviorSanitizer: cfi-bad-type"
CriticalSectionLock class as a lightweight replacement for std::mutex on Windows platforms.
Removed vestigial wire_format_lite_inl.h
C#
Added System.Memory dependency.
Java
Make Java protoc code generator ignore optimize_for LITE_RUNTIME. Users should instead use the Java lite protoc plugin.
Change Extension getMessageDefaultInstance() to return Message instead of MessageLite.
Prevent malicious input streams from leaking buffers for ByteString or ByteBuffer parsing.
Release new Javalite runtime.
Show warning in case potential file name conflict.
Allow Java reserved keywords to be used in extensions.
Added setAllowUnknownFields() in text format
Add memoization to ExtensionRegistryLite.getEmptyRegistry()
Improve performance of CodedOutputStream.writeUInt32NoTag
Add an optimized mismatch-finding algorithm to UnsafeUtil.
When serializing uint32 varints, check that we have MAX_VARINT32_SIZE bytes left, not just MAX_VARINT_SIZE.
Minor optimization to RopeByteString.PieceIterator
JavaScript
Simplify generated toObject code when the default value is used.
Python
Changes implementation of Name() for enums that allow aliases in proto2 in Python to be in line with claims in C++ implementation (to return first value).
Added double_format option in text format printer.
Added iter and contains to extension dict
Added allow_unknown_field option in python text format parser
Float field will be convert to inf if bigger than struct.unpack('f', b'\xff\xff\x7f\x7f')[0] which is about 3.4028234664e+38,
convert to -inf if smaller than -3.4028234664e+38