diff --git a/CHANGES.txt b/CHANGES.txt index 889fa0c65a8a..88be607f8db4 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,53 @@ +2022-05-25 version 21.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby) + + C++ + * cmake: Call get_filename_component() with DIRECTORY mode instead of PATH mode (#9614) + * Escape GetObject macro inside protoc-generated code (#9739) + * Update CMake configuration to add a dependency on Abseil (#9793) + * Fix cmake install targets (#9822) + * Use __constinit only in GCC 12.2 and up (#9936) + + Java + * Update protobuf_version.bzl to separate protoc and per-language java … (#9900) + + Python + * Increment python major version to 4 in version.json for python upb (#9926) + * The C extension module for Python has been rewritten to use the upb library. + This is expected to deliver significant performance benefits, especially when + parsing large payloads. There are some minor breaking changes, but these + should not impact most users. For more information see: + https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates + * Fixed win32 build and fixed str(message) on all Windows platforms. (#9976) + * The binary wheel for macOS now supports Apple silicon. + + PHP + * [PHP] fix PHP build system (#9571) + * Fix building packaged PHP extension (#9727) + * fix: reserve "ReadOnly" keyword for PHP 8.1 and add compatibility (#9633) + * fix: phpdoc syntax for repeatedfield parameters (#9784) + * fix: phpdoc for repeatedfield (#9783) + * Change enum string name for reserved words (#9780) + * chore: [PHP] fix phpdoc for MapField keys (#9536) + * Fixed PHP SEGV by not writing to shared memory for zend_class_entry. (#9996) + + Ruby + * Allow pre-compiled binaries for ruby 3.1.0 (#9566) + * Implement `respond_to?` in RubyMessage (#9677) + * [Ruby] Fix RepeatedField#last, #first inconsistencies (#9722) + * Do not use range based UTF-8 validation in truffleruby (#9769) + * Improve range handling logic of `RepeatedField` (#9799) + * Support x64-mingw-ucrt platform + + Other + * [Kotlin] remove redundant public modifiers for compiled code (#9642) + * [C#] Update GetExtension to support getting typed value (#9655) + * Fix invalid dependency manifest when using `descriptor_set_out` (#9647) + * Fix C# generator handling of a field named "none" in a oneof (#9636) + * Add initial version.json file for 21-dev (#9840) + * Remove duplicate java generated code (#9909) + * Cherry-pick PR #9981 into 21.x branch (#10000) + + 2022-05-19 version 21.0-rc2(C++/Java/Python/PHP/Objective-C/C#/Ruby) Python diff --git a/Protobuf-C++.podspec b/Protobuf-C++.podspec index 72a0c70a7815..228cdd2bb36f 100644 --- a/Protobuf-C++.podspec +++ b/Protobuf-C++.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'Protobuf-C++' - s.version = '3.21.0-rc2' + s.version = '3.21.0' s.summary = 'Protocol Buffers v3 runtime library for C++.' s.homepage = 'https://github.com/google/protobuf' s.license = 'BSD-3-Clause' diff --git a/Protobuf.podspec b/Protobuf.podspec index d8cd0ef4b44f..7d67d89b97d7 100644 --- a/Protobuf.podspec +++ b/Protobuf.podspec @@ -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.21.0-rc2' + s.version = '3.21.0' s.summary = 'Protocol Buffers v.3 runtime library for Objective-C.' s.homepage = 'https://github.com/protocolbuffers/protobuf' s.license = 'BSD-3-Clause' diff --git a/configure.ac b/configure.ac index 61246b27bea3..97212cfdd38d 100644 --- a/configure.ac +++ b/configure.ac @@ -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.21.0-rc-2],[protobuf@googlegroups.com],[protobuf]) +AC_INIT([Protocol Buffers],[3.21.0],[protobuf@googlegroups.com],[protobuf]) AM_MAINTAINER_MODE([enable]) diff --git a/csharp/Google.Protobuf.Tools.nuspec b/csharp/Google.Protobuf.Tools.nuspec index 92a860ee81ca..d5cfc6c4cf35 100644 --- a/csharp/Google.Protobuf.Tools.nuspec +++ b/csharp/Google.Protobuf.Tools.nuspec @@ -5,7 +5,7 @@ Google Protocol Buffers tools Tools for Protocol Buffers - Google's data interchange format. See project site for more info. - 3.21.0-rc2 + 3.21.0 Google Inc. protobuf-packages https://github.com/protocolbuffers/protobuf/blob/main/LICENSE diff --git a/csharp/src/Google.Protobuf/Google.Protobuf.csproj b/csharp/src/Google.Protobuf/Google.Protobuf.csproj index d63455132878..08d8f2431fcc 100644 --- a/csharp/src/Google.Protobuf/Google.Protobuf.csproj +++ b/csharp/src/Google.Protobuf/Google.Protobuf.csproj @@ -4,7 +4,7 @@ C# runtime library for Protocol Buffers - Google's data interchange format. Copyright 2015, Google Inc. Google Protocol Buffers - 3.21.0-rc2 + 3.21.0 7.2 Google Inc. diff --git a/java/README.md b/java/README.md index 1fbc624c5348..03f414dbec68 100644 --- a/java/README.md +++ b/java/README.md @@ -23,7 +23,7 @@ If you are using Maven, use the following: com.google.protobuf protobuf-java - 3.21.0-rc-2 + 3.21.0 ``` @@ -37,7 +37,7 @@ protobuf-java-util package: com.google.protobuf protobuf-java-util - 3.21.0-rc-2 + 3.21.0 ``` @@ -45,7 +45,7 @@ protobuf-java-util package: If you are using Gradle, add the following to your `build.gradle` file's dependencies: ``` - implementation 'com.google.protobuf:protobuf-java:3.21.0-rc-2' + implementation 'com.google.protobuf:protobuf-java:3.21.0' ``` Again, be sure to check that the version number matches (or is newer than) the version number of protoc that you are using. diff --git a/java/bom/pom.xml b/java/bom/pom.xml index a770cbb9fec0..12ec2e8c49f8 100644 --- a/java/bom/pom.xml +++ b/java/bom/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-bom - 3.21.0-rc-2 + 3.21.0 pom Protocol Buffers [BOM] diff --git a/java/core/pom.xml b/java/core/pom.xml index bffa2958b402..e363ccd3f010 100644 --- a/java/core/pom.xml +++ b/java/core/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-parent - 3.21.0-rc-2 + 3.21.0 protobuf-java diff --git a/java/kotlin-lite/pom.xml b/java/kotlin-lite/pom.xml index fd3734d36a85..218aa663fb89 100644 --- a/java/kotlin-lite/pom.xml +++ b/java/kotlin-lite/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-parent - 3.21.0-rc-2 + 3.21.0 protobuf-kotlin-lite diff --git a/java/kotlin/pom.xml b/java/kotlin/pom.xml index c9eeb6d79be7..de68cdb87b33 100644 --- a/java/kotlin/pom.xml +++ b/java/kotlin/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-parent - 3.21.0-rc-2 + 3.21.0 protobuf-kotlin diff --git a/java/lite.md b/java/lite.md index 633478b4a119..eb0378df0170 100644 --- a/java/lite.md +++ b/java/lite.md @@ -29,7 +29,7 @@ protobuf Java Lite runtime. If you are using Maven, include the following: com.google.protobuf protobuf-javalite - 3.21.0-rc-2 + 3.21.0 ``` diff --git a/java/lite/pom.xml b/java/lite/pom.xml index c10edfd444e3..18b27b725c27 100644 --- a/java/lite/pom.xml +++ b/java/lite/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-parent - 3.21.0-rc-2 + 3.21.0 protobuf-javalite diff --git a/java/pom.xml b/java/pom.xml index 467c06d0b1f9..e32d53dab1e3 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-parent - 3.21.0-rc-2 + 3.21.0 pom Protocol Buffers [Parent] diff --git a/java/util/pom.xml b/java/util/pom.xml index a12fd2226f7a..f9471c4f69f0 100644 --- a/java/util/pom.xml +++ b/java/util/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-parent - 3.21.0-rc-2 + 3.21.0 protobuf-java-util diff --git a/php/ext/google/protobuf/package.xml b/php/ext/google/protobuf/package.xml index deda5c5b4724..42fc32d0bc6a 100644 --- a/php/ext/google/protobuf/package.xml +++ b/php/ext/google/protobuf/package.xml @@ -10,15 +10,15 @@ protobuf-opensource@google.com yes - 2022-05-19 - + 2022-05-25 + - 3.21.0RC2 + 3.21.0 3.21.0 - beta - beta + stable + stable BSD-3-Clause @@ -1313,5 +1313,20 @@ G A release. + + + 3.21.0 + 3.21.0 + + + stable + stable + + 2022-05-25 + + BSD-3-Clause + + + diff --git a/php/ext/google/protobuf/protobuf.h b/php/ext/google/protobuf/protobuf.h index f95179b05376..6798430271d0 100644 --- a/php/ext/google/protobuf/protobuf.h +++ b/php/ext/google/protobuf/protobuf.h @@ -127,7 +127,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.21.0RC2" +#define PHP_PROTOBUF_VERSION "3.21.0" // ptr -> PHP object cache. This is a weak map that caches lazily-created // wrapper objects around upb types: diff --git a/protobuf_version.bzl b/protobuf_version.bzl index 5725bdd6c325..fa4c91af6883 100644 --- a/protobuf_version.bzl +++ b/protobuf_version.bzl @@ -1,3 +1,3 @@ -PROTOC_VERSION = '21.0-rc-2' -PROTOBUF_JAVA_VERSION = '3.21.0-rc-2' -PROTOBUF_PYTHON_VERSION = '4.21.0-rc-2' +PROTOC_VERSION = '21.0' +PROTOBUF_JAVA_VERSION = '3.21.0' +PROTOBUF_PYTHON_VERSION = '4.21.0' diff --git a/protoc-artifacts/pom.xml b/protoc-artifacts/pom.xml index 80451f9716b8..1c1b851e8e96 100644 --- a/protoc-artifacts/pom.xml +++ b/protoc-artifacts/pom.xml @@ -8,7 +8,7 @@ com.google.protobuf protoc - 3.21.0-rc-2 + 3.21.0 pom Protobuf Compiler diff --git a/python/google/protobuf/__init__.py b/python/google/protobuf/__init__.py index bd2faa4e5abe..94ad865b09c6 100644 --- a/python/google/protobuf/__init__.py +++ b/python/google/protobuf/__init__.py @@ -30,4 +30,4 @@ # Copyright 2007 Google Inc. All Rights Reserved. -__version__ = '4.21.0rc2' +__version__ = '4.21.0' diff --git a/ruby/google-protobuf.gemspec b/ruby/google-protobuf.gemspec index f86cda7656dd..2e25d13f8ab8 100644 --- a/ruby/google-protobuf.gemspec +++ b/ruby/google-protobuf.gemspec @@ -1,6 +1,6 @@ Gem::Specification.new do |s| s.name = "google-protobuf" - s.version = "3.21.0.rc.2" + s.version = "3.21.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" diff --git a/ruby/pom.xml b/ruby/pom.xml index 0514dbe6e634..8adf9b0d6059 100644 --- a/ruby/pom.xml +++ b/ruby/pom.xml @@ -9,7 +9,7 @@ com.google.protobuf.jruby protobuf-jruby - 3.21.0-rc-2 + 3.21.0 Protocol Buffer JRuby native extension Protocol Buffers are a way of encoding structured data in an efficient yet @@ -76,7 +76,7 @@ com.google.protobuf protobuf-java-util - 3.21.0-rc-2 + 3.21.0 org.jruby diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc index 78b97e6cca49..4af6aa3c874e 100644 --- a/src/google/protobuf/port_def.inc +++ b/src/google/protobuf/port_def.inc @@ -193,7 +193,7 @@ #ifdef PROTOBUF_VERSION_SUFFIX #error PROTOBUF_VERSION_SUFFIX was previously defined #endif -#define PROTOBUF_VERSION_SUFFIX "-rc2" +#define PROTOBUF_VERSION_SUFFIX "" #if defined(PROTOBUF_NAMESPACE) || defined(PROTOBUF_NAMESPACE_ID) #error PROTOBUF_NAMESPACE or PROTOBUF_NAMESPACE_ID was previously defined diff --git a/src/google/protobuf/stubs/common.h b/src/google/protobuf/stubs/common.h index 36a4b08e4193..10e9c61197c2 100644 --- a/src/google/protobuf/stubs/common.h +++ b/src/google/protobuf/stubs/common.h @@ -85,7 +85,7 @@ namespace internal { #define GOOGLE_PROTOBUF_VERSION 3021000 // A suffix string for alpha, beta or rc releases. Empty for stable releases. -#define GOOGLE_PROTOBUF_VERSION_SUFFIX "-rc2" +#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 diff --git a/version.json b/version.json index 7c47bbc5b11d..7956799ee72a 100644 --- a/version.json +++ b/version.json @@ -1,17 +1,17 @@ { "21.x": { - "protoc_version": "21.0-dev", + "protoc_version": "21.0", "lts": false, - "date": "2022-05-20", + "date": "2022-05-25", "languages": { - "cpp": "3.21.0-dev", - "csharp": "3.21.0-dev", - "java": "3.21.0-dev", - "javascript": "3.21.0-dev", - "objectivec": "3.21.0-dev", - "php": "3.21.0-dev", - "python": "4.21.0-dev", - "ruby": "3.21.0-dev" + "cpp": "3.21.0", + "csharp": "3.21.0", + "java": "3.21.0", + "javascript": "3.21.0", + "objectivec": "3.21.0", + "php": "3.21.0", + "python": "4.21.0", + "ruby": "3.21.0" } } } \ No newline at end of file