|
| 1 | +2018-06-01 version 3.6.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript) |
| 2 | + |
| 3 | + C++ |
| 4 | + * Starting from this release, we now require C++11. For those we cannot yet |
| 5 | + upgrade to C++11, we will try to keep the 3.5.x branch updated with |
| 6 | + critical bug fixes only. If you have any concerns about this, please |
| 7 | + comment on issue #2780. |
| 8 | + * Moved to C++11 types like std::atomic and std::unique_ptr and away from our |
| 9 | + old custom-built equivalents. |
| 10 | + * Added support for repeated message fields in lite protos using implicit |
| 11 | + weak fields. This is an experimental feature that allows the linker to |
| 12 | + strip out more unused messages than previously was possible. |
| 13 | + * Fixed SourceCodeInfo for interpreted options and extension range options. |
| 14 | + * Fixed always_print_enums_as_ints option for JSON serialization. |
| 15 | + * Added support for ignoring unknown enum values when parsing JSON. |
| 16 | + * Create std::string in Arena memory. |
| 17 | + * Fixed ValidateDateTime to correctly check the day. |
| 18 | + * Fixed bug in ZeroCopyStreamByteSink. |
| 19 | + * Various other cleanups and fixes. |
| 20 | + |
| 21 | + Java |
| 22 | + * Dropped support for Java 6. |
| 23 | + * Added a UTF-8 decoder that uses Unsafe to directly decode a byte buffer. |
| 24 | + * Added deprecation annotations to generated code for deprecated oneof |
| 25 | + fields. |
| 26 | + * Fixed map field serialization in DynamicMessage. |
| 27 | + * Cleanup and documentation for Java Lite runtime. |
| 28 | + * Various other fixes and cleanups |
| 29 | + * Fixed unboxed arraylists to handle an edge case |
| 30 | + * Improved performance for copying between unboxed arraylists |
| 31 | + * Fixed lite protobuf to avoid Java compiler warnings |
| 32 | + * Improved test coverage for lite runtime |
| 33 | + * Performance improvements for lite runtime |
| 34 | + |
| 35 | + Python |
| 36 | + * Fixed bytes/string map key incompatibility between C++ and pure-Python |
| 37 | + implementations (issue #4029) |
| 38 | + * Added __init__.py files to compiler and util subpackages |
| 39 | + * Use /MT for all Windows versions |
| 40 | + * Fixed an issue affecting the Python-C++ implementation when used with |
| 41 | + Cython (issue #2896) |
| 42 | + * Various text format fixes |
| 43 | + * Various fixes to resolve behavior differences between the pure-Python and |
| 44 | + Python-C++ implementations |
| 45 | + |
| 46 | + PHP |
| 47 | + * Added php_metadata_namespace to control the file path of generated metadata |
| 48 | + file. |
| 49 | + * Changed generated classes of nested message/enum. E.g., Foo.Bar, which |
| 50 | + previously generates Foo_Bar, now generates Foo/Bar |
| 51 | + * Added array constructor. When creating a message, users can pass a php |
| 52 | + array whose content is field name to value pairs into constructor. The |
| 53 | + created message will be initialized according to the array. Note that |
| 54 | + message field should use a message value instead of a sub-array. |
| 55 | + * Various bug fixes. |
| 56 | + |
| 57 | + Objective-C |
| 58 | + * We removed some helper class methods from GPBDictionary to shrink the size |
| 59 | + of the library, the functionary is still there, but you may need to do some |
| 60 | + specific +alloc / -init… methods instead. |
| 61 | + * Minor improvements in the performance of object field getters/setters by |
| 62 | + avoiding some memory management overhead. |
| 63 | + * Fix a memory leak during the raising of some errors. |
| 64 | + * Make header importing completely order independent. |
| 65 | + * Small code improvements for things the undefined behaviors compiler option |
| 66 | + was flagging. |
| 67 | + |
| 68 | + Ruby |
| 69 | + * Added ruby_package file option to control the module of generated class. |
| 70 | + * Various bug fixes. |
| 71 | + |
| 72 | + Javascript |
| 73 | + * Allow setting string to int64 field. |
| 74 | + |
| 75 | + Csharp |
| 76 | + * Unknown fields are now parsed and then sent back on the wire. They can be |
| 77 | + discarded at parse time via a CodedInputStream option. |
| 78 | + * Movement towards working with .NET 3.5 and Unity |
| 79 | + * Expression trees are no longer used |
| 80 | + * AOT generics issues in Unity/il2cpp have a workaround (see this commit for |
| 81 | + details) |
| 82 | + * Floating point values are now compared bitwise (affects NaN value |
| 83 | + comparisons) |
| 84 | + * The default size limit when parsing is now 2GB rather than 64MB |
| 85 | + * MessageParser now supports parsing from a slice of a byte array |
| 86 | + * JSON list parsing now accepts null values where the underlying proto |
| 87 | + representation does |
| 88 | + |
1 | 89 | 2017-12-20 version 3.5.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript) |
2 | 90 | Planned Future Changes |
3 | 91 | * Make C++ implementation C++11 only: we plan to require C++11 to build |
|
0 commit comments