Browse Source

Update change logs for 3.2.0 release.

Bo Yang 8 years ago
parent
commit
b22c6b090f
1 changed files with 77 additions and 5 deletions
  1. 77 5
      CHANGES.txt

+ 77 - 5
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)
 2016-09-23 version 3.1.0 (C++/Java/Python/PHP/Ruby/Objective-C/C#/JavaScript/Lite)
   General
   General
   * Proto3 support in PHP (alpha).
   * Proto3 support in PHP (alpha).
@@ -40,23 +112,23 @@
     APIs and share the same generated code. Users don’t need to re-generate
     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
     code for the same proto definition when they want to switch the
     implementation later. The pure PHP package is included in the php/src
     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:
     Both implementations provide idiomatic PHP APIs:
     * All messages and enums are defined as PHP classes.
     * All messages and enums are defined as PHP classes.
     * All message fields can only be accessed via getter/setter.
     * All message fields can only be accessed via getter/setter.
     * Both repeated field elements and map elements are stored in containers
     * Both repeated field elements and map elements are stored in containers
       that act like a normal PHP array.
       that act like a normal PHP array.
-  
+
     Unlike several existing third-party PHP implementations for protobuf, our
     Unlike several existing third-party PHP implementations for protobuf, our
     implementations are built on a "strongly-typed" philosophy: message fields
     implementations are built on a "strongly-typed" philosophy: message fields
     and array/map containers will throw exceptions eagerly when values of the
     and array/map containers will throw exceptions eagerly when values of the
     incorrect type (not including those that can be type converted, e.g.,
     incorrect type (not including those that can be type converted, e.g.,
     double <-> integer <-> numeric string) are inserted.
     double <-> integer <-> numeric string) are inserted.
-  
+
     Currently, pure PHP runtime supports php5.5, 5.6 and 7 on linux. C
     Currently, pure PHP runtime supports php5.5, 5.6 and 7 on linux. C
     extension runtime supports php5.5 and 5.6 on linux.
     extension runtime supports php5.5 and 5.6 on linux.
-  
+
     See php/README.md for more details about installment. See
     See php/README.md for more details about installment. See
     https://developers.google.com/protocol-buffers/docs/phptutorial for more
     https://developers.google.com/protocol-buffers/docs/phptutorial for more
     details about APIs.
     details about APIs.