Merge pull request #8603 from acozzette/merge-3.17.x

Merge 3.17.x into master
pull/8615/head
Adam Cozzette 4 years ago committed by GitHub
commit 7bbfd14b7f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      .gitignore
  2. 20
      CHANGES.txt
  3. 2
      Protobuf-C++.podspec
  4. 2
      Protobuf.podspec
  5. 2
      configure.ac
  6. 2
      csharp/Google.Protobuf.Tools.nuspec
  7. 2
      csharp/src/Google.Protobuf/Google.Protobuf.csproj
  8. 2
      java/bom/pom.xml
  9. 2
      java/core/pom.xml
  10. 2
      java/kotlin-lite/pom.xml
  11. 2
      java/kotlin/pom.xml
  12. 2
      java/lite/pom.xml
  13. 4
      java/pom.xml
  14. 2
      java/util/pom.xml
  15. 2
      js/package.json
  16. 4
      kokoro/linux/dist_install/build.sh
  17. 13
      kokoro/linux/dockerfile/test/java_stretch/Dockerfile
  18. 44
      php/ext/google/protobuf/package.xml
  19. 2
      php/ext/google/protobuf/protobuf.h
  20. 2
      protoc-artifacts/pom.xml
  21. 2
      python/google/protobuf/__init__.py
  22. 2
      ruby/google-protobuf.gemspec
  23. 2
      src/google/protobuf/arena.h
  24. 7
      src/google/protobuf/compiler/java/java_helpers.h
  25. 2
      src/google/protobuf/port_def.inc
  26. 2
      src/google/protobuf/stubs/common.h
  27. 10
      tests.sh
  28. 10
      update_version.py

5
.gitignore vendored

@ -82,10 +82,7 @@ src/**/*.log
src/**/*.trs
# JavaBuild output.
java/core/target
java/lite/target
java/util/target
javanano/target
java/**/target
java/.idea
java/**/*.iml

@ -1,9 +1,12 @@
Unreleased Changes (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
2021-05-07 version 3.17.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
Protocol Compiler
* Fix the generated source information for reserved values in Enums.
C++
* Fix -Wunused-parameter in map<string, int> fields (fixes #8494) (#8500)
* Use byteswap.h when building against musl libc (#8503)
* Fix -Wundefined-inline error when using SharedCtor() or SharedDtor() (#8532)
* Fix bug where `Descriptor::DebugString()` printed proto3 synthetic oneofs.
* Provide stable versions of `SortAndUnique()`.
* Make sure to cache proto3 optional message fields when they are cleared.
@ -14,6 +17,7 @@ Unreleased Changes (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
* Restrict extension setter and getter operators to non-nullable T.
Java
* updating GSON and Guava to more recent versions (#8524)
* Reduce the time spent evaluating isExtensionNumber by storing the extension
ranges in a TreeMap for faster queries. This is particularly relevant for
protos which define a large number of extension ranges, for example when
@ -22,14 +26,28 @@ Unreleased Changes (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
* Optimize Descriptor.isExtensionNumber.
Python
* Add MethodDescriptor.CopyToProto() (#8327)
* Remove unused python_protobuf.{cc,h} (#8513)
* Start publishing python aarch64 manylinux wheels normally (#8530)
* Fix constness issue detected by MSVC standard conforming mode (#8568)
* Make JSON parsing match C++ and Java when multiple fields from the same
oneof are present and all but one is null.
Ruby
* Add support for proto3 json_name in compiler and field definitions (#8356)
* Fixed memory leak of Ruby arena objects. (#8461)
* Fix source gem compilation (#8471)
* Fix various exceptions in Ruby on 64-bit Windows (#8563)
* Fix crash when calculating Message hash values on 64-bit Windows (#8565)
Conformance Tests
* Added a conformance test for the case of multiple fields from the same
oneof.
2021-04-06 version 3.16.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
Other
* Opensourcing kotlin protos (#8272)
* Use a newer version of rules_proto, with the new rule `proto_descriptor_set` (#8469)
C++
* Fix compiler warnings issue found in conformance_test_runner #8189 (#8190)

@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'Protobuf-C++'
s.version = '3.17.0-rc1'
s.version = '3.17.0'
s.summary = 'Protocol Buffers v3 runtime library for C++.'
s.homepage = 'https://github.com/google/protobuf'
s.license = '3-Clause BSD License'

@ -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.17.0-rc1'
s.version = '3.17.0'
s.summary = 'Protocol Buffers v.3 runtime library for Objective-C.'
s.homepage = 'https://github.com/protocolbuffers/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.17.0-rc-1],[protobuf@googlegroups.com],[protobuf])
AC_INIT([Protocol Buffers],[3.17.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.17.0-rc1</version>
<version>3.17.0</version>
<authors>Google Inc.</authors>
<owners>protobuf-packages</owners>
<licenseUrl>https://github.com/protocolbuffers/protobuf/blob/master/LICENSE</licenseUrl>

@ -4,7 +4,7 @@
<Description>C# runtime library for Protocol Buffers - Google's data interchange format.</Description>
<Copyright>Copyright 2015, Google Inc.</Copyright>
<AssemblyTitle>Google Protocol Buffers</AssemblyTitle>
<VersionPrefix>3.17.0-rc1</VersionPrefix>
<VersionPrefix>3.17.0</VersionPrefix>
<!-- C# 7.2 is required for Span/BufferWriter/ReadOnlySequence -->
<LangVersion>7.2</LangVersion>
<Authors>Google Inc.</Authors>

@ -4,7 +4,7 @@
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-bom</artifactId>
<version>3.17.0-rc-1</version>
<version>3.17.0</version>
<packaging>pom</packaging>
<name>Protocol Buffers [BOM]</name>

@ -4,7 +4,7 @@
<parent>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-parent</artifactId>
<version>3.17.0-rc-1</version>
<version>3.17.0</version>
</parent>
<artifactId>protobuf-java</artifactId>

@ -4,7 +4,7 @@
<parent>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-parent</artifactId>
<version>3.15.6</version>
<version>3.17.0</version>
</parent>
<artifactId>protobuf-kotlin-lite</artifactId>

@ -4,7 +4,7 @@
<parent>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-parent</artifactId>
<version>3.15.6</version>
<version>3.17.0</version>
</parent>
<artifactId>protobuf-kotlin</artifactId>

@ -4,7 +4,7 @@
<parent>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-parent</artifactId>
<version>3.17.0-rc-1</version>
<version>3.17.0</version>
</parent>
<artifactId>protobuf-javalite</artifactId>

@ -4,7 +4,7 @@
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-parent</artifactId>
<version>3.17.0-rc-1</version>
<version>3.17.0</version>
<packaging>pom</packaging>
<name>Protocol Buffers [Parent]</name>
@ -238,6 +238,8 @@
<module>lite</module>
<module>core</module>
<module>util</module>
<module>kotlin</module>
<module>kotlin-lite</module>
</modules>
</project>

@ -4,7 +4,7 @@
<parent>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-parent</artifactId>
<version>3.17.0-rc-1</version>
<version>3.17.0</version>
</parent>
<artifactId>protobuf-java-util</artifactId>

@ -1,6 +1,6 @@
{
"name": "google-protobuf",
"version": "3.17.0-rc.1",
"version": "3.17.0",
"description": "Protocol Buffers for JavaScript",
"main": "google-protobuf.js",
"files": [

@ -7,8 +7,8 @@ set -ex # exit immediately on error
# Change to repo root
cd $(dirname $0)/../../..
# Run tests under release docker image.
export DOCKERFILE_DIR=kokoro/linux/64-bit
export DOCKERHUB_ORGANIZATION=protobuftesting
export DOCKERFILE_DIR=kokoro/linux/dockerfile/test/java_stretch
export DOCKER_RUN_SCRIPT=kokoro/linux/pull_request_in_docker.sh
export OUTPUT_DIR=testoutput
export TEST_SET="dist_install"

@ -1,6 +1,6 @@
FROM debian:stretch
# Install dependencies. We start with the basic ones require to build protoc
# Install dependencies. We start with the basic ones required to build protoc
# and the C++ build
RUN apt-get update && apt-get install -y \
autoconf \
@ -20,12 +20,11 @@ RUN apt-get update && apt-get install -y \
parallel \
time \
wget \
&& apt-get clean
# Java dependencies
RUN apt-get install -y \
# -- For all Java builds -- \
# Java dependencies
maven \
# -- For java_linkage_monitor \
openjdk-8-jdk \
# Python dependencies
python-setuptools \
python-pip \
virtualenv \
&& apt-get clean

@ -10,21 +10,19 @@
<email>protobuf-opensource@google.com</email>
<active>yes</active>
</lead>
<date>2021-05-06</date>
<time>11:08:58</time>
<date>2021-05-11</date>
<time>13:29:14</time>
<version>
<release>3.17.0RC1</release>
<release>3.17.0</release>
<api>3.17.0</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="https://opensource.org/licenses/BSD-3-Clause">3-Clause BSD License</license>
<notes>
* read_property() handler is not supposed to return NULL (#8362)
* Changed parameter type from long to integer (#7613)
* fix: README supported PHP version for C extension (#8236)
No new changes in 3.17.0
</notes>
<contents>
<dir baseinstalldir="/" name="/">
@ -964,5 +962,35 @@ G A release.
<notes>
</notes>
</release>
<release>
<version>
<release>3.17.0RC2</release>
<api>3.17.0</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2021-05-07</date>
<time>15:58:19</time>
<license uri="https://opensource.org/licenses/BSD-3-Clause">3-Clause BSD License</license>
<notes>
</notes>
</release>
<release>
<version>
<release>3.17.0</release>
<api>3.17.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2021-05-11</date>
<time>13:29:14</time>
<license uri="https://opensource.org/licenses/BSD-3-Clause">3-Clause BSD License</license>
<notes>
</notes>
</release>
</changelog>
</package>

@ -76,7 +76,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_setter, 0, 0, 1)
ZEND_ARG_INFO(0, value)
ZEND_END_ARG_INFO()
#define PHP_PROTOBUF_VERSION "3.17.0RC1"
#define PHP_PROTOBUF_VERSION "3.17.0"
// ptr -> PHP object cache. This is a weak map that caches lazily-created
// wrapper objects around upb types:

@ -8,7 +8,7 @@
</parent>
<groupId>com.google.protobuf</groupId>
<artifactId>protoc</artifactId>
<version>3.17.0-rc-1</version>
<version>3.17.0</version>
<packaging>pom</packaging>
<name>Protobuf Compiler</name>
<description>

@ -30,4 +30,4 @@
# Copyright 2007 Google Inc. All Rights Reserved.
__version__ = '3.17.0rc1'
__version__ = '3.17.0'

@ -1,6 +1,6 @@
Gem::Specification.new do |s|
s.name = "google-protobuf"
s.version = "3.17.0.rc.1"
s.version = "3.17.0"
git_tag = "v#{s.version.to_s.sub('.rc.', '-rc')}" # Converts X.Y.Z.rc.N to vX.Y.Z-rcN, used for the git tag
s.licenses = ["BSD-3-Clause"]
s.summary = "Protocol Buffers"

@ -709,7 +709,7 @@ class PROTOBUF_EXPORT PROTOBUF_ALIGNAS(8) Arena final {
}
template <typename T>
PROTOBUF_ALWAYS_INLINE static Arena* GetOwningArenaInternal(
const T* value, std::false_type) {
const T* /* value */, std::false_type) {
return nullptr;
}

@ -155,6 +155,7 @@ std::string GetOneofStoredType(const FieldDescriptor* field);
// Whether we should generate multiple java files for messages.
inline bool MultipleJavaFiles(const FileDescriptor* descriptor,
bool immutable) {
(void) immutable;
return descriptor->options().java_multiple_files();
}
@ -244,15 +245,15 @@ bool IsDefaultValueJavaDefault(const FieldDescriptor* field);
bool IsByteStringWithCustomDefaultValue(const FieldDescriptor* field);
// Does this message class have descriptor and reflection methods?
inline bool HasDescriptorMethods(const Descriptor* descriptor,
inline bool HasDescriptorMethods(const Descriptor* /* descriptor */,
bool enforce_lite) {
return !enforce_lite;
}
inline bool HasDescriptorMethods(const EnumDescriptor* descriptor,
inline bool HasDescriptorMethods(const EnumDescriptor* /* descriptor */,
bool enforce_lite) {
return !enforce_lite;
}
inline bool HasDescriptorMethods(const FileDescriptor* descriptor,
inline bool HasDescriptorMethods(const FileDescriptor* /* descriptor */,
bool enforce_lite) {
return !enforce_lite;
}

@ -122,7 +122,7 @@
#ifdef PROTOBUF_VERSION_SUFFIX
#error PROTOBUF_VERSION_SUFFIX was previously defined
#endif
#define PROTOBUF_VERSION_SUFFIX "-rc1"
#define PROTOBUF_VERSION_SUFFIX ""
#if defined(PROTOBUF_NAMESPACE) || defined(PROTOBUF_NAMESPACE_ID)
#error PROTOBUF_NAMESPACE or PROTOBUF_NAMESPACE_ID was previously defined

@ -85,7 +85,7 @@ namespace internal {
#define GOOGLE_PROTOBUF_VERSION 3017000
// A suffix string for alpha, beta or rc releases. Empty for stable releases.
#define GOOGLE_PROTOBUF_VERSION_SUFFIX "-rc1"
#define GOOGLE_PROTOBUF_VERSION_SUFFIX ""
// The minimum header version which works with the current version of
// the library. This constant should only be used by protoc's C++ code

@ -104,7 +104,7 @@ build_dist_install() {
# Try to install Java
pushd java
use_java jdk7
use_java jdk8
$MVN install
popd
@ -208,7 +208,13 @@ build_java() {
# Java build needs `protoc`.
internal_build_cpp
cp -r java $dir
cd $dir && $MVN clean && $MVN test
cd $dir && $MVN clean
# Skip the Kotlin tests on Oracle 7
if [ "$version" == "oracle7" ]; then
$MVN test -pl bom,lite,core,util
else
$MVN test
fi
cd ../..
}

@ -228,6 +228,16 @@ def UpdateJava():
Find(Find(document.documentElement, 'parent'), 'version'),
GetFullVersion()))
RewriteXml('java/kotlin/pom.xml',
lambda document : ReplaceText(
Find(Find(document.documentElement, 'parent'), 'version'),
GetFullVersion()))
RewriteXml('java/kotlin-lite/pom.xml',
lambda document : ReplaceText(
Find(Find(document.documentElement, 'parent'), 'version'),
GetFullVersion()))
RewriteXml('protoc-artifacts/pom.xml',
lambda document : ReplaceText(
Find(document.documentElement, 'version'), GetFullVersion()))

Loading…
Cancel
Save