|
|
@@ -1,3 +1,78 @@
|
|
|
+2017-11-09 version 3.5.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
|
|
|
+ Planned Future Changes
|
|
|
+ * Make C++ implementation C++11 only: we plan to require C++11 to build
|
|
|
+ protobuf code starting from 3.6.0 release. Please join this github issue:
|
|
|
+ https://github.com/google/protobuf/issues/2780 to provide your feedback.
|
|
|
+
|
|
|
+ General
|
|
|
+ * Unknown fields are now preserved in proto3 for most of the language
|
|
|
+ implementations for proto3 by default. See the per-language section for
|
|
|
+ details.
|
|
|
+ * reserve keyword are now supported in enums
|
|
|
+
|
|
|
+ C++
|
|
|
+ * Proto3 messages are now preserving unknown fields by default. If you rely on
|
|
|
+ unknowns fields being dropped. Please use DiscardUnknownFields() explicitly.
|
|
|
+ * Deprecated the unsafe_arena_release_* and unsafe_arena_add_allocated_*
|
|
|
+ methods for string fields.
|
|
|
+ * Added move constructor and move assignment to RepeatedField,
|
|
|
+ RepeatedPtrField and google::protobuf::Any.
|
|
|
+ * Added perfect forwarding in Arena::CreateMessage
|
|
|
+ * In-progress experimental support for implicit weak fields with lite protos.
|
|
|
+ This feature allows the linker to strip out more unused messages and reduce
|
|
|
+ binary size.
|
|
|
+ * Various performance optimizations.
|
|
|
+
|
|
|
+ Java
|
|
|
+ * Proto3 messages are now preserving unknown fields by default. If you’d like
|
|
|
+ to drop unknown fields, please use the DiscardUnknownFieldsParser API. For
|
|
|
+ example:
|
|
|
+ * Parser<Foo> parser = DiscardUnknownFieldsParser.wrap(Foo.parser());
|
|
|
+ * Foo foo = parser.parseFrom(input);
|
|
|
+ * Added a new CodedInputStream decoder for Iterable<ByteBuffer> with direct
|
|
|
+ ByteBuffers.
|
|
|
+ * TextFormat now prints unknown length-delimited fields as messages if
|
|
|
+ possible.
|
|
|
+ * FieldMaskUtil.merge() no longer creates unnecessary empty messages when a
|
|
|
+ message field is unset in both source message and destination message.
|
|
|
+ * Various performance optimizations.
|
|
|
+
|
|
|
+ Python
|
|
|
+ * Proto3 messages are now preserving unknown fields by default. Use
|
|
|
+ message.DiscardUnknownFields() to drop unknown fields.
|
|
|
+ * Add FieldDescriptor.file in generated code.
|
|
|
+ * Add descriptor pool FindOneofByName in pure python.
|
|
|
+ * Change unknown enum values into unknown field set .
|
|
|
+ * Add more Python dict/list compatibility for Struct/ListValue.
|
|
|
+ * Add utf-8 support for text_format.Merge()/Parse().
|
|
|
+ * Support numeric unknown enum values for proto3 JSON format.
|
|
|
+ * Add warning for Unexpected end-group tag in cpp extension.
|
|
|
+
|
|
|
+ PHP
|
|
|
+ * Proto3 messages are now preserving unknown fields.
|
|
|
+ * Provide well known type messages in runtime.
|
|
|
+ * Add prefix ‘PB’ to generated class of reserved names.
|
|
|
+ * Fixed all conformance tests for encode/decode json in php runtime. C
|
|
|
+ extension needs more work.
|
|
|
+
|
|
|
+ Objective-C
|
|
|
+ * Fixed some issues around copying of messages with unknown fields and then
|
|
|
+ mutating the unknown fields in the copy.
|
|
|
+
|
|
|
+ C#
|
|
|
+ * Added unknown field support in JsonParser.
|
|
|
+ * Fixed oneof message field merge.
|
|
|
+
|
|
|
+ Ruby
|
|
|
+ * Unknown fields are now preserved by default.
|
|
|
+ * Fixed several bugs for segment fault.
|
|
|
+
|
|
|
+ Javascript
|
|
|
+ * Decoder can handle both paced and unpacked data no matter how the proto is
|
|
|
+ defined.
|
|
|
+ * Decoder now accept long varint for 32 bit integers.
|
|
|
+
|
|
|
+
|
|
|
2017-08-14 version 3.4.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
|
|
|
Planned Future Changes
|
|
|
* There are some changes that are not included in this release but are planned
|