From b22c6b090fd46702a4f1788382ef9e0bbcecaee6 Mon Sep 17 00:00:00 2001 From: Bo Yang Date: Fri, 20 Jan 2017 11:55:56 -0800 Subject: [PATCH] Update change logs for 3.2.0 release. --- CHANGES.txt | 82 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 77 insertions(+), 5 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 7fb2da2e..3b02056b 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,75 @@ +2017-01-23 version 3.2.0 (C++/Java/Python/PHP/Ruby/Objective-C/C#/JavaScript/Lite) + General + * 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 phpdoc in generated files. + * The released API is almost stable. Unless there is large problem, we won't + change it. See + https://developers.google.com/protocol-buffers/docs/reference/php-generated + for more details. + + Objective-C + * 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. + 2016-09-23 version 3.1.0 (C++/Java/Python/PHP/Ruby/Objective-C/C#/JavaScript/Lite) General * Proto3 support in PHP (alpha). @@ -40,23 +112,23 @@ APIs and share the same generated code. Users don’t need to re-generate code for the same proto definition when they want to switch the implementation later. The pure PHP package is included in the php/src - directory, and the c extension is included in the php/ext directory. - + directory, and the c extension is included in the php/ext directory. + Both implementations provide idiomatic PHP APIs: * All messages and enums are defined as PHP classes. * All message fields can only be accessed via getter/setter. * Both repeated field elements and map elements are stored in containers that act like a normal PHP array. - + Unlike several existing third-party PHP implementations for protobuf, our implementations are built on a "strongly-typed" philosophy: message fields and array/map containers will throw exceptions eagerly when values of the incorrect type (not including those that can be type converted, e.g., double <-> integer <-> numeric string) are inserted. - + Currently, pure PHP runtime supports php5.5, 5.6 and 7 on linux. C extension runtime supports php5.5 and 5.6 on linux. - + See php/README.md for more details about installment. See https://developers.google.com/protocol-buffers/docs/phptutorial for more details about APIs.