diff --git a/.bazelignore b/.bazelignore
index b92bad0bf..5c3a81cce 100644
--- a/.bazelignore
+++ b/.bazelignore
@@ -1,5 +1,4 @@
# These are fetched as external repositories.
-third_party/abseil-cpp
third_party/benchmark
third_party/googletest
_build/
diff --git a/.gitmodules b/.gitmodules
index a287f070e..bcd125a49 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -5,7 +5,3 @@
path = third_party/googletest
url = https://github.com/google/googletest.git
ignore = dirty
-[submodule "third_party/abseil-cpp"]
- path = third_party/abseil-cpp
- url = https://github.com/abseil/abseil-cpp.git
- branch = lts_2021_11_02
diff --git a/BUILD.bazel b/BUILD.bazel
index d22889cb0..35f317c29 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -5,8 +5,20 @@ load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_proto_library", "c
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
load("@rules_proto//proto:defs.bzl", "proto_lang_toolchain", "proto_library")
load("@rules_java//java:defs.bzl", "java_binary", "java_lite_proto_library", "java_proto_library")
+<<<<<<< HEAD
load("//build_defs:cpp_opts.bzl", "COPTS", "LINK_OPTS")
load(":protobuf.bzl", "py_proto_library")
+=======
+load("//build_defs:cpp_opts.bzl", "COPTS", "LINK_OPTS", "PROTOC_LINK_OPTS")
+load(
+ ":protobuf.bzl",
+ "adapt_proto_library",
+ "cc_proto_library",
+ "internal_copied_filegroup",
+ "internal_protobuf_py_tests",
+ "py_proto_library",
+)
+>>>>>>> upstream/21.x
licenses(["notice"])
@@ -151,7 +163,12 @@ filegroup(
cc_binary(
name = "protoc",
+<<<<<<< HEAD
linkopts = LINK_OPTS,
+=======
+ srcs = ["src/google/protobuf/compiler/main.cc"],
+ linkopts = LINK_OPTS + PROTOC_LINK_OPTS,
+>>>>>>> upstream/21.x
visibility = ["//visibility:public"],
deps = ["//src/google/protobuf/compiler:protoc_lib"],
)
diff --git a/CHANGES.txt b/CHANGES.txt
index 7571a8d24..0ebbe6158 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,63 @@
+2022-05-27 version 21.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
+
+ C++
+ * cmake: Revert "Fix cmake install targets (#9822)" (#10060)
+ * Remove Abseil dependency from CMake build (#10056)
+
+ Python
+ * Update python wheel metadata with more information incl. required python version (#10058)
+ * Fix segmentation fault when instantiating field via repeated field assignment (#10066)
+
+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/CMakeLists.txt b/CMakeLists.txt
index dd8977843..04cb3303a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -162,15 +162,6 @@ file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/cmaketest.map)
find_package(Threads REQUIRED)
-# We can install dependencies from submodules if we're running
-# CMake v3.13 or newer.
-if(CMAKE_VERSION VERSION_LESS 3.13)
- set(_protobuf_INSTALL_SUPPORTED_FROM_MODULE OFF)
-else()
- set(_protobuf_INSTALL_SUPPORTED_FROM_MODULE ON)
-endif()
-
-
set(_protobuf_FIND_ZLIB)
if (protobuf_WITH_ZLIB)
find_package(ZLIB)
@@ -313,10 +304,6 @@ if (protobuf_UNICODE)
add_definitions(-DUNICODE -D_UNICODE)
endif (protobuf_UNICODE)
-set(protobuf_ABSL_PROVIDER "module" CACHE STRING "Provider of absl library")
-set_property(CACHE protobuf_ABSL_PROVIDER PROPERTY STRINGS "module" "package")
-
-include(${protobuf_SOURCE_DIR}/cmake/abseil-cpp.cmake)
include(${protobuf_SOURCE_DIR}/cmake/libprotobuf-lite.cmake)
include(${protobuf_SOURCE_DIR}/cmake/libprotobuf.cmake)
if (protobuf_BUILD_LIBPROTOC)
diff --git a/Makefile.am b/Makefile.am
index 7f064294b..9491780a4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1214,7 +1214,6 @@ EXTRA_DIST = $(@DIST_LANG@_EXTRA_DIST) \
build_files_updated_unittest.sh \
cmake/CMakeLists.txt \
cmake/README.md \
- cmake/abseil-cpp.cmake \
cmake/conformance.cmake \
cmake/examples.cmake \
cmake/extract_includes.bat.in \
diff --git a/Protobuf-C++.podspec b/Protobuf-C++.podspec
index 841596da2..68571e14b 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-rc1'
+ s.version = '3.21.1'
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 37d7fc9a9..7adba30f2 100644
--- a/Protobuf.podspec
+++ b/Protobuf.podspec
@@ -5,7 +5,11 @@
# dependent projects use the :git notation to refer to the library.
Pod::Spec.new do |s|
s.name = 'Protobuf'
+<<<<<<< HEAD
s.version = '3.21.0-rc1'
+=======
+ s.version = '3.21.1'
+>>>>>>> upstream/21.x
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/build_defs/BUILD.bazel b/build_defs/BUILD.bazel
index 29a1f1256..a5d831c9a 100644
--- a/build_defs/BUILD.bazel
+++ b/build_defs/BUILD.bazel
@@ -59,6 +59,20 @@ config_setting(
},
)
+config_setting(
+ name = "config_win32",
+ values = {
+ "cpu": "win32",
+ },
+)
+
+config_setting(
+ name = "config_win64",
+ values = {
+ "cpu": "win64",
+ },
+)
+
# Internal testing:
starlark_cc_proto_library(
diff --git a/build_defs/cpp_opts.bzl b/build_defs/cpp_opts.bzl
index 94966e3af..f21b861c0 100644
--- a/build_defs/cpp_opts.bzl
+++ b/build_defs/cpp_opts.bzl
@@ -38,3 +38,10 @@ LINK_OPTS = select({
"-lm",
],
})
+
+# When cross-compiling for Windows we need to statically link pthread and the C++ library.
+PROTOC_LINK_OPTS = select({
+ "//build_defs:config_win32": ["-static"],
+ "//build_defs:config_win64": ["-static"],
+ "//conditions:default": [],
+})
diff --git a/cmake/abseil-cpp.cmake b/cmake/abseil-cpp.cmake
deleted file mode 100644
index 8aff9d6a2..000000000
--- a/cmake/abseil-cpp.cmake
+++ /dev/null
@@ -1,31 +0,0 @@
-if(TARGET absl::strings)
- # If absl is included already, skip including it.
- # (https://github.com/grpc/grpc/issues/29608)
-elseif(protobuf_ABSL_PROVIDER STREQUAL "module")
- if(NOT ABSL_ROOT_DIR)
- set(ABSL_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/abseil-cpp)
- endif()
- if(EXISTS "${ABSL_ROOT_DIR}/CMakeLists.txt")
- if(protobuf_INSTALL)
- # When protobuf_INSTALL is enabled and Abseil will be built as a module,
- # Abseil will be installed along with protobuf for convenience.
- set(ABSL_ENABLE_INSTALL ON)
- endif()
- add_subdirectory(${ABSL_ROOT_DIR} third_party/abseil-cpp)
- else()
- message(WARNING "protobuf_ABSL_PROVIDER is \"module\" but ABSL_ROOT_DIR is wrong")
- endif()
- if(protobuf_INSTALL AND NOT _protobuf_INSTALL_SUPPORTED_FROM_MODULE)
- message(WARNING "protobuf_INSTALL will be forced to FALSE because protobuf_ABSL_PROVIDER is \"module\" and CMake version (${CMAKE_VERSION}) is less than 3.13.")
- set(protobuf_INSTALL FALSE)
- endif()
-elseif(protobuf_ABSL_PROVIDER STREQUAL "package")
- # Use "CONFIG" as there is no built-in cmake module for absl.
- find_package(absl REQUIRED CONFIG)
-endif()
-set(_protobuf_FIND_ABSL "if(NOT TARGET absl::strings)\n find_package(absl CONFIG)\nendif()")
-
-set(protobuf_ABSL_USED_TARGETS
- absl::strings
- absl::strings_internal
-)
diff --git a/cmake/install.cmake b/cmake/install.cmake
index c1f6f4aab..825cb25fc 100644
--- a/cmake/install.cmake
+++ b/cmake/install.cmake
@@ -128,20 +128,24 @@ configure_file(${protobuf_SOURCE_DIR}/cmake/protobuf-options.cmake
if (protobuf_BUILD_PROTOC_BINARIES)
export(TARGETS libprotobuf-lite libprotobuf libprotoc protoc
NAMESPACE protobuf::
- FILE ${CMAKE_CURRENT_BINARY_DIR}/cmake/protobuf/protobuf-targets.cmake
+ FILE ${CMAKE_INSTALL_CMAKEDIR}/protobuf-targets.cmake
)
else (protobuf_BUILD_PROTOC_BINARIES)
export(TARGETS libprotobuf-lite libprotobuf
NAMESPACE protobuf::
- FILE ${CMAKE_CURRENT_BINARY_DIR}/cmake/protobuf/protobuf-targets.cmake
+ FILE ${CMAKE_INSTALL_CMAKEDIR}/protobuf-targets.cmake
)
endif (protobuf_BUILD_PROTOC_BINARIES)
install(EXPORT protobuf-targets
- FILE protobuf-targets.cmake
DESTINATION "${CMAKE_INSTALL_CMAKEDIR}"
NAMESPACE protobuf::
+ COMPONENT protobuf-export)
+
+install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_CMAKEDIR}/
+ DESTINATION "${CMAKE_INSTALL_CMAKEDIR}"
COMPONENT protobuf-export
+ PATTERN protobuf-targets.cmake EXCLUDE
)
option(protobuf_INSTALL_EXAMPLES "Install the examples folder" OFF)
diff --git a/cmake/libprotobuf-lite.cmake b/cmake/libprotobuf-lite.cmake
index 1e4444e20..83e970312 100644
--- a/cmake/libprotobuf-lite.cmake
+++ b/cmake/libprotobuf-lite.cmake
@@ -98,9 +98,6 @@ if(protobuf_HAVE_LD_VERSION_SCRIPT)
LINK_DEPENDS ${protobuf_SOURCE_DIR}/src/libprotobuf-lite.map)
endif()
target_link_libraries(libprotobuf-lite PRIVATE ${CMAKE_THREAD_LIBS_INIT})
-target_include_directories(libprotobuf-lite
- PRIVATE ${ABSL_ROOT_DIR}
-)
if(protobuf_LINK_LIBATOMIC)
target_link_libraries(libprotobuf-lite PRIVATE atomic)
endif()
diff --git a/cmake/libprotobuf.cmake b/cmake/libprotobuf.cmake
index e597959d2..07e4bcf57 100644
--- a/cmake/libprotobuf.cmake
+++ b/cmake/libprotobuf.cmake
@@ -111,9 +111,6 @@ if(protobuf_HAVE_LD_VERSION_SCRIPT)
LINK_DEPENDS ${protobuf_SOURCE_DIR}/src/libprotobuf.map)
endif()
target_link_libraries(libprotobuf PRIVATE ${CMAKE_THREAD_LIBS_INIT})
-target_include_directories(libprotobuf
- PRIVATE ${ABSL_ROOT_DIR}
-)
if(protobuf_WITH_ZLIB)
target_link_libraries(libprotobuf PRIVATE ${ZLIB_LIBRARIES})
endif()
diff --git a/cmake/libprotoc.cmake b/cmake/libprotoc.cmake
index 7506b0220..15a47e53f 100644
--- a/cmake/libprotoc.cmake
+++ b/cmake/libprotoc.cmake
@@ -122,9 +122,6 @@ if(protobuf_HAVE_LD_VERSION_SCRIPT)
LINK_DEPENDS ${protobuf_SOURCE_DIR}/src/libprotoc.map)
endif()
target_link_libraries(libprotoc PRIVATE libprotobuf)
-target_include_directories(libprotoc
- PRIVATE ${ABSL_ROOT_DIR}
-)
if(protobuf_BUILD_SHARED_LIBS)
target_compile_definitions(libprotoc
PUBLIC PROTOBUF_USE_DLLS
diff --git a/cmake/protobuf-config.cmake.in b/cmake/protobuf-config.cmake.in
index 3c0ec7527..67b8bf00f 100644
--- a/cmake/protobuf-config.cmake.in
+++ b/cmake/protobuf-config.cmake.in
@@ -3,7 +3,6 @@ include("${CMAKE_CURRENT_LIST_DIR}/protobuf-options.cmake")
# Depend packages
@_protobuf_FIND_ZLIB@
-@_protobuf_FIND_ABSL@
# Imported targets
include("${CMAKE_CURRENT_LIST_DIR}/protobuf-targets.cmake")
diff --git a/cmake/protoc.cmake b/cmake/protoc.cmake
index 385a7a3f3..472b6421b 100644
--- a/cmake/protoc.cmake
+++ b/cmake/protoc.cmake
@@ -6,7 +6,6 @@ add_executable(protoc ${protoc_files} ${protobuf_version_rc_file})
target_link_libraries(protoc
libprotoc
libprotobuf
- ${protobuf_ABSL_USED_TARGETS}
)
add_executable(protobuf::protoc ALIAS protoc)
diff --git a/cmake/tests.cmake b/cmake/tests.cmake
index 1f8bbc9d4..1905673bd 100644
--- a/cmake/tests.cmake
+++ b/cmake/tests.cmake
@@ -21,7 +21,6 @@ else()
set(googlemock_source_dir "${protobuf_SOURCE_DIR}/third_party/googletest/googlemock")
set(googletest_source_dir "${protobuf_SOURCE_DIR}/third_party/googletest/googletest")
include_directories(
- ${ABSL_ROOT_DIR}
${googlemock_source_dir}
${googletest_source_dir}
${googletest_source_dir}/include
@@ -255,14 +254,7 @@ if (MSVC)
/wd4146 # unary minus operator applied to unsigned type, result still unsigned
)
endif()
-target_link_libraries(tests
- protobuf-lite-test-common
- protobuf-test-common
- libprotoc
- libprotobuf
- GTest::gmock_main
- ${protobuf_ABSL_USED_TARGETS}
-)
+target_link_libraries(tests protobuf-lite-test-common protobuf-test-common libprotoc libprotobuf GTest::gmock_main)
set(test_plugin_files
${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/mock_code_generator.cc
@@ -272,12 +264,7 @@ set(test_plugin_files
)
add_executable(test_plugin ${test_plugin_files})
-target_link_libraries(test_plugin
- libprotoc
- libprotobuf
- GTest::gmock
- ${protobuf_ABSL_USED_TARGETS}
-)
+target_link_libraries(test_plugin libprotoc libprotobuf GTest::gmock)
set(lite_test_files
${protobuf_SOURCE_DIR}/src/google/protobuf/lite_unittest.cc
diff --git a/configure.ac b/configure.ac
index 61246b27b..55e606478 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.1],[protobuf@googlegroups.com],[protobuf])
AM_MAINTAINER_MODE([enable])
diff --git a/csharp/Google.Protobuf.Tools.nuspec b/csharp/Google.Protobuf.Tools.nuspec
index 92a860ee8..d477bb139 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.1
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 d63455132..d3c18db7d 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.1
7.2
Google Inc.
diff --git a/java/README.md b/java/README.md
index 1fbc624c5..20f4c9be7 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.1
```
@@ -37,7 +37,7 @@ protobuf-java-util package:
com.google.protobuf
protobuf-java-util
- 3.21.0-rc-2
+ 3.21.1
```
@@ -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.1'
```
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 a770cbb9f..3813b3252 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.1
pom
Protocol Buffers [BOM]
diff --git a/java/core/pom.xml b/java/core/pom.xml
index bffa2958b..e32d0aa35 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.1
protobuf-java
diff --git a/java/kotlin-lite/pom.xml b/java/kotlin-lite/pom.xml
index fd3734d36..3585f3ae7 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.1
protobuf-kotlin-lite
diff --git a/java/kotlin/pom.xml b/java/kotlin/pom.xml
index c9eeb6d79..e7958767b 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.1
protobuf-kotlin
diff --git a/java/lite.md b/java/lite.md
index 633478b4a..1a5c951ba 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.1
```
diff --git a/java/lite/pom.xml b/java/lite/pom.xml
index c10edfd44..8b1590ba8 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.1
protobuf-javalite
diff --git a/java/pom.xml b/java/pom.xml
index 467c06d0b..5776cfda9 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.1
pom
Protocol Buffers [Parent]
diff --git a/java/util/pom.xml b/java/util/pom.xml
index a12fd2226..afc912b07 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.1
protobuf-java-util
diff --git a/kokoro/release/python/linux/build_artifacts.sh b/kokoro/release/python/linux/build_artifacts.sh
index 3ddec7444..9a3fc5841 100755
--- a/kokoro/release/python/linux/build_artifacts.sh
+++ b/kokoro/release/python/linux/build_artifacts.sh
@@ -30,7 +30,7 @@ git clone https://github.com/matthew-brett/multibuild.git
# silently creeping in (see https://github.com/protocolbuffers/protobuf/issues/9180).
# IMPORTANT: always pin multibuild at the same commit for:
# - linux/build_artifacts.sh
-# - macos/build_artifacts.sh
+# - linux/build_artifacts.sh
# - windows/build_artifacts.bat
(cd multibuild; git checkout b89bb903e94308be79abefa4f436bf123ebb1313)
cp kokoro/release/python/linux/config.sh config.sh
diff --git a/kokoro/release/python/macos/build_artifacts.sh b/kokoro/release/python/macos/build_artifacts.sh
index bd60d75fa..aeb4242a6 100755
--- a/kokoro/release/python/macos/build_artifacts.sh
+++ b/kokoro/release/python/macos/build_artifacts.sh
@@ -30,7 +30,7 @@ git clone https://github.com/matthew-brett/multibuild.git
# silently creeping in (see https://github.com/protocolbuffers/protobuf/issues/9180).
# IMPORTANT: always pin multibuild at the same commit for:
# - linux/build_artifacts.sh
-# - macos/build_artifacts.sh
+# - linux/build_artifacts.sh
# - windows/build_artifacts.bat
(cd multibuild; git checkout b89bb903e94308be79abefa4f436bf123ebb1313)
cp kokoro/release/python/macos/config.sh config.sh
diff --git a/kokoro/release/python/windows/build_artifacts.bat b/kokoro/release/python/windows/build_artifacts.bat
index 32fbec4e1..121283a43 100644
--- a/kokoro/release/python/windows/build_artifacts.bat
+++ b/kokoro/release/python/windows/build_artifacts.bat
@@ -18,7 +18,7 @@ REM Pin multibuild scripts at a known commit to avoid potentially unwanted futur
REM silently creeping in (see https://github.com/protocolbuffers/protobuf/issues/9180).
REM IMPORTANT: always pin multibuild at the same commit for:
REM - linux/build_artifacts.sh
-REM - macos/build_artifacts.sh
+REM - linux/build_artifacts.sh
REM - windows/build_artifacts.bat
cd multibuild
git checkout b89bb903e94308be79abefa4f436bf123ebb1313
@@ -34,11 +34,6 @@ SET ZLIB_ROOT=%cd%\zlib
del /Q zlib.zip
del /Q zlib-src.zip
-REM Update Submodules
-REM This is needed because this build uses CMake <3.13.
-git submodule update --init --recursive
-SET ABSL_ROOT_DIR=%cd%\third_party\abseil-cpp
-
REM Create directory for artifacts
SET ARTIFACT_DIR=%cd%\artifacts
mkdir %ARTIFACT_DIR%
diff --git a/kokoro/release/python/windows/build_single_artifact.bat b/kokoro/release/python/windows/build_single_artifact.bat
index d2c96c346..af2d26526 100644
--- a/kokoro/release/python/windows/build_single_artifact.bat
+++ b/kokoro/release/python/windows/build_single_artifact.bat
@@ -49,7 +49,7 @@ mkdir src\.libs
mkdir vcprojects
pushd vcprojects
-cmake -G "%generator%" -Dprotobuf_BUILD_SHARED_LIBS=%BUILD_DLL% -Dprotobuf_UNICODE=%UNICODE% -Dprotobuf_BUILD_TESTS=OFF -DABSL_ROOT_DIR=%ABSL_ROOT_DIR% ../cmake || goto :error
+cmake -G "%generator%" -Dprotobuf_BUILD_SHARED_LIBS=%BUILD_DLL% -Dprotobuf_UNICODE=%UNICODE% -Dprotobuf_BUILD_TESTS=OFF ../cmake || goto :error
msbuild protobuf.sln /p:Platform=%vcplatform% /p:Configuration=Release || goto :error
dir /s /b
popd
diff --git a/php/ext/google/protobuf/names.c b/php/ext/google/protobuf/names.c
index a2988816e..5d7b68aaf 100644
--- a/php/ext/google/protobuf/names.c
+++ b/php/ext/google/protobuf/names.c
@@ -82,12 +82,12 @@ const char *const kReservedNames[] = {
"global", "goto", "insteadof", "interface", "isset",
"list", "match", "namespace", "new", "object",
"or", "parent", "print", "private", "protected",
- "public", "readonly", "require", "require_once", "return",
- "self", "static", "switch", "throw", "trait",
- "try", "unset", "use", "var", "while",
- "xor", "yield", "int", "float", "bool",
- "string", "true", "false", "null", "void",
- "iterable", NULL};
+ "public", "require", "require_once", "return", "self",
+ "static", "switch", "throw", "trait", "try",
+ "unset", "use", "var", "while", "xor",
+ "yield", "int", "float", "bool", "string",
+ "true", "false", "null", "void", "iterable",
+ NULL};
bool is_reserved_name(const char* name) {
int i;
diff --git a/php/ext/google/protobuf/package.xml b/php/ext/google/protobuf/package.xml
index deda5c5b4..5ef108509 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-27
+
- 3.21.0RC2
- 3.21.0
+ 3.21.1
+ 3.21.1
- beta
- beta
+ stable
+ stable
BSD-3-Clause
@@ -1313,5 +1313,35 @@ G A release.
+
+
+ 3.21.0
+ 3.21.0
+
+
+ stable
+ stable
+
+ 2022-05-25
+
+ BSD-3-Clause
+
+
+
+
+
+ 3.21.1
+ 3.21.1
+
+
+ stable
+ stable
+
+ 2022-05-27
+
+ BSD-3-Clause
+
+
+
diff --git a/php/ext/google/protobuf/protobuf.h b/php/ext/google/protobuf/protobuf.h
index f95179b05..6488196ff 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.1"
// ptr -> PHP object cache. This is a weak map that caches lazily-created
// wrapper objects around upb types:
diff --git a/php/src/Google/Protobuf/Internal/GPBUtil.php b/php/src/Google/Protobuf/Internal/GPBUtil.php
index d7f2faaf6..4b152839e 100644
--- a/php/src/Google/Protobuf/Internal/GPBUtil.php
+++ b/php/src/Google/Protobuf/Internal/GPBUtil.php
@@ -285,12 +285,11 @@ class GPBUtil
"include"=>0, "include_once"=>0, "instanceof"=>0, "insteadof"=>0,
"interface"=>0, "isset"=>0, "list"=>0, "match"=>0, "namespace"=>0,
"new"=>0, "or"=>0, "parent"=>0, "print"=>0, "private"=>0,
- "protected"=>0,"public"=>0, "readonly" => 0,"require"=>0,
- "require_once"=>0,"return"=>0, "self"=>0, "static"=>0, "switch"=>0,
- "throw"=>0,"trait"=>0, "try"=>0,"unset"=>0, "use"=>0, "var"=>0,
- "while"=>0,"xor"=>0, "yield"=>0, "int"=>0, "float"=>0, "bool"=>0,
- "string"=>0,"true"=>0, "false"=>0, "null"=>0, "void"=>0,
- "iterable"=>0
+ "protected"=>0,"public"=>0, "require"=>0, "require_once"=>0,
+ "return"=>0, "self"=>0, "static"=>0, "switch"=>0, "throw"=>0,
+ "trait"=>0, "try"=>0,"unset"=>0, "use"=>0, "var"=>0, "while"=>0,
+ "xor"=>0, "yield"=>0, "int"=>0, "float"=>0, "bool"=>0, "string"=>0,
+ "true"=>0, "false"=>0, "null"=>0, "void"=>0, "iterable"=>0
);
if (array_key_exists(strtolower($classname), $reserved_words)) {
diff --git a/php/tests/GeneratedClassTest.php b/php/tests/GeneratedClassTest.php
index 37c33dfab..8a89973ce 100644
--- a/php/tests/GeneratedClassTest.php
+++ b/php/tests/GeneratedClassTest.php
@@ -334,18 +334,6 @@ class GeneratedClassTest extends TestBase
$this->legacyEnum(new TestLegacyMessage\NestedEnum);
}
- public function testLegacyReadOnlyMessage()
- {
- $this->assertTrue(class_exists('\Upper\READONLY'));
- $this->assertTrue(class_exists('\Lower\readonly'));
- }
-
- public function testLegacyReadOnlyEnum()
- {
- $this->assertTrue(class_exists('\Upper_enum\READONLY'));
- $this->assertTrue(class_exists('\Lower_enum\readonly'));
- }
-
private function legacyEnum(TestLegacyMessage_NestedEnum $enum)
{
// If we made it here without a PHP Fatal error, the typehint worked
@@ -955,7 +943,6 @@ class GeneratedClassTest extends TestBase
$m = new \Lower\PBprivate();
$m = new \Lower\PBprotected();
$m = new \Lower\PBpublic();
- $m = new \Lower\PBreadonly();
$m = new \Lower\PBrequire();
$m = new \Lower\PBrequire_once();
$m = new \Lower\PBreturn();
@@ -1036,7 +1023,6 @@ class GeneratedClassTest extends TestBase
$m = new \Upper\PBPRIVATE();
$m = new \Upper\PBPROTECTED();
$m = new \Upper\PBPUBLIC();
- $m = new \Upper\PBREADONLY();
$m = new \Upper\PBREQUIRE();
$m = new \Upper\PBREQUIRE_ONCE();
$m = new \Upper\PBRETURN();
@@ -1118,7 +1104,6 @@ class GeneratedClassTest extends TestBase
$m = new \Lower_enum\PBprotected();
$m = new \Lower_enum\PBpublic();
$m = new \Lower_enum\PBrequire();
- $m = new \Lower_enum\PBreadonly();
$m = new \Lower_enum\PBrequire_once();
$m = new \Lower_enum\PBreturn();
$m = new \Lower_enum\PBself();
@@ -1198,7 +1183,6 @@ class GeneratedClassTest extends TestBase
$m = new \Upper_enum\PBPRIVATE();
$m = new \Upper_enum\PBPROTECTED();
$m = new \Upper_enum\PBPUBLIC();
- $m = new \Upper_enum\PBREADONLY();
$m = new \Upper_enum\PBREQUIRE();
$m = new \Upper_enum\PBREQUIRE_ONCE();
$m = new \Upper_enum\PBRETURN();
@@ -1303,7 +1287,6 @@ class GeneratedClassTest extends TestBase
$m = \Lower_enum_value\NotAllowed::iterable;
$m = \Lower_enum_value\NotAllowed::parent;
$m = \Lower_enum_value\NotAllowed::self;
- $m = \Lower_enum_value\NotAllowed::readonly;
$m = \Upper_enum_value\NotAllowed::PBABSTRACT;
$m = \Upper_enum_value\NotAllowed::PBAND;
@@ -1384,7 +1367,6 @@ class GeneratedClassTest extends TestBase
$m = \Upper_enum_value\NotAllowed::ITERABLE;
$m = \Upper_enum_value\NotAllowed::PARENT;
$m = \Upper_enum_value\NotAllowed::SELF;
- $m = \Upper_enum_value\NotAllowed::READONLY;
$this->assertTrue(true);
}
diff --git a/php/tests/proto/test_reserved_enum_lower.proto b/php/tests/proto/test_reserved_enum_lower.proto
index 1f96ac6fe..f8557d250 100644
--- a/php/tests/proto/test_reserved_enum_lower.proto
+++ b/php/tests/proto/test_reserved_enum_lower.proto
@@ -57,7 +57,6 @@ enum print { ZERO51 = 0; }
enum private { ZERO52 = 0; }
enum protected { ZERO53 = 0; }
enum public { ZERO54 = 0; }
-enum readonly { ZERO80 = 0; }
enum require { ZERO55 = 0; }
enum require_once { ZERO56 = 0; }
enum return { ZERO57 = 0; }
diff --git a/php/tests/proto/test_reserved_enum_upper.proto b/php/tests/proto/test_reserved_enum_upper.proto
index c5e7e99fd..8d382ab31 100644
--- a/php/tests/proto/test_reserved_enum_upper.proto
+++ b/php/tests/proto/test_reserved_enum_upper.proto
@@ -57,7 +57,6 @@ enum PRINT { ZERO51 = 0; }
enum PRIVATE { ZERO52 = 0; }
enum PROTECTED { ZERO53 = 0; }
enum PUBLIC { ZERO54 = 0; }
-enum READONLY { ZERO80 = 0; }
enum REQUIRE { ZERO55 = 0; }
enum REQUIRE_ONCE { ZERO56 = 0; }
enum RETURN { ZERO57 = 0; }
diff --git a/php/tests/proto/test_reserved_enum_value_lower.proto b/php/tests/proto/test_reserved_enum_value_lower.proto
index 86c6877f7..ca5a7c735 100644
--- a/php/tests/proto/test_reserved_enum_value_lower.proto
+++ b/php/tests/proto/test_reserved_enum_value_lower.proto
@@ -58,7 +58,6 @@ enum NotAllowed {
private = 51;
protected = 52;
public = 53;
- readonly = 79;
require = 54;
require_once = 55;
return = 56;
diff --git a/php/tests/proto/test_reserved_enum_value_upper.proto b/php/tests/proto/test_reserved_enum_value_upper.proto
index ac0beda7d..6b4040d5e 100644
--- a/php/tests/proto/test_reserved_enum_value_upper.proto
+++ b/php/tests/proto/test_reserved_enum_value_upper.proto
@@ -58,7 +58,6 @@ enum NotAllowed {
PRIVATE = 51;
PROTECTED = 52;
PUBLIC = 53;
- READONLY = 79;
REQUIRE = 54;
REQUIRE_ONCE = 55;
RETURN = 56;
diff --git a/php/tests/proto/test_reserved_message_lower.proto b/php/tests/proto/test_reserved_message_lower.proto
index 551ed7a40..2390a87dd 100644
--- a/php/tests/proto/test_reserved_message_lower.proto
+++ b/php/tests/proto/test_reserved_message_lower.proto
@@ -57,7 +57,6 @@ message print {}
message private {}
message protected {}
message public {}
-message readonly {}
message require {}
message require_once {}
message return {}
diff --git a/php/tests/proto/test_reserved_message_upper.proto b/php/tests/proto/test_reserved_message_upper.proto
index 96995c991..9f5533022 100644
--- a/php/tests/proto/test_reserved_message_upper.proto
+++ b/php/tests/proto/test_reserved_message_upper.proto
@@ -57,7 +57,6 @@ message PRINT {}
message PRIVATE {}
message PROTECTED {}
message PUBLIC {}
-message READONLY {}
message REQUIRE {}
message REQUIRE_ONCE {}
message RETURN {}
diff --git a/protobuf_deps.bzl b/protobuf_deps.bzl
index 362ae6577..7b53b7770 100644
--- a/protobuf_deps.bzl
+++ b/protobuf_deps.bzl
@@ -114,6 +114,6 @@ def protobuf_deps():
_github_archive(
name = "upb",
repo = "https://github.com/protocolbuffers/upb",
- commit = "12efc9b096f35b62055a217f45e6b0fe5fb1a099",
- sha256 = "de0ab4ee1e2d8f01b494de39cd70b611e190b63943f1d5c448d4ecb9560dc16f",
+ commit = "04cb5af6b67c80db61f0aee76dcb6d233e51795c",
+ sha256 = "62d3519a7b65d6695e011f2733bfc5d7c6ab77f2bd83cdd2dca449da2e739c7f",
)
diff --git a/protobuf_version.bzl b/protobuf_version.bzl
index 5725bdd6c..81b068cd8 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.1'
+PROTOBUF_JAVA_VERSION = '3.21.1'
+PROTOBUF_PYTHON_VERSION = '4.21.1'
diff --git a/protoc-artifacts/pom.xml b/protoc-artifacts/pom.xml
index 80451f971..06af961d8 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.1
pom
Protobuf Compiler
diff --git a/python/google/protobuf/__init__.py b/python/google/protobuf/__init__.py
index bd2faa4e5..56781369c 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.1'
diff --git a/ruby/google-protobuf.gemspec b/ruby/google-protobuf.gemspec
index f86cda765..cecc370dc 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.1"
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 0514dbe6e..b861c3974 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.1
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.1
org.jruby
diff --git a/src/Makefile.am b/src/Makefile.am
index e4a0a2b60..75806b757 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -18,7 +18,7 @@ else
PTHREAD_DEF =
endif
-PROTOBUF_VERSION = 32:0:0
+PROTOBUF_VERSION = 32:1:0
if GCC
# Turn on all warnings except for sign comparison (we ignore sign comparison
diff --git a/src/google/protobuf/any.pb.h b/src/google/protobuf/any.pb.h
index b3b4e6a16..6db2ab3d3 100644
--- a/src/google/protobuf/any.pb.h
+++ b/src/google/protobuf/any.pb.h
@@ -13,7 +13,7 @@
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3021000 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3021001 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/api.pb.h b/src/google/protobuf/api.pb.h
index 2f7d90516..a06f93012 100644
--- a/src/google/protobuf/api.pb.h
+++ b/src/google/protobuf/api.pb.h
@@ -13,7 +13,7 @@
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3021000 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3021001 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/compiler/php/php_generator.cc b/src/google/protobuf/compiler/php/php_generator.cc
index f181a39ef..861b636a0 100644
--- a/src/google/protobuf/compiler/php/php_generator.cc
+++ b/src/google/protobuf/compiler/php/php_generator.cc
@@ -48,29 +48,29 @@ const std::string kDescriptorMetadataFile =
const std::string kDescriptorDirName = "Google/Protobuf/Internal";
const std::string kDescriptorPackageName = "Google\\Protobuf\\Internal";
const char* const kReservedNames[] = {
- "abstract", "and", "array", "as", "break",
- "callable", "case", "catch", "class", "clone",
- "const", "continue", "declare", "default", "die",
- "do", "echo", "else", "elseif", "empty",
- "enddeclare", "endfor", "endforeach", "endif", "endswitch",
- "endwhile", "eval", "exit", "extends", "final",
- "finally", "fn", "for", "foreach", "function",
- "global", "goto", "if", "implements", "include",
- "include_once", "instanceof", "insteadof", "interface", "isset",
- "list", "match", "namespace", "new", "or",
- "parent", "print", "private", "protected", "public",
- "readonly", "require", "require_once", "return", "self",
- "static", "switch", "throw", "trait", "try",
- "unset", "use", "var", "while", "xor",
- "yield", "int", "float", "bool", "string",
- "true", "false", "null", "void", "iterable"};
+ "abstract", "and", "array", "as", "break",
+ "callable", "case", "catch", "class", "clone",
+ "const", "continue", "declare", "default", "die",
+ "do", "echo", "else", "elseif", "empty",
+ "enddeclare", "endfor", "endforeach", "endif", "endswitch",
+ "endwhile", "eval", "exit", "extends", "final",
+ "finally", "fn", "for", "foreach", "function",
+ "global", "goto", "if", "implements", "include",
+ "include_once", "instanceof", "insteadof", "interface", "isset",
+ "list", "match", "namespace", "new", "or",
+ "parent", "print", "private", "protected", "public",
+ "require", "require_once", "return", "self", "static",
+ "switch", "throw", "trait", "try", "unset",
+ "use", "var", "while", "xor", "yield",
+ "int", "float", "bool", "string", "true",
+ "false", "null", "void", "iterable"};
const char* const kValidConstantNames[] = {
"int", "float", "bool", "string", "true",
"false", "null", "void", "iterable", "parent",
- "self", "readonly"
+ "self"
};
-const int kReservedNamesSize = 80;
-const int kValidConstantNamesSize = 12;
+const int kReservedNamesSize = 79;
+const int kValidConstantNamesSize = 11;
const int kFieldSetter = 1;
const int kFieldGetter = 2;
const int kFieldProperty = 3;
@@ -408,6 +408,7 @@ std::string GeneratedClassFileName(const DescriptorType* desc,
}
template
+<<<<<<< HEAD
std::string LegacyReadOnlyGeneratedClassFileName(const DescriptorType* desc,
const Options& options) {
std::string php_namespace = RootPhpNamespace(desc, options);
@@ -415,6 +416,18 @@ std::string LegacyReadOnlyGeneratedClassFileName(const DescriptorType* desc,
return php_namespace + "/" + desc->name() + ".php";
}
return desc->name() + ".php";
+=======
+std::string LegacyGeneratedClassFileName(const DescriptorType* desc,
+ const Options& options) {
+ std::string result = LegacyFullClassName(desc, options);
+
+ for (int i = 0; i < result.size(); i++) {
+ if (result[i] == '\\') {
+ result[i] = '/';
+ }
+ }
+ return result + ".php";
+>>>>>>> upstream/21.x
}
std::string GeneratedServiceFileName(const ServiceDescriptor* service,
@@ -1263,10 +1276,17 @@ void GenerateMetadataFile(const FileDescriptor* file, const Options& options,
}
template
+<<<<<<< HEAD
void LegacyReadOnlyGenerateClassFile(const FileDescriptor* file,
const DescriptorType* desc, const Options& options,
GeneratorContext* generator_context) {
std::string filename = LegacyReadOnlyGeneratedClassFileName(desc, options);
+=======
+void LegacyGenerateClassFile(const FileDescriptor* file,
+ const DescriptorType* desc, const Options& options,
+ GeneratorContext* generator_context) {
+ std::string filename = LegacyGeneratedClassFileName(desc, options);
+>>>>>>> upstream/21.x
std::unique_ptr output(
generator_context->Open(filename));
io::Printer printer(output.get(), '^');
@@ -1280,11 +1300,30 @@ void LegacyReadOnlyGenerateClassFile(const FileDescriptor* file,
"name", php_namespace);
}
std::string newname = FullClassName(desc, options);
+<<<<<<< HEAD
printer.Print("class_exists(^new^::class);\n",
"new", GeneratedClassNameImpl(desc));
printer.Print("@trigger_error(__NAMESPACE__ . '\\^old^ is deprecated and will be removed in "
"the next major release. Use ^fullname^ instead', E_USER_DEPRECATED);\n\n",
"old", desc->name(),
+=======
+ printer.Print("if (false) {\n");
+ Indent(&printer);
+ printer.Print("/**\n");
+ printer.Print(" * This class is deprecated. Use ^new^ instead.\n",
+ "new", newname);
+ printer.Print(" * @deprecated\n");
+ printer.Print(" */\n");
+ printer.Print("class ^old^ {}\n",
+ "old", LegacyGeneratedClassName(desc));
+ Outdent(&printer);
+ printer.Print("}\n");
+ printer.Print("class_exists(^new^::class);\n",
+ "new", GeneratedClassNameImpl(desc));
+ printer.Print("@trigger_error('^old^ is deprecated and will be removed in "
+ "the next major release. Use ^fullname^ instead', E_USER_DEPRECATED);\n\n",
+ "old", LegacyFullClassName(desc, options),
+>>>>>>> upstream/21.x
"fullname", newname);
}
@@ -1408,19 +1447,6 @@ void GenerateEnumFile(const FileDescriptor* file, const EnumDescriptor* en,
"new", fullname,
"old", LegacyFullClassName(en, options));
}
-
- // Write legacy file for backwards compatibility with "readonly" keywword
- std::string lower = en->name();
- std::transform(lower.begin(), lower.end(), lower.begin(), ::tolower);
- if (lower == "readonly") {
- printer.Print(
- "// Adding a class alias for backwards compatibility with the \"readonly\" keyword.\n");
- printer.Print(
- "class_alias(^new^::class, __NAMESPACE__ . '\\^old^');\n\n",
- "new", fullname,
- "old", en->name());
- LegacyReadOnlyGenerateClassFile(file, en, options, generator_context);
- }
}
void GenerateMessageFile(const FileDescriptor* file, const Descriptor* message,
@@ -1536,19 +1562,6 @@ void GenerateMessageFile(const FileDescriptor* file, const Descriptor* message,
"old", LegacyFullClassName(message, options));
}
- // Write legacy file for backwards compatibility with "readonly" keywword
- std::string lower = message->name();
- std::transform(lower.begin(), lower.end(), lower.begin(), ::tolower);
- if (lower == "readonly") {
- printer.Print(
- "// Adding a class alias for backwards compatibility with the \"readonly\" keyword.\n");
- printer.Print(
- "class_alias(^new^::class, __NAMESPACE__ . '\\^old^');\n\n",
- "new", fullname,
- "old", message->name());
- LegacyReadOnlyGenerateClassFile(file, message, options, generator_context);
- }
-
// Nested messages and enums.
for (int i = 0; i < message->nested_type_count(); i++) {
GenerateMessageFile(file, message->nested_type(i), options,
diff --git a/src/google/protobuf/compiler/plugin.pb.h b/src/google/protobuf/compiler/plugin.pb.h
index b8829b495..1c4b0f6c0 100644
--- a/src/google/protobuf/compiler/plugin.pb.h
+++ b/src/google/protobuf/compiler/plugin.pb.h
@@ -13,7 +13,7 @@
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3021000 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3021001 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/descriptor.pb.h b/src/google/protobuf/descriptor.pb.h
index 0a51ba353..78df1d512 100644
--- a/src/google/protobuf/descriptor.pb.h
+++ b/src/google/protobuf/descriptor.pb.h
@@ -13,7 +13,7 @@
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3021000 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3021001 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/duration.pb.h b/src/google/protobuf/duration.pb.h
index 7bdff41c5..73193eb11 100644
--- a/src/google/protobuf/duration.pb.h
+++ b/src/google/protobuf/duration.pb.h
@@ -13,7 +13,7 @@
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3021000 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3021001 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/empty.pb.h b/src/google/protobuf/empty.pb.h
index 70fd45e60..f5c44b831 100644
--- a/src/google/protobuf/empty.pb.h
+++ b/src/google/protobuf/empty.pb.h
@@ -13,7 +13,7 @@
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3021000 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3021001 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/field_mask.pb.h b/src/google/protobuf/field_mask.pb.h
index 9022e1f31..f4f77070d 100644
--- a/src/google/protobuf/field_mask.pb.h
+++ b/src/google/protobuf/field_mask.pb.h
@@ -13,7 +13,7 @@
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3021000 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3021001 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc
index 78b97e6cc..d534411b6 100644
--- a/src/google/protobuf/port_def.inc
+++ b/src/google/protobuf/port_def.inc
@@ -178,7 +178,7 @@
#ifdef PROTOBUF_VERSION
#error PROTOBUF_VERSION was previously defined
#endif
-#define PROTOBUF_VERSION 3021000
+#define PROTOBUF_VERSION 3021001
#ifdef PROTOBUF_MIN_HEADER_VERSION_FOR_PROTOC
#error PROTOBUF_MIN_HEADER_VERSION_FOR_PROTOC was previously defined
@@ -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/source_context.pb.h b/src/google/protobuf/source_context.pb.h
index 3625ece1f..63204f789 100644
--- a/src/google/protobuf/source_context.pb.h
+++ b/src/google/protobuf/source_context.pb.h
@@ -13,7 +13,7 @@
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3021000 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3021001 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/struct.pb.h b/src/google/protobuf/struct.pb.h
index a8019f86b..137227176 100644
--- a/src/google/protobuf/struct.pb.h
+++ b/src/google/protobuf/struct.pb.h
@@ -13,7 +13,7 @@
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3021000 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3021001 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/stubs/common.h b/src/google/protobuf/stubs/common.h
index 36a4b08e4..81fb42718 100644
--- a/src/google/protobuf/stubs/common.h
+++ b/src/google/protobuf/stubs/common.h
@@ -82,10 +82,10 @@ 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 3021000
+#define GOOGLE_PROTOBUF_VERSION 3021001
// 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/src/google/protobuf/timestamp.pb.h b/src/google/protobuf/timestamp.pb.h
index 01c8c8500..7c074c4f0 100644
--- a/src/google/protobuf/timestamp.pb.h
+++ b/src/google/protobuf/timestamp.pb.h
@@ -13,7 +13,7 @@
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3021000 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3021001 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/type.pb.h b/src/google/protobuf/type.pb.h
index ecdb9d9ed..83439e999 100644
--- a/src/google/protobuf/type.pb.h
+++ b/src/google/protobuf/type.pb.h
@@ -13,7 +13,7 @@
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3021000 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3021001 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/wrappers.pb.h b/src/google/protobuf/wrappers.pb.h
index 538dba60e..6f549dd97 100644
--- a/src/google/protobuf/wrappers.pb.h
+++ b/src/google/protobuf/wrappers.pb.h
@@ -13,7 +13,7 @@
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3021000 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3021001 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/third_party/abseil-cpp b/third_party/abseil-cpp
deleted file mode 160000
index 8c6e53ef3..000000000
--- a/third_party/abseil-cpp
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 8c6e53ef3adb1227fffa442c50349dab134a54bc
diff --git a/version.json b/version.json
index e50d63326..7af04a0d2 100644
--- a/version.json
+++ b/version.json
@@ -1,4 +1,5 @@
{
+<<<<<<< HEAD
"main": {
"protoc_version": "21-dev",
"lts": false,
@@ -12,6 +13,21 @@
"php": "3.21-dev",
"python": "4.21-dev",
"ruby": "3.21-dev"
+=======
+ "21.x": {
+ "protoc_version": "21.2-dev",
+ "lts": false,
+ "date": "2022-05-27",
+ "languages": {
+ "cpp": "3.21.2-dev",
+ "csharp": "3.21.2-dev",
+ "java": "3.21.2-dev",
+ "javascript": "3.21.2-dev",
+ "objectivec": "3.21.2-dev",
+ "php": "3.21.2-dev",
+ "python": "4.21.2-dev",
+ "ruby": "3.21.2-dev"
+>>>>>>> upstream/21.x
}
}
}