|
|
|
@ -1,3 +1,91 @@ |
|
|
|
|
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 |
|
|
|
|