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
Added protoc version number to protoc plugin protocol. It can be used by
protoc plugin to detect which version of protoc is used with the plugin and
mitigate known problems in certain version of protoc.
C++
The default parsing byte size limit has been raised from 64MB to 2GB.
Added rvalue setters for non-arena string fields.
Enabled debug logging for Android.
Fixed a double-free problem when using Reflection::SetAllocatedMessage()
with extension fields.
Fixed several deterministic serialization bugs:
MessageLite::SerializeAsString() now respects the global deterministic
serialization flag.
Extension fields are serialized deterministically as well. Fixed protocol
compiler to correctly report importing-self as an error.
Fixed FileDescriptor::DebugString() to print custom options correctly.
Various performance/codesize optimizations and cleanups.
Java
The default parsing byte size limit has been raised from 64MB to 2GB.
Added recursion limit when parsing JSON.
Fixed a bug that enumType.getDescriptor().getOptions() doesn't have custom
options.
Fixed generated code to support field numbers up to 2^29-1.
Python
You can now assign NumPy scalars/arrays (np.int32, np.int64) to protobuf
fields, and assigning other numeric types has been optimized for
performance.
Pure-Python: message types are now garbage-collectable.
Python/C++: a lot of internal cleanup/refactoring.
PHP (Alpha)
For 64-bit integers type (int64/uint64/sfixed64/fixed64/sint64), use PHP
integer on 64-bit environment and PHP string on 32-bit environment.
PHP generated code also conforms to PSR-4 now.
Fixed ZTS build for c extension.
Fixed c extension build on Mac.
Fixed c extension build on 32-bit linux.
Fixed the bug that message without namespace is not found in the descriptor
pool. (#2240)
Fixed the bug that repeated field is not iterable in c extension.
Message names Empty will be converted to GPBEmpty in generated code.
Added support for push/pop of the stream limit on CodedInputStream for
anyone doing manual parsing.
C#
No changes.
Ruby
Message objects now support #respond_to? for field getters/setters.
You can now compare “message == non_message_object” and it will return false
instead of throwing an exception.
JRuby: fixed #hashCode to properly reflect the values in the message.
Javascript
Deserialization of repeated fields no longer has quadratic performance
behavior.
UTF-8 encoding/decoding now properly supports high codepoints.
Added convenience methods for some well-known types: Any, Struct, and
Timestamp. These make it easier to convert data between native JavaScript
types and the well-known protobuf types.