Index: third_party/protobuf/CHANGES.txt |
diff --git a/third_party/protobuf/CHANGES.txt b/third_party/protobuf/CHANGES.txt |
index 7fb2da2e22089ef9b520227855efb2745153bcb1..3459cccfa9cf7c572d55b34fc5635d2c221bb20b 100644 |
--- a/third_party/protobuf/CHANGES.txt |
+++ b/third_party/protobuf/CHANGES.txt |
@@ -1,235 +1,3 @@ |
-2016-09-23 version 3.1.0 (C++/Java/Python/PHP/Ruby/Objective-C/C#/JavaScript/Lite) |
- General |
- * Proto3 support in PHP (alpha). |
- * Various bug fixes. |
- |
- C++ |
- * Added MessageLite::ByteSizeLong() that’s equivalent to |
- MessageLite::ByteSize() but returns the value in size_t. Useful to check |
- whether a message is over the 2G size limit that protobuf can support. |
- * Moved default_instances to global variables. This allows default_instance |
- addresses to be known at compile time. |
- * Adding missing generic gcc 64-bit atomicops. |
- * Restore New*Callback into google::protobuf namespace since these are used |
- by the service stubs code |
- * JSON support. |
- * Fixed some conformance issues. |
- * Fixed a JSON serialization bug for bytes fields. |
- |
- Java |
- * Fixed a bug in TextFormat that doesn’t accept empty repeated fields (i.e., |
- “field: [ ]”). |
- * JSON support |
- * Fixed JsonFormat to do correct snake_case-to-camelCase conversion for |
- non-style-conforming field names. |
- * Fixed JsonFormat to parse empty Any message correctly. |
- * Added an option to JsonFormat.Parser to ignore unknown fields. |
- * Experimental API |
- * Added UnsafeByteOperations.unsafeWrap(byte[]) to wrap a byte array into |
- ByteString without copy. |
- |
- Python |
- * JSON support |
- * Fixed some conformance issues. |
- |
- PHP (Alpha) |
- * We have added the proto3 support for PHP via both a pure PHP package and a |
- native c extension. The pure PHP package is intended to provide usability |
- to wider range of PHP platforms, while the c extension is intended to |
- provide higher performance. Both implementations provide the same runtime |
- APIs and share the same generated code. Users don’t need to re-generate |
- code for the same proto definition when they want to switch the |
- implementation later. The pure PHP package is included in the php/src |
- directory, and the c extension is included in the php/ext directory. |
- |
- Both implementations provide idiomatic PHP APIs: |
- * All messages and enums are defined as PHP classes. |
- * All message fields can only be accessed via getter/setter. |
- * Both repeated field elements and map elements are stored in containers |
- that act like a normal PHP array. |
- |
- Unlike several existing third-party PHP implementations for protobuf, our |
- implementations are built on a "strongly-typed" philosophy: message fields |
- and array/map containers will throw exceptions eagerly when values of the |
- incorrect type (not including those that can be type converted, e.g., |
- double <-> integer <-> numeric string) are inserted. |
- |
- Currently, pure PHP runtime supports php5.5, 5.6 and 7 on linux. C |
- extension runtime supports php5.5 and 5.6 on linux. |
- |
- See php/README.md for more details about installment. See |
- https://developers.google.com/protocol-buffers/docs/phptutorial for more |
- details about APIs. |
- |
- Objective-C |
- * Helpers are now provided for working the the Any well known type (see |
- GPBWellKnownTypes.h for the api additions). |
- * Some improvements in startup code (especially when extensions aren’t used). |
- |
- Javascript |
- * Fixed missing import of jspb.Map |
- * Fixed valueWriterFn variable name |
- |
- Ruby |
- * Fixed hash computation for JRuby's RubyMessage |
- * Make sure map parsing frames are GC-rooted. |
- * Added API support for well-known types. |
- |
- C# |
- * Removed check on dependency in the C# reflection API. |
- |
-2016-09-06 version 3.0.2 (C++/Java/Python/Ruby/Objective-C/C#/JavaScript/Lite) |
- General |
- * Various bug fixes. |
- |
- Objective C |
- * Fix for oneofs in proto3 syntax files where fields were set to the zero |
- value. |
- * Fix for embedded null character in strings. |
- * CocoaDocs support |
- |
- Ruby |
- * Fixed memory corruption bug in parsing that could occur under GC pressure. |
- |
- Javascript |
- * jspb.Map is now properly exported to CommonJS modules. |
- |
- C# |
- * Removed legacy_enum_values flag. |
- |
- |
-2016-07-27 version 3.0.0 (C++/Java/Python/Ruby/Objective-C/C#/JavaScript/Lite) |
- General |
- * This log only contains changes since the beta-4 release. Summarized change |
- log since the last stable release (v2.6.1) can be found in the github |
- release page. |
- |
- Compatibility Notice |
- * v3.0.0 is the first API stable release of the v3.x series. We do not expect |
- any future API breaking changes. |
- * For C++, Java Lite and Objective-C, source level compatibility is |
- guaranteed. Upgrading from v3.0.0 to newer minor version releases will be |
- source compatible. For example, if your code compiles against protobuf |
- v3.0.0, it will continue to compile after you upgrade protobuf library to |
- v3.1.0. |
- * For other languages, both source level compatibility and binary level |
- compatibility are guaranteed. For example, if you have a Java binary built |
- against protobuf v3.0.0. After switching the protobuf runtime binary to |
- v3.1.0, your built binary should continue to work. |
- * Compatibility is only guaranteed for documented API and documented |
- behaviors. If you are using undocumented API (e.g., use anything in the C++ |
- internal namespace), it can be broken by minor version releases in an |
- undetermined manner. |
- |
- Ruby |
- * When you assign a string field `a.string_field = "X"`, we now call |
- #encode(UTF-8) on the string and freeze the copy. This saves you from |
- needing to ensure the string is already encoded as UTF-8. It also prevents |
- you from mutating the string after it has been assigned (this is how we |
- ensure it stays valid UTF-8). |
- * The generated file for `foo.proto` is now `foo_pb.rb` instead of just |
- `foo.rb`. This makes it easier to see which imports/requires are from |
- protobuf generated code, and also prevents conflicts with any `foo.rb` file |
- you might have written directly in Ruby. It is a backward-incompatible |
- change: you will need to update all of your `require` statements. |
- * For package names like `foo_bar`, we now translate this to the Ruby module |
- `FooBar`. This is more idiomatic Ruby than what we used to do (`Foo_bar`). |
- |
- JavaScript |
- * Scalar fields like numbers and boolean now return defaults instead of |
- `undefined` or `null` when they are unset. You can test for presence |
- explicitly by calling `hasFoo()`, which we now generate for scalar fields. |
- |
- Java Lite |
- * Java Lite is now implemented as a separate plugin, maintained in the |
- `javalite` branch. Both lite runtime and protoc artifacts will be available |
- in Maven. |
- |
- C# |
- * Target platforms now .NET 4.5, selected portable subsets and .NET Core. |
- * legacy_enum_values option is no longer supported. |
- |
-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. |