Update version number and changelog for 3.3.0
This commit is contained in:
parent
bd74319107
commit
80f0c0ac40
108
CHANGES.txt
108
CHANGES.txt
@ -1,3 +1,111 @@
|
||||
2017-04-05 version 3.3.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
|
||||
Planned Future Changes
|
||||
* There are some changes that are not included in this release but are
|
||||
planned for the near future:
|
||||
- Preserve unknown fields in proto3: please read this doc:
|
||||
|
||||
https://docs.google.com/document/d/1KMRX-G91Aa-Y2FkEaHeeviLRRNblgIahbsk4wA14gRk/view
|
||||
|
||||
for the timeline and follow up this github issue:
|
||||
|
||||
https://github.com/google/protobuf/issues/272
|
||||
|
||||
for discussion.
|
||||
- Make C++ implementation C++11 only: we plan to require C++11 to build
|
||||
protobuf code starting from 3.4.0 or 3.5.0 release. Please join this
|
||||
github issue:
|
||||
|
||||
https://github.com/google/protobuf/issues/2780
|
||||
|
||||
to provide your feedback.
|
||||
|
||||
C++
|
||||
* Fixed map fields serialization of DynamicMessage to correctly serialize
|
||||
both key and value regardless of their presence.
|
||||
* Parser now rejects field number 0 correctly.
|
||||
* New API Message::SpaceUsedLong() that’s equivalent to
|
||||
Message::SpaceUsed() but returns the value in size_t.
|
||||
* JSON support
|
||||
- New flag always_print_enums_as_ints in JsonPrintOptions.
|
||||
- New flag preserve_proto_field_names in JsonPrintOptions. It will instruct
|
||||
the JSON printer to use the original field name declared in the .proto
|
||||
file instead of converting them to lowerCamelCase when printing JSON.
|
||||
- JsonPrintOptions.always_print_primtive_fields now works for oneof message
|
||||
fields.
|
||||
- Fixed a bug that doesn’t allow different fields to set the same json_name
|
||||
value.
|
||||
- Fixed a performance bug that causes excessive memory copy when printing
|
||||
large messages.
|
||||
* Various performance optimizations.
|
||||
|
||||
Java
|
||||
* Map field setters eagerly validate inputs and throw NullPointerExceptions
|
||||
as appropriate.
|
||||
* Added ByteBuffer overloads to the generated parsing methods and the Parser
|
||||
interface.
|
||||
* proto3 enum's getNumber() method now throws on UNRECOGNIZED values.
|
||||
* Output of JsonFormat is now locale independent.
|
||||
|
||||
Python
|
||||
* Added FindServiceByName() in the pure-Python DescriptorPool. This works only
|
||||
for descriptors added with DescriptorPool.Add(). Generated descriptor_pool
|
||||
does not support this yet.
|
||||
* Added a descriptor_pool parameter for parsing Any in text_format.Parse().
|
||||
* descriptor_pool.FindFileContainingSymbol() now is able to find nested
|
||||
extensions.
|
||||
* Extending empty [] to repeated field now sets parent message presence.
|
||||
|
||||
PHP
|
||||
* Added file option php_class_prefix. The prefix will be prepended to all
|
||||
generated classes defined in the file.
|
||||
* When encoding, negative int32 values are sign-extended to int64.
|
||||
* Repeated/Map field setter accepts a regular PHP array. Type checking is
|
||||
done on the array elements.
|
||||
* encode/decode are renamed to serializeToString/mergeFromString.
|
||||
* Added mergeFrom, clear method on Message.
|
||||
* Fixed a bug that oneof accessor didn’t return the field name that is
|
||||
actually set.
|
||||
* C extension now works with php7.
|
||||
* This is the first GA release of PHP. We guarantee that old generated code
|
||||
can always work with new runtime and new generated code.
|
||||
|
||||
Objective-C
|
||||
* Fixed help for GPBTimestamp for dates before the epoch that contain
|
||||
fractional seconds.
|
||||
* Added GPBMessageDropUnknownFieldsRecursively() to remove unknowns from a
|
||||
message and any sub messages.
|
||||
* Addressed a threading race in extension registration/lookup.
|
||||
* Increased the max message parsing depth to 100 to match the other languages.
|
||||
* Removed some use of dispatch_once in favor of atomic compare/set since it
|
||||
needs to be heap based.
|
||||
* Fixes for new Xcode 8.3 warnings.
|
||||
|
||||
C#
|
||||
* Fixed MapField.Values.CopyTo, which would throw an exception unnecessarily
|
||||
if provided exactly the right size of array to copy to.
|
||||
* Fixed enum JSON formatting when multiple names mapped to the same numeric
|
||||
value.
|
||||
* Added JSON formatting option to format enums as integers.
|
||||
* Modified RepeatedField<T> to implement IReadOnlyList<T>.
|
||||
* Introduced the start of custom option handling; it's not as pleasant as it
|
||||
might be, but the information is at least present. We expect to extend code
|
||||
generation to improve this in the future.
|
||||
* Introduced ByteString.FromStream and ByteString.FromStreamAsync to
|
||||
efficiently create a ByteString from a stream.
|
||||
* Added whole-message deprecation, which decorates the class with [Obsolete].
|
||||
|
||||
Ruby
|
||||
* Fixed Message#to_h for messages with map fields.
|
||||
* Fixed memcpy() in binary gems to work for old glibc, without breaking the
|
||||
build for non-glibc libc’s like musl.
|
||||
|
||||
Javascript
|
||||
* Added compatibility tests for version 3.0.0.
|
||||
* Added conformance tests.
|
||||
* Fixed serialization of extensions: we need to emit a value even if it is
|
||||
falsy (like the number 0).
|
||||
* Use closurebuilder.py in favor of calcdeps.py for compiling JavaScript.
|
||||
|
||||
2017-01-23 version 3.2.0 (C++/Java/Python/PHP/Ruby/Objective-C/C#/JavaScript/Lite)
|
||||
General
|
||||
* Added protoc version number to protoc plugin protocol. It can be used by
|
||||
|
@ -5,7 +5,7 @@
|
||||
# dependent projects use the :git notation to refer to the library.
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'Protobuf'
|
||||
s.version = '3.2.0'
|
||||
s.version = '3.3.0'
|
||||
s.summary = 'Protocol Buffers v.3 runtime library for Objective-C.'
|
||||
s.homepage = 'https://github.com/google/protobuf'
|
||||
s.license = '3-Clause BSD License'
|
||||
|
@ -17,7 +17,7 @@ AC_PREREQ(2.59)
|
||||
# In the SVN trunk, the version should always be the next anticipated release
|
||||
# version with the "-pre" suffix. (We used to use "-SNAPSHOT" but this pushed
|
||||
# the size of one file name in the dist tarfile over the 99-char limit.)
|
||||
AC_INIT([Protocol Buffers],[3.2.0],[protobuf@googlegroups.com],[protobuf])
|
||||
AC_INIT([Protocol Buffers],[3.3.0],[protobuf@googlegroups.com],[protobuf])
|
||||
|
||||
AM_MAINTAINER_MODE([enable])
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
<title>Google Protocol Buffers tools</title>
|
||||
<summary>Tools for Protocol Buffers - Google's data interchange format.</summary>
|
||||
<description>See project site for more info.</description>
|
||||
<version>3.2.0</version>
|
||||
<version>3.3.0</version>
|
||||
<authors>Google Inc.</authors>
|
||||
<owners>protobuf-packages</owners>
|
||||
<licenseUrl>https://github.com/google/protobuf/blob/master/LICENSE</licenseUrl>
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": "3.2.0",
|
||||
"version": "3.3.0",
|
||||
"title": "Google Protocol Buffers",
|
||||
"description": "See project site for more info.",
|
||||
"authors": [ "Google Inc." ],
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "google-protobuf",
|
||||
"version": "3.2.0",
|
||||
"version": "3.3.0",
|
||||
"description": "Protocol Buffers for JavaScript",
|
||||
"main": "google-protobuf.js",
|
||||
"files": [
|
||||
|
@ -10,7 +10,7 @@
|
||||
</parent>
|
||||
<groupId>com.google.protobuf</groupId>
|
||||
<artifactId>protoc</artifactId>
|
||||
<version>3.2.0</version>
|
||||
<version>3.3.0</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>Protobuf Compiler</name>
|
||||
<description>
|
||||
|
@ -30,7 +30,7 @@
|
||||
|
||||
# Copyright 2007 Google Inc. All Rights Reserved.
|
||||
|
||||
__version__ = '3.2.0'
|
||||
__version__ = '3.3.0'
|
||||
|
||||
if __name__ != '__main__':
|
||||
try:
|
||||
|
@ -1,6 +1,6 @@
|
||||
Gem::Specification.new do |s|
|
||||
s.name = "google-protobuf"
|
||||
s.version = "3.2.0.1"
|
||||
s.version = "3.3.0"
|
||||
s.licenses = ["BSD-3-Clause"]
|
||||
s.summary = "Protocol Buffers"
|
||||
s.description = "Protocol Buffers are Google's data interchange format."
|
||||
|
@ -184,7 +184,7 @@ nobase_include_HEADERS = \
|
||||
lib_LTLIBRARIES = libprotobuf-lite.la libprotobuf.la libprotoc.la
|
||||
|
||||
libprotobuf_lite_la_LIBADD = $(PTHREAD_LIBS)
|
||||
libprotobuf_lite_la_LDFLAGS = -version-info 12:0:0 -export-dynamic -no-undefined
|
||||
libprotobuf_lite_la_LDFLAGS = -version-info 13:0:0 -export-dynamic -no-undefined
|
||||
if HAVE_LD_VERSION_SCRIPT
|
||||
libprotobuf_lite_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotobuf-lite.map
|
||||
EXTRA_libprotobuf_lite_la_DEPENDENCIES = libprotobuf-lite.map
|
||||
@ -229,7 +229,7 @@ libprotobuf_lite_la_SOURCES = \
|
||||
google/protobuf/io/zero_copy_stream_impl_lite.cc
|
||||
|
||||
libprotobuf_la_LIBADD = $(PTHREAD_LIBS)
|
||||
libprotobuf_la_LDFLAGS = -version-info 12:0:0 -export-dynamic -no-undefined
|
||||
libprotobuf_la_LDFLAGS = -version-info 13:0:0 -export-dynamic -no-undefined
|
||||
if HAVE_LD_VERSION_SCRIPT
|
||||
libprotobuf_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotobuf.map
|
||||
EXTRA_libprotobuf_la_DEPENDENCIES = libprotobuf.map
|
||||
@ -318,7 +318,7 @@ libprotobuf_la_SOURCES = \
|
||||
nodist_libprotobuf_la_SOURCES = $(nodist_libprotobuf_lite_la_SOURCES)
|
||||
|
||||
libprotoc_la_LIBADD = $(PTHREAD_LIBS) libprotobuf.la
|
||||
libprotoc_la_LDFLAGS = -version-info 12:0:0 -export-dynamic -no-undefined
|
||||
libprotoc_la_LDFLAGS = -version-info 13:0:0 -export-dynamic -no-undefined
|
||||
if HAVE_LD_VERSION_SCRIPT
|
||||
libprotoc_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotoc.map
|
||||
EXTRA_libprotoc_la_DEPENDENCIES = libprotoc.map
|
||||
|
@ -96,27 +96,27 @@ namespace internal {
|
||||
|
||||
// The current version, represented as a single integer to make comparison
|
||||
// easier: major * 10^6 + minor * 10^3 + micro
|
||||
#define GOOGLE_PROTOBUF_VERSION 3002000
|
||||
#define GOOGLE_PROTOBUF_VERSION 3003000
|
||||
|
||||
// A suffix string for alpha, beta or rc releases. Empty for stable releases.
|
||||
#define GOOGLE_PROTOBUF_VERSION_SUFFIX ""
|
||||
|
||||
// The minimum library version which works with the current version of the
|
||||
// headers.
|
||||
#define GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION 3002000
|
||||
#define GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION 3003000
|
||||
|
||||
// The minimum header version which works with the current version of
|
||||
// the library. This constant should only be used by protoc's C++ code
|
||||
// generator.
|
||||
static const int kMinHeaderVersionForLibrary = 3002000;
|
||||
static const int kMinHeaderVersionForLibrary = 3003000;
|
||||
|
||||
// The minimum protoc version which works with the current version of the
|
||||
// headers.
|
||||
#define GOOGLE_PROTOBUF_MIN_PROTOC_VERSION 3002000
|
||||
#define GOOGLE_PROTOBUF_MIN_PROTOC_VERSION 3003000
|
||||
|
||||
// The minimum header version which works with the current version of
|
||||
// protoc. This constant should only be used in VerifyVersion().
|
||||
static const int kMinHeaderVersionForProtoc = 3002000;
|
||||
static const int kMinHeaderVersionForProtoc = 3003000;
|
||||
|
||||
// Verifies that the headers and libraries are compatible. Use the macro
|
||||
// below to call this.
|
||||
|
Loading…
Reference in New Issue
Block a user