| Index: third_party/protobuf/CHANGES.txt
|
| diff --git a/third_party/protobuf/CHANGES.txt b/third_party/protobuf/CHANGES.txt
|
| index c710cd5e7f130e282bb059a9c3d98b9d1bf418ac..3459cccfa9cf7c572d55b34fc5635d2c221bb20b 100644
|
| --- a/third_party/protobuf/CHANGES.txt
|
| +++ b/third_party/protobuf/CHANGES.txt
|
| @@ -1,6 +1,138 @@
|
| -2015-08-26 version 3.0.0-beta-1 (C++/Java/Python/Ruby/Nano/Objective-C/C#/JavaSript)
|
| +2016-05-16 version 3.0.0-beta-3 (C++/Java/Python/Ruby/Nano/Objective-C/C#/JavaScript)
|
| General
|
| - * Intorduced a new language implementaion: JavaScript.
|
| + * Supported Proto3 lite-runtime in C++/Java for mobile platforms.
|
| + * Any type now supports APIs to specify prefixes other than
|
| + type.googleapis.com
|
| + * Removed javanano_use_deprecated_package option; Nano will always has its own
|
| + ".nano" package.
|
| +
|
| + C++ (Beta)
|
| + * Improved hash maps.
|
| + - Improved hash maps comments. In particular, please note that equal hash
|
| + maps will not necessarily have the same iteration order and
|
| + serialization.
|
| + - Added a new hash maps implementation that will become the default in a
|
| + later release.
|
| + * Arenas
|
| + - Several inlined methods in Arena were moved to out-of-line to improve
|
| + build performance and code size.
|
| + - Added SpaceAllocatedAndUsed() to report both space used and allocated
|
| + - Added convenient class UnsafeArenaAllocatedRepeatedPtrFieldBackInserter
|
| + * Any
|
| + - Allow custom type URL prefixes in Any packing.
|
| + - TextFormat now expand the Any type rather than printing bytes.
|
| + * Performance optimizations and various bug fixes.
|
| +
|
| + Java (Beta)
|
| + * Introduced an ExperimentalApi annotation. Annotated APIs are experimental
|
| + and are subject to change in a backward incompatible way in future releases.
|
| + * Introduced zero-copy serialization as an ExperimentalApi
|
| + - Introduction of the `ByteOutput` interface. This is similar to
|
| + `OutputStream` but provides semantics for lazy writing (i.e. no
|
| + immediate copy required) of fields that are considered to be immutable.
|
| + - `ByteString` now supports writing to a `ByteOutput`, which will directly
|
| + expose the internals of the `ByteString` (i.e. `byte[]` or `ByteBuffer`)
|
| + to the `ByteOutput` without copying.
|
| + - `CodedOutputStream` now supports writing to a `ByteOutput`. `ByteString`
|
| + instances that are too large to fit in the internal buffer will be
|
| + (lazily) written to the `ByteOutput` directly.
|
| + - This allows applications using large `ByteString` fields to avoid
|
| + duplication of these fields entirely. Such an application can supply a
|
| + `ByteOutput` that chains together the chunks received from
|
| + `CodedOutputStream` before forwarding them onto the IO system.
|
| + * Other related changes to `CodedOutputStream`
|
| + - Additional use of `sun.misc.Unsafe` where possible to perform fast
|
| + access to `byte[]` and `ByteBuffer` values and avoiding unnecessary
|
| + range checking.
|
| + - `ByteBuffer`-backed `CodedOutputStream` now writes directly to the
|
| + `ByteBuffer` rather than to an intermediate array.
|
| + * Improved lite-runtime.
|
| + - Lite protos now implement deep equals/hashCode/toString
|
| + - Significantly improved the performance of Builder#mergeFrom() and
|
| + Builder#mergeDelimitedFrom()
|
| + * Various bug fixes and small feature enhancement.
|
| + - Fixed stack overflow when in hashCode() for infinite recursive oneofs.
|
| + - Fixed the lazy field parsing in lite to merge rather than overwrite.
|
| + - TextFormat now supports reporting line/column numbers on errors.
|
| + - Updated to add appropriate @Override for better compiler errors.
|
| +
|
| + Python (Beta)
|
| + * Added JSON format for Any, Struct, Value and ListValue
|
| + * [ ] is now accepted for both repeated scalar fields and repeated message
|
| + fields in text format parser.
|
| + * Numerical field name is now supported in text format.
|
| + * Added DiscardUnknownFields API for python protobuf message.
|
| +
|
| + Objective-C (Beta)
|
| + * Proto comments now come over as HeaderDoc comments in the generated sources
|
| + so Xcode can pick them up and display them.
|
| + * The library headers have been updated to use HeaderDoc comments so Xcode can
|
| + pick them up and display them.
|
| + * The per message and per field overhead in both generated code and runtime
|
| + object sizes was reduced.
|
| + * Generated code now include deprecated annotations when the proto file
|
| + included them.
|
| +
|
| + C# (Beta)
|
| + In general: some changes are breaking, which require regenerating messages.
|
| + Most user-written code will not be impacted *except* for the renaming of enum
|
| + values.
|
| +
|
| + * Allow custom type URL prefixes in `Any` packing, and ignore them when
|
| + unpacking
|
| + * `protoc` is now in a separate NuGet package (Google.Protobuf.Tools)
|
| + * New option: `internal_access` to generate internal classes
|
| + * Enum values are now PascalCased, and if there's a prefix which matches the
|
| + name of the enum, that is removed (so an enum `COLOR` with a value
|
| + `COLOR_BLUE` would generate a value of just `Blue`). An option
|
| + (`legacy_enum_values`) is temporarily available to disable this, but the
|
| + option will be removed for GA.
|
| + * `json_name` option is now honored
|
| + * If group tags are encountered when parsing, they are validated more
|
| + thoroughly (although we don't support actual groups)
|
| + * NuGet dependencies are better specified
|
| + * Breaking: `Preconditions` is renamed to `ProtoPreconditions`
|
| + * Breaking: `GeneratedCodeInfo` is renamed to `GeneratedClrTypeInfo`
|
| + * `JsonFormatter` now allows writing to a `TextWriter`
|
| + * New interface, `ICustomDiagnosticMessage` to allow more compact
|
| + representations from `ToString`
|
| + * `CodedInputStream` and `CodedOutputStream` now implement `IDisposable`,
|
| + which simply disposes of the streams they were constructed with
|
| + * Map fields no longer support null values (in line with other languages)
|
| + * Improvements in JSON formatting and parsing
|
| +
|
| + Javascript (Alpha)
|
| + * Better support for "bytes" fields: bytes fields can be read as either a
|
| + base64 string or UInt8Array (in environments where TypedArray is supported).
|
| + * New support for CommonJS imports. This should make it easier to use the
|
| + JavaScript support in Node.js and tools like WebPack. See js/README.md for
|
| + more information.
|
| + * Some significant internal refactoring to simplify and modularize the code.
|
| +
|
| + Ruby (Alpha)
|
| + * JSON serialization now properly uses camelCased names, with a runtime option
|
| + that will preserve original names from .proto files instead.
|
| + * Well-known types are now included in the distribution.
|
| + * Release now includes binary gems for Windows, Mac, and Linux instead of just
|
| + source gems.
|
| + * Bugfix for serializing oneofs.
|
| +
|
| + C++/Java Lite (Alpha)
|
| + A new "lite" generator parameter was introduced in the protoc for C++ and
|
| + Java for Proto3 syntax messages. Example usage:
|
| +
|
| + ./protoc --cpp_out=lite:$OUTPUT_PATH foo.proto
|
| +
|
| + The protoc will treat the current input and all the transitive dependencies
|
| + as LITE. The same generator parameter must be used to generate the
|
| + dependencies.
|
| +
|
| + In Proto3 syntax files, "optimized_for=LITE_RUNTIME" is no longer supported.
|
| +
|
| +
|
| +2015-12-30 version 3.0.0-beta-2 (C++/Java/Python/Ruby/Nano/Objective-C/C#/JavaScript)
|
| + General
|
| + * Introduced a new language implementation: JavaScript.
|
| * Added a new field option "json_name". By default proto field names are
|
| converted to "lowerCamelCase" in proto3 JSON format. This option can be
|
| used to override this behavior and specify a different JSON name for the
|
| @@ -35,6 +167,10 @@
|
| and a few well-known types except for Any and Struct.
|
| * Added runtime support for Any, Timestamp, Duration and FieldMask.
|
| * [ ] is now accepted for repeated scalar fields in text format parser.
|
| + * Map fields now have proper O(1) performance for lookup/insert/delete
|
| + when using the Python/C++ implementation. They were previously using O(n)
|
| + search-based algorithms because the C++ reflection interface didn't
|
| + support true map operations.
|
|
|
| Objective-C (Beta)
|
| * Various bug-fixes and code tweaks to pass more strict compiler warnings.
|
| @@ -176,7 +312,7 @@
|
| still disable packed serialization by setting packed to false for now.
|
| * Added well-known type protos (any.proto, empty.proto, timestamp.proto,
|
| duration.proto, etc.). Users can import and use these protos just like
|
| - regular proto files. Addtional runtime support will be added for them in
|
| + regular proto files. Additional runtime support will be added for them in
|
| future releases (in the form of utility helper functions, or having them
|
| replaced by language specific types in generated code).
|
| * Added a "reserved" keyword in both proto2 and proto3 syntax. User can use
|
| @@ -218,7 +354,7 @@
|
| https://github.com/jskeet/protobuf-csharp-port. The original project was
|
| frozen and all the new development will happen here.
|
| * Codegen plugin for C# was completely rewritten to C++ and is now an
|
| - intergral part of protoc.
|
| + integral part of protoc.
|
| * Some refactorings and cleanup has been applied to the C# runtime library.
|
| * Only proto2 is supported in C# at the moment, proto3 support is in
|
| progress and will likely bring significant breaking changes to the API.
|
| @@ -382,7 +518,7 @@
|
|
|
| This release (v3.0.0-alpha-1) includes partial proto3 support for C++ and
|
| Java. Items 6 (well-known types) and 7 (JSON format) in the above feature
|
| - list are not impelmented.
|
| + list are not implemented.
|
|
|
| A new notion "syntax" is introduced to specify whether a .proto file
|
| uses proto2 or proto3:
|
| @@ -483,7 +619,7 @@
|
| }
|
| * Files, services, enums, messages, methods and enum values can be marked
|
| as deprecated now.
|
| - * Added Support for list values, including lists of mesaages, when
|
| + * Added Support for list values, including lists of messages, when
|
| parsing text-formatted protos in C++ and Java.
|
| For example: foo: [1, 2, 3]
|
|
|
| @@ -563,7 +699,7 @@
|
|
|
| Python
|
| * Added support for dynamic message creation. DescriptorDatabase,
|
| - DescriptorPool, and MessageFactory work like their C++ couterparts to
|
| + DescriptorPool, and MessageFactory work like their C++ counterparts to
|
| simplify Descriptor construction from *DescriptorProtos, and MessageFactory
|
| provides a message instance from a Descriptor.
|
| * Added pickle support for protobuf messages.
|
| @@ -577,7 +713,7 @@
|
| 2011-05-01 version 2.4.1:
|
|
|
| C++
|
| - * Fixed the frendship problem for old compilers to make the library now gcc 3
|
| + * Fixed the friendship problem for old compilers to make the library now gcc 3
|
| compatible again.
|
| * Fixed vcprojects/extract_includes.bat to extract compiler/plugin.h.
|
|
|
| @@ -844,7 +980,7 @@
|
| * Fixed tendency for TextFormat's parsing to overflow the stack when
|
| parsing large string values. The underlying problem is with Java's
|
| regex implementation (which unfortunately uses recursive backtracking
|
| - rather than building an NFA). Worked around by making use of possesive
|
| + rather than building an NFA). Worked around by making use of possessive
|
| quantifiers.
|
| * Generated service classes now also generate pure interfaces. For a service
|
| Foo, Foo.Interface is a pure interface containing all of the service's
|
| @@ -858,7 +994,7 @@
|
| RPC implementations will have to implement the new interfaces in order to
|
| support blocking mode.
|
| * New I/O methods parseDelimitedFrom(), mergeDelimitedFrom(), and
|
| - writeDelimitedTo() read and write "delemited" messages from/to a stream,
|
| + writeDelimitedTo() read and write "delimited" messages from/to a stream,
|
| meaning that the message size precedes the data. This way, you can write
|
| multiple messages to a stream without having to worry about delimiting
|
| them yourself.
|
|
|