Skip to content

Commit

Permalink
Merge pull request #1792 from xfxyjwf/changelog
Browse files Browse the repository at this point in the history
Added 3.0.0-beta-4 changelog.
  • Loading branch information
xfxyjwf committed Jul 18, 2016
2 parents 3a8d8ea + 82b43d1 commit 56855f6
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 1 deletion.
81 changes: 81 additions & 0 deletions CHANGES.txt
@@ -1,3 +1,84 @@
2016-07-15 version 3.0.0-beta-4 (C++/Java/Python/Ruby/Objective-C/C#/JavaScript)
General
* Added a deterministic serialization API for C++. The deterministic
serialization guarantees that given a binary, equal messages will be
serialized to the same bytes. This allows applications like MapReduce to
group equal messages based on the serialized bytes. The deterministic
serialization is, however, NOT canonical across languages; it is also
unstable across different builds with schema changes due to unknown fields.
Users who need canonical serialization, e.g. persistent storage in a
canonical form, fingerprinting, etc, should define their own
canonicalization specification and implement the serializer using reflection
APIs rather than relying on this API.
* Added OneofOptions. You can now define custom options for oneof groups.
import "google/protobuf/descriptor.proto";
extend google.protobuf.OneofOptions {
optional int32 my_oneof_extension = 12345;
}
message Foo {
oneof oneof_group {
(my_oneof_extension) = 54321;
...
}
}

C++ (beta)
* Introduced a deterministic serialization API in
CodedOutputStream::SetSerializationDeterministic(bool). See the notes about
deterministic serialization in the General section.
* Added google::protobuf::Map::swap() to swap two map fields.
* Fixed a memory leak when calling Reflection::ReleaseMessage() on a message
allocated on arena.
* Improved error reporting when parsing text format protos.
* JSON
- Added a new parser option to ignore unknown fields when parsing JSON.
- Added convenient methods for message to/from JSON conversion.
* Various performance optimizations.

Java (beta)
* File option "java_generate_equals_and_hash" is now deprecated. equals() and
hashCode() methods are generated by default.
* Added a new JSON printer option "omittingInsignificantWhitespace" to produce
a more compact JSON output. The printer will pretty-print by default.
* Updated Java runtime to be compatible with 2.5.0/2.6.1 generated protos.

Python (beta)
* Added support to pretty print Any messages in text format.
* Added a flag to ignore unknown fields when parsing JSON.
* Bugfix: "@type" field of a JSON Any message is now correctly put before
other fields.

Objective-C (beta)
* Updated the code to support compiling with more compiler warnings
enabled. (Issue 1616)
* Exposing more detailed errors for parsing failures. (PR 1623)
* Small (breaking) change to the naming of some methods on the support classes
for map<>. There were collisions with the system provided KVO support, so
the names were changed to avoid those issues. (PR 1699)
* Fixed for proper Swift bridging of error handling during parsing. (PR 1712)
* Complete support for generating sources that will go into a Framework and
depend on generated sources from other Frameworks. (Issue 1457)

C# (beta)
* RepeatedField optimizations.
* Support for .NET Core.
* Minor bug fixes.
* Ability to format a single value in JsonFormatter (advanced usage only).
* Modifications to attributes applied to generated code.

Javascript (alpha)
* Maps now have a real map API instead of being treated as repeated fields.
* Well-known types are now provided in the google-protobuf package, and the
code generator knows to require() them from that package.
* Bugfix: non-canonical varints are correctly decoded.

Ruby (alpha)
* Accessors for oneof fields now return default values instead of nil.

Java Lite
* Java lite support is removed from protocol compiler. It will be supported
as a protocol compiler plugin in a separate code branch.

2016-05-16 version 3.0.0-beta-3 (C++/Java/Python/Ruby/Nano/Objective-C/C#/JavaScript)
General
* Supported Proto3 lite-runtime in C++/Java for mobile platforms.
Expand Down
Expand Up @@ -173,7 +173,7 @@ public static CodedOutputStream newInstance(ByteBuffer byteBuffer) {
* maps are sorted on the lexicographical order of the UTF8 encoded keys.
* </ul>
*/
public final void useDeterministicSerialization() {
void useDeterministicSerialization() {
serializationDeterministic = true;
}

Expand Down

0 comments on commit 56855f6

Please sign in to comment.