浏览代码

Update change logs for 3.2.0 release.

Bo Yang 8 年之前
父节点
当前提交
b22c6b090f
共有 1 个文件被更改,包括 77 次插入5 次删除
  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)
   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.