|
| 1 | +2016-07-15 version 3.0.0-beta-4 (C++/Java/Python/Ruby/Objective-C/C#/JavaScript) |
| 2 | + General |
| 3 | + * Added a deterministic serialization API for C++. The deterministic |
| 4 | + serialization guarantees that given a binary, equal messages will be |
| 5 | + serialized to the same bytes. This allows applications like MapReduce to |
| 6 | + group equal messages based on the serialized bytes. The deterministic |
| 7 | + serialization is, however, NOT canonical across languages; it is also |
| 8 | + unstable across different builds with schema changes due to unknown fields. |
| 9 | + Users who need canonical serialization, e.g. persistent storage in a |
| 10 | + canonical form, fingerprinting, etc, should define their own |
| 11 | + canonicalization specification and implement the serializer using reflection |
| 12 | + APIs rather than relying on this API. |
| 13 | + * Added OneofOptions. You can now define custom options for oneof groups. |
| 14 | + import "google/protobuf/descriptor.proto"; |
| 15 | + extend google.protobuf.OneofOptions { |
| 16 | + optional int32 my_oneof_extension = 12345; |
| 17 | + } |
| 18 | + message Foo { |
| 19 | + oneof oneof_group { |
| 20 | + (my_oneof_extension) = 54321; |
| 21 | + ... |
| 22 | + } |
| 23 | + } |
| 24 | + |
| 25 | + C++ (beta) |
| 26 | + * Introduced a deterministic serialization API in |
| 27 | + CodedOutputStream::SetSerializationDeterministic(bool). See the notes about |
| 28 | + deterministic serialization in the General section. |
| 29 | + * Added google::protobuf::Map::swap() to swap two map fields. |
| 30 | + * Fixed a memory leak when calling Reflection::ReleaseMessage() on a message |
| 31 | + allocated on arena. |
| 32 | + * Improved error reporting when parsing text format protos. |
| 33 | + * JSON |
| 34 | + - Added a new parser option to ignore unknown fields when parsing JSON. |
| 35 | + - Added convenient methods for message to/from JSON conversion. |
| 36 | + * Various performance optimizations. |
| 37 | + |
| 38 | + Java (beta) |
| 39 | + * File option "java_generate_equals_and_hash" is now deprecated. equals() and |
| 40 | + hashCode() methods are generated by default. |
| 41 | + * Added a new JSON printer option "omittingInsignificantWhitespace" to produce |
| 42 | + a more compact JSON output. The printer will pretty-print by default. |
| 43 | + * Updated Java runtime to be compatible with 2.5.0/2.6.1 generated protos. |
| 44 | + |
| 45 | + Python (beta) |
| 46 | + * Added support to pretty print Any messages in text format. |
| 47 | + * Added a flag to ignore unknown fields when parsing JSON. |
| 48 | + * Bugfix: "@type" field of a JSON Any message is now correctly put before |
| 49 | + other fields. |
| 50 | + |
| 51 | + Objective-C (beta) |
| 52 | + * Updated the code to support compiling with more compiler warnings |
| 53 | + enabled. (Issue 1616) |
| 54 | + * Exposing more detailed errors for parsing failures. (PR 1623) |
| 55 | + * Small (breaking) change to the naming of some methods on the support classes |
| 56 | + for map<>. There were collisions with the system provided KVO support, so |
| 57 | + the names were changed to avoid those issues. (PR 1699) |
| 58 | + * Fixed for proper Swift bridging of error handling during parsing. (PR 1712) |
| 59 | + * Complete support for generating sources that will go into a Framework and |
| 60 | + depend on generated sources from other Frameworks. (Issue 1457) |
| 61 | + |
| 62 | + C# (beta) |
| 63 | + * RepeatedField optimizations. |
| 64 | + * Support for .NET Core. |
| 65 | + * Minor bug fixes. |
| 66 | + * Ability to format a single value in JsonFormatter (advanced usage only). |
| 67 | + * Modifications to attributes applied to generated code. |
| 68 | + |
| 69 | + Javascript (alpha) |
| 70 | + * Maps now have a real map API instead of being treated as repeated fields. |
| 71 | + * Well-known types are now provided in the google-protobuf package, and the |
| 72 | + code generator knows to require() them from that package. |
| 73 | + * Bugfix: non-canonical varints are correctly decoded. |
| 74 | + |
| 75 | + Ruby (alpha) |
| 76 | + * Accessors for oneof fields now return default values instead of nil. |
| 77 | + |
| 78 | + Java Lite |
| 79 | + * Java lite support is removed from protocol compiler. It will be supported |
| 80 | + as a protocol compiler plugin in a separate code branch. |
| 81 | + |
1 | 82 | 2016-05-16 version 3.0.0-beta-3 (C++/Java/Python/Ruby/Nano/Objective-C/C#/JavaScript)
|
2 | 83 | General
|
3 | 84 | * Supported Proto3 lite-runtime in C++/Java for mobile platforms.
|
|
0 commit comments