aboutsummaryrefslogtreecommitdiffhomepage
path: root/CHANGES.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGES.txt')
-rw-r--r--CHANGES.txt197
1 files changed, 196 insertions, 1 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index c83da2d6..c18c6377 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,198 @@
+2018-06-01 version 3.6.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
+
+ C++
+ * Starting from this release, we now require C++11. For those we cannot yet
+ upgrade to C++11, we will try to keep the 3.5.x branch updated with
+ critical bug fixes only. If you have any concerns about this, please
+ comment on issue #2780.
+ * Moved to C++11 types like std::atomic and std::unique_ptr and away from our
+ old custom-built equivalents.
+ * Added support for repeated message fields in lite protos using implicit
+ weak fields. This is an experimental feature that allows the linker to
+ strip out more unused messages than previously was possible.
+ * Fixed SourceCodeInfo for interpreted options and extension range options.
+ * Fixed always_print_enums_as_ints option for JSON serialization.
+ * Added support for ignoring unknown enum values when parsing JSON.
+ * Create std::string in Arena memory.
+ * Fixed ValidateDateTime to correctly check the day.
+ * Fixed bug in ZeroCopyStreamByteSink.
+ * Various other cleanups and fixes.
+
+ Java
+ * Dropped support for Java 6.
+ * Added a UTF-8 decoder that uses Unsafe to directly decode a byte buffer.
+ * Added deprecation annotations to generated code for deprecated oneof
+ fields.
+ * Fixed map field serialization in DynamicMessage.
+ * Cleanup and documentation for Java Lite runtime.
+ * Various other fixes and cleanups
+ * Fixed unboxed arraylists to handle an edge case
+ * Improved performance for copying between unboxed arraylists
+ * Fixed lite protobuf to avoid Java compiler warnings
+ * Improved test coverage for lite runtime
+ * Performance improvements for lite runtime
+
+ Python
+ * Fixed bytes/string map key incompatibility between C++ and pure-Python
+ implementations (issue #4029)
+ * Added __init__.py files to compiler and util subpackages
+ * Use /MT for all Windows versions
+ * Fixed an issue affecting the Python-C++ implementation when used with
+ Cython (issue #2896)
+ * Various text format fixes
+ * Various fixes to resolve behavior differences between the pure-Python and
+ Python-C++ implementations
+
+ PHP
+ * Added php_metadata_namespace to control the file path of generated metadata
+ file.
+ * Changed generated classes of nested message/enum. E.g., Foo.Bar, which
+ previously generates Foo_Bar, now generates Foo/Bar
+ * Added array constructor. When creating a message, users can pass a php
+ array whose content is field name to value pairs into constructor. The
+ created message will be initialized according to the array. Note that
+ message field should use a message value instead of a sub-array.
+ * Various bug fixes.
+
+ Objective-C
+ * We removed some helper class methods from GPBDictionary to shrink the size
+ of the library, the functionary is still there, but you may need to do some
+ specific +alloc / -init… methods instead.
+ * Minor improvements in the performance of object field getters/setters by
+ avoiding some memory management overhead.
+ * Fix a memory leak during the raising of some errors.
+ * Make header importing completely order independent.
+ * Small code improvements for things the undefined behaviors compiler option
+ was flagging.
+
+ Ruby
+ * Added ruby_package file option to control the module of generated class.
+ * Various bug fixes.
+
+ Javascript
+ * Allow setting string to int64 field.
+
+ Csharp
+ * Unknown fields are now parsed and then sent back on the wire. They can be
+ discarded at parse time via a CodedInputStream option.
+ * Movement towards working with .NET 3.5 and Unity
+ * Expression trees are no longer used
+ * AOT generics issues in Unity/il2cpp have a workaround (see this commit for
+ details)
+ * Floating point values are now compared bitwise (affects NaN value
+ comparisons)
+ * The default size limit when parsing is now 2GB rather than 64MB
+ * MessageParser now supports parsing from a slice of a byte array
+ * JSON list parsing now accepts null values where the underlying proto
+ representation does
+
+2017-12-20 version 3.5.1 (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.
+
+ protoc
+ * Fixed a bug introduced in 3.5.0 and protoc in Windows now accepts non-ascii
+ characters in paths again.
+
+ C++
+ * Removed several usages of C++11 features in the code base.
+ * Fixed some compiler warnings.
+
+ PHP
+ * Fixed memory leak in C-extension implementation.
+ * Added discardUnknokwnFields API.
+ * Removed duplicatd typedef in C-extension headers.
+ * Avoided calling private php methods (timelib_update_ts).
+ * Fixed Any.php to use fully-qualified name for DescriptorPool.
+
+ Ruby
+ * Added Google_Protobuf_discard_unknown for discarding unknown fields in
+ messages.
+
+ C#
+ * Unknown fields are now preserved by default.
+ * Floating point values are now bitwise compared, affecting message equality
+ check and Contains() API in map and repeated fields.
+
+
+2017-11-13 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.
+ * Simplify parsing messages from array slices.
+
+ 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
@@ -92,7 +287,7 @@
* Note: AppEngine 2.5 is deprecated on June 2017 that AppEngine 2.5 will
never update protobuf runtime. Users who depend on AppEngine 2.5 should use
old protoc.
-
+
PHP
* Support PHP generic services. Specify file option php_generic_service=true
to enable generating service interface.