| Index: third_party/protobuf/CHANGES.txt
|
| diff --git a/third_party/protobuf/CHANGES.txt b/third_party/protobuf/CHANGES.txt
|
| index 3459cccfa9cf7c572d55b34fc5635d2c221bb20b..7fb2da2e22089ef9b520227855efb2745153bcb1 100644
|
| --- a/third_party/protobuf/CHANGES.txt
|
| +++ b/third_party/protobuf/CHANGES.txt
|
| @@ -1,3 +1,235 @@
|
| +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.
|
|
|