diff --git a/.github/workflows/test_java.yml b/.github/workflows/test_java.yml
index 67e2e3e006..f1697949f3 100644
--- a/.github/workflows/test_java.yml
+++ b/.github/workflows/test_java.yml
@@ -14,13 +14,17 @@ jobs:
fail-fast: false
matrix:
include:
+ - name: OpenJDK 8
+ version: '8'
+ image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:8-03a376b5d6ef66f827fc307716e3b841cc26b709
+ targets: //java/... //java/internal:java_version
- name: OpenJDK 11
version: '11'
- image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:5.1.1-6361b3a6e5c97e9951d03a4de28542fc45f1adab
+ image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:11-03a376b5d6ef66f827fc307716e3b841cc26b709
targets: //java/... //java/internal:java_version
- name: OpenJDK 17
version: '17'
- image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:17-508417e5215994ade7585d28ba3aad681a25fa5d
+ image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:17-03a376b5d6ef66f827fc307716e3b841cc26b709
targets: //java/... //java/internal:java_version
- name: aarch64
version: 'aarch64'
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 93484911d9..c042073d2c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -93,7 +93,7 @@ if (protobuf_BUILD_SHARED_LIBS)
endif ()
# Version metadata
-set(protobuf_VERSION_STRING "3.21.4")
+set(protobuf_VERSION_STRING "4.22.1")
set(protobuf_DESCRIPTION "Protocol Buffers")
set(protobuf_CONTACT "protobuf@googlegroups.com")
diff --git a/Protobuf-C++.podspec b/Protobuf-C++.podspec
index 4999537e3e..07e2298973 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.12'
+ s.version = '4.22.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 b97dfea239..695bba4562 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.12'
+ s.version = '3.22.1'
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 855893f33e..0a45eae504 100644
--- a/build_defs/BUILD.bazel
+++ b/build_defs/BUILD.bazel
@@ -84,6 +84,14 @@ config_setting(
},
)
+selects.config_setting_group(
+ name = "config_win",
+ match_any = [
+ ":config_win32",
+ ":config_win64",
+ ]
+)
+
config_setting(
name = "config_osx_aarch64",
values = {"cpu": "osx-aarch_64"},
@@ -91,7 +99,7 @@ config_setting(
config_setting(
name = "config_osx_x86_64",
- values = {"cpu": "osx-aarch_64"},
+ values = {"cpu": "osx-x86_64"},
)
selects.config_setting_group(
diff --git a/build_defs/java_opts.bzl b/build_defs/java_opts.bzl
new file mode 100644
index 0000000000..8e0fb0a58a
--- /dev/null
+++ b/build_defs/java_opts.bzl
@@ -0,0 +1,22 @@
+"""Java options and protobuf-specific java build rules with those options."""
+
+load("@rules_java//java:defs.bzl", "java_library")
+load("@rules_jvm_external//:defs.bzl", "java_export")
+
+JAVA_OPTS = [
+ "-source 8",
+ "-target 8",
+ "-Xep:Java8ApiChecker:ERROR",
+]
+
+def protobuf_java_export(**kwargs):
+ java_export(
+ javacopts = JAVA_OPTS,
+ **kwargs
+ )
+
+def protobuf_java_library(**kwargs):
+ java_library(
+ javacopts = JAVA_OPTS,
+ **kwargs
+ )
diff --git a/ci/push_auto_update.sh b/ci/push_auto_update.sh
index ea96cbec33..641525c707 100755
--- a/ci/push_auto_update.sh
+++ b/ci/push_auto_update.sh
@@ -39,6 +39,7 @@ else
commit_message="Auto-generate files"
fi
+git pull --rebase
git add -A
git diff --staged --quiet || git commit -am "$commit_message"
git push || echo "Conflicting commit hit, retrying in next job..."
diff --git a/csharp/Google.Protobuf.Tools.nuspec b/csharp/Google.Protobuf.Tools.nuspec
index f4bf457567..85ae51bf8e 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.12
+ 3.22.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 35f252db7f..344f4c49eb 100644
--- a/csharp/src/Google.Protobuf/Google.Protobuf.csproj
+++ b/csharp/src/Google.Protobuf/Google.Protobuf.csproj
@@ -5,7 +5,7 @@
C# runtime library for Protocol Buffers - Google's data interchange format.
Copyright 2015, Google Inc.
Google Protocol Buffers
- 3.21.12
+ 3.22.1
10.0
Google Inc.
netstandard1.1;netstandard2.0;net45;net50
diff --git a/java/README.md b/java/README.md
index 8503914876..4067c4e798 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.12
+ 3.22.1
```
@@ -37,16 +37,16 @@ protobuf-java-util package:
com.google.protobuf
protobuf-java-util
- 3.21.12
+ 3.22.1
```
### Gradle
If you are using Gradle, add the following to your `build.gradle` file's
-dependencies: `implementation 'com.google.protobuf:protobuf-java:3.21.12'`
-Again, be sure to check that the version number matches (or is newer than) the
-version number of protoc that you are using.
+dependencies: `implementation 'com.google.protobuf:protobuf-java:3.22.1'` Again,
+be sure to check that the version number matches (or is newer than) the version
+number of protoc that you are using.
### Use Java Protocol Buffers on Android
diff --git a/java/bom/pom.xml b/java/bom/pom.xml
index c01964c85e..22d812da21 100644
--- a/java/bom/pom.xml
+++ b/java/bom/pom.xml
@@ -4,7 +4,7 @@
com.google.protobuf
protobuf-bom
- 3.21.12
+ 3.22.1
pom
Protocol Buffers [BOM]
diff --git a/java/core/BUILD.bazel b/java/core/BUILD.bazel
index c0e52a4ff4..f08cf4a702 100644
--- a/java/core/BUILD.bazel
+++ b/java/core/BUILD.bazel
@@ -1,8 +1,8 @@
load("@bazel_skylib//rules:build_test.bzl", "build_test")
-load("@rules_java//java:defs.bzl", "java_library", "java_lite_proto_library", "java_proto_library")
-load("@rules_jvm_external//:defs.bzl", "java_export")
+load("@rules_java//java:defs.bzl", "java_lite_proto_library", "java_proto_library")
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
load("@rules_proto//proto:defs.bzl", "proto_lang_toolchain", "proto_library")
+load("//build_defs:java_opts.bzl", "protobuf_java_export", "protobuf_java_library")
load("//conformance:defs.bzl", "conformance_test")
load("//:protobuf.bzl", "internal_gen_well_known_protos_java")
load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION")
@@ -121,7 +121,7 @@ internal_gen_well_known_protos_java(
)
# Should be used as `//java/lite`.
-java_library(
+protobuf_java_library(
name = "lite",
srcs = LITE_SRCS + [
":gen_well_known_protos_javalite",
@@ -132,7 +132,7 @@ java_library(
)
# Bazel users, don't depend on this target, use //java/lite.
-java_export(
+protobuf_java_export(
name = "lite_mvn",
maven_coordinates = "com.google.protobuf:protobuf-javalite:%s" % PROTOBUF_JAVA_VERSION,
pom_template = "//java/lite:pom_template.xml",
@@ -143,7 +143,7 @@ java_export(
runtime_deps = [":lite"],
)
-java_library(
+protobuf_java_library(
name = "lite_runtime_only",
srcs = LITE_SRCS,
)
@@ -166,7 +166,7 @@ internal_gen_well_known_protos_java(
],
)
-java_library(
+protobuf_java_library(
name = "core",
srcs = glob(
[
@@ -186,7 +186,7 @@ java_library(
)
# Bazel users, don't depend on this target, use :core.
-java_export(
+protobuf_java_export(
name = "core_mvn",
maven_coordinates = "com.google.protobuf:protobuf-java:%s" % PROTOBUF_JAVA_VERSION,
pom_template = "pom_template.xml",
@@ -269,7 +269,7 @@ java_proto_library(
deps = [":java_test_protos"],
)
-java_library(
+protobuf_java_library(
name = "test_util",
srcs = [
"src/test/java/com/google/protobuf/TestUtil.java",
@@ -390,7 +390,7 @@ genrule(
cmd = "awk -f $(location //java/lite:lite.awk) $(location src/test/java/com/google/protobuf/TestUtil.java) > $@",
)
-java_library(
+protobuf_java_library(
name = "test_util_lite",
srcs = [
"src/test/java/com/google/protobuf/TestUtilLite.java",
diff --git a/java/core/pom.xml b/java/core/pom.xml
index 83b7351f7e..b43bf2df7b 100644
--- a/java/core/pom.xml
+++ b/java/core/pom.xml
@@ -4,7 +4,7 @@
com.google.protobuf
protobuf-parent
- 3.21.12
+ 3.22.1
protobuf-java
diff --git a/java/internal/JavaVersionTest.java b/java/internal/JavaVersionTest.java
index c7957c0d81..912870b44b 100644
--- a/java/internal/JavaVersionTest.java
+++ b/java/internal/JavaVersionTest.java
@@ -44,9 +44,11 @@ public class JavaVersionTest {
System.err.println("No kokoro java version found, skipping check");
return;
}
+ // Java 8's version is read as "1.8"
+ if (exp.equals("8")) exp = "1.8";
String version = System.getProperty("java.version");
- assertWithMessage("Expected Python " + exp + " but found Python " + version)
- .that(version.startsWith(exp))
- .isTrue();
+ assertWithMessage("Expected Java " + exp + " but found Java " + version)
+ .that(version.startsWith(exp))
+ .isTrue();
}
}
diff --git a/java/kotlin-lite/pom.xml b/java/kotlin-lite/pom.xml
index 50dcc8340b..37193f2921 100644
--- a/java/kotlin-lite/pom.xml
+++ b/java/kotlin-lite/pom.xml
@@ -4,7 +4,7 @@
com.google.protobuf
protobuf-parent
- 3.21.12
+ 3.22.1
protobuf-kotlin-lite
diff --git a/java/kotlin/pom.xml b/java/kotlin/pom.xml
index 9cc9ea0323..f9aa88edf4 100644
--- a/java/kotlin/pom.xml
+++ b/java/kotlin/pom.xml
@@ -4,7 +4,7 @@
com.google.protobuf
protobuf-parent
- 3.21.12
+ 3.22.1
protobuf-kotlin
diff --git a/java/lite.md b/java/lite.md
index ad920792f3..41e00aadfa 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.12
+ 3.22.1
```
diff --git a/java/lite/pom.xml b/java/lite/pom.xml
index b59c48a9ea..ae9689fd03 100644
--- a/java/lite/pom.xml
+++ b/java/lite/pom.xml
@@ -4,7 +4,7 @@
com.google.protobuf
protobuf-parent
- 3.21.12
+ 3.22.1
protobuf-javalite
diff --git a/java/pom.xml b/java/pom.xml
index c0bdaeae6b..26b595ee6b 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -4,7 +4,7 @@
com.google.protobuf
protobuf-parent
- 3.21.12
+ 3.22.1
pom
Protocol Buffers [Parent]
diff --git a/java/protoc/pom.xml b/java/protoc/pom.xml
index 9b61b9826a..a891850ac7 100644
--- a/java/protoc/pom.xml
+++ b/java/protoc/pom.xml
@@ -8,7 +8,7 @@
com.google.protobuf
protoc
- 3.21.6
+ 3.22.1
pom
Protobuf Compiler
diff --git a/java/util/BUILD.bazel b/java/util/BUILD.bazel
index e3804fb978..3d042d390a 100644
--- a/java/util/BUILD.bazel
+++ b/java/util/BUILD.bazel
@@ -1,11 +1,11 @@
load("@rules_java//java:defs.bzl", "java_proto_library")
-load("@rules_jvm_external//:defs.bzl", "java_export")
load("@rules_pkg//:mappings.bzl", "pkg_filegroup", "pkg_files", "strip_prefix")
load("@rules_proto//proto:defs.bzl", "proto_library")
+load("//build_defs:java_opts.bzl", "protobuf_java_export", "protobuf_java_library")
load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION")
load("//java/internal:testing.bzl", "junit_tests")
-java_library(
+protobuf_java_library(
name = "util",
srcs = glob([
"src/main/java/com/google/protobuf/util/*.java",
@@ -22,7 +22,7 @@ java_library(
)
# Bazel users, don't depend on this target, use :util.
-java_export(
+protobuf_java_export(
name = "util_mvn",
deploy_env = ["//java/core"],
maven_coordinates = "com.google.protobuf:protobuf-java-util:%s" % PROTOBUF_JAVA_VERSION,
diff --git a/java/util/pom.xml b/java/util/pom.xml
index c13df651c8..f8bc8e6e35 100644
--- a/java/util/pom.xml
+++ b/java/util/pom.xml
@@ -4,7 +4,7 @@
com.google.protobuf
protobuf-parent
- 3.21.12
+ 3.22.1
protobuf-java-util
diff --git a/php/ext/google/protobuf/protobuf.h b/php/ext/google/protobuf/protobuf.h
index efbd45eac0..4ed924b607 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.12"
+#define PHP_PROTOBUF_VERSION "3.22.1"
// ptr -> PHP object cache. This is a weak map that caches lazily-created
// wrapper objects around upb types:
diff --git a/pkg/BUILD.bazel b/pkg/BUILD.bazel
index 5b14cb8d4b..4f7e446962 100644
--- a/pkg/BUILD.bazel
+++ b/pkg/BUILD.bazel
@@ -62,11 +62,23 @@ genrule(
srcs = ["//:protoc_static"],
outs = ["bin/protoc"],
cmd = "cp $< $@",
+ tags = ["manual"],
+)
+
+genrule(
+ name = "rename_protoc_exe",
+ srcs = ["//:protoc_static"],
+ outs = ["bin/protoc.exe"],
+ cmd = "cp $< $@",
+ tags = ["manual"],
)
pkg_files(
name = "protoc_files",
- srcs = ["bin/protoc"],
+ srcs = select({
+ "//build_defs:config_win": ["bin/protoc.exe"],
+ "//conditions:default": ["bin/protoc"],
+ }),
attributes = pkg_attributes(mode = "0555"),
prefix = "bin/",
visibility = ["//visibility:private"],
diff --git a/protobuf_version.bzl b/protobuf_version.bzl
index ec39a4e123..5cc1e69ceb 100644
--- a/protobuf_version.bzl
+++ b/protobuf_version.bzl
@@ -1,5 +1,6 @@
-PROTOC_VERSION = "21.12"
-PROTOBUF_JAVA_VERSION = "3.21.12"
-PROTOBUF_PYTHON_VERSION = "4.21.12"
-PROTOBUF_PHP_VERSION = "3.21.12"
-PROTOBUF_RUBY_VERSION = "3.21.12"
+""" Contains version numbers to be used in other bzl files """
+PROTOC_VERSION = "22.1"
+PROTOBUF_JAVA_VERSION = "3.22.1"
+PROTOBUF_PYTHON_VERSION = "4.22.1"
+PROTOBUF_PHP_VERSION = "3.22.1"
+PROTOBUF_RUBY_VERSION = "3.22.1"
diff --git a/python/BUILD.bazel b/python/BUILD.bazel
index e67422b4ac..f6fe071152 100644
--- a/python/BUILD.bazel
+++ b/python/BUILD.bazel
@@ -56,6 +56,7 @@ internal_copy_files(
srcs = [
"//:well_known_type_protos",
"//src/google/protobuf:descriptor_proto_srcs",
+ "//src/google/protobuf/compiler:plugin.proto",
],
strip_prefix = "src",
)
diff --git a/python/google/protobuf/__init__.py b/python/google/protobuf/__init__.py
index e7555ee101..b9650b1969 100755
--- 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.12'
+__version__ = '4.22.1'
diff --git a/ruby/google-protobuf.gemspec b/ruby/google-protobuf.gemspec
index a96b5e9cac..37acd1bb15 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.12"
+ s.version = "3.22.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 68dadacfb0..503d3af02d 100644
--- a/ruby/pom.xml
+++ b/ruby/pom.xml
@@ -9,7 +9,7 @@
com.google.protobuf.jruby
protobuf-jruby
- 3.21.12
+ 3.22.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.12
+ 3.22.1
org.jruby
diff --git a/src/google/protobuf/any.pb.h b/src/google/protobuf/any.pb.h
index 5d22bc1b61..0917057643 100644
--- a/src/google/protobuf/any.pb.h
+++ b/src/google/protobuf/any.pb.h
@@ -15,7 +15,7 @@
#error "your headers."
#endif // PROTOBUF_VERSION
-#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
+#if 4022001 < 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 8a91760d40..d334922ed0 100644
--- a/src/google/protobuf/api.pb.h
+++ b/src/google/protobuf/api.pb.h
@@ -15,7 +15,7 @@
#error "your headers."
#endif // PROTOBUF_VERSION
-#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
+#if 4022001 < 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/BUILD.bazel b/src/google/protobuf/compiler/BUILD.bazel
index 89ab5ed60f..c88020580e 100644
--- a/src/google/protobuf/compiler/BUILD.bazel
+++ b/src/google/protobuf/compiler/BUILD.bazel
@@ -20,6 +20,7 @@ proto_library(
"//:__pkg__",
"//pkg:__pkg__",
],
+ strip_import_prefix = "/src",
deps = ["//:descriptor_proto"],
)
@@ -210,7 +211,10 @@ filegroup(
exports_files(
srcs = ["plugin.proto"],
- visibility = ["//:__pkg__"],
+ visibility = [
+ "//:__pkg__",
+ "//python:__pkg__",
+ ],
)
cc_library(
diff --git a/src/google/protobuf/compiler/plugin.pb.h b/src/google/protobuf/compiler/plugin.pb.h
index d366116028..5e3404ee80 100644
--- a/src/google/protobuf/compiler/plugin.pb.h
+++ b/src/google/protobuf/compiler/plugin.pb.h
@@ -15,7 +15,7 @@
#error "your headers."
#endif // PROTOBUF_VERSION
-#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
+#if 4022001 < 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 4753a9de82..455021a755 100644
--- a/src/google/protobuf/descriptor.pb.h
+++ b/src/google/protobuf/descriptor.pb.h
@@ -15,7 +15,7 @@
#error "your headers."
#endif // PROTOBUF_VERSION
-#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
+#if 4022001 < 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 c68665caf7..7121b53ee7 100644
--- a/src/google/protobuf/duration.pb.h
+++ b/src/google/protobuf/duration.pb.h
@@ -15,7 +15,7 @@
#error "your headers."
#endif // PROTOBUF_VERSION
-#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
+#if 4022001 < 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 7c2687c1d7..c17b5ea44c 100644
--- a/src/google/protobuf/empty.pb.h
+++ b/src/google/protobuf/empty.pb.h
@@ -15,7 +15,7 @@
#error "your headers."
#endif // PROTOBUF_VERSION
-#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
+#if 4022001 < 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 dba7515d2e..ddb95f567b 100644
--- a/src/google/protobuf/field_mask.pb.h
+++ b/src/google/protobuf/field_mask.pb.h
@@ -15,7 +15,7 @@
#error "your headers."
#endif // PROTOBUF_VERSION
-#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
+#if 4022001 < 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 1721f33989..d9bf569096 100644
--- a/src/google/protobuf/port_def.inc
+++ b/src/google/protobuf/port_def.inc
@@ -222,7 +222,7 @@ static_assert(PROTOBUF_CPLUSPLUS_MIN(201402L), "Protobuf only supports C++14 and
#ifdef PROTOBUF_VERSION
#error PROTOBUF_VERSION was previously defined
#endif
-#define PROTOBUF_VERSION 3021012
+#define PROTOBUF_VERSION 4022001
#ifdef PROTOBUF_MIN_HEADER_VERSION_FOR_PROTOC
#error PROTOBUF_MIN_HEADER_VERSION_FOR_PROTOC was previously defined
diff --git a/src/google/protobuf/source_context.pb.h b/src/google/protobuf/source_context.pb.h
index 69d5662b1e..c16e4107ce 100644
--- a/src/google/protobuf/source_context.pb.h
+++ b/src/google/protobuf/source_context.pb.h
@@ -15,7 +15,7 @@
#error "your headers."
#endif // PROTOBUF_VERSION
-#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
+#if 4022001 < 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 ff41417d46..78633249a8 100644
--- a/src/google/protobuf/struct.pb.h
+++ b/src/google/protobuf/struct.pb.h
@@ -15,7 +15,7 @@
#error "your headers."
#endif // PROTOBUF_VERSION
-#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
+#if 4022001 < 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 a3b0c69180..32559441ca 100644
--- a/src/google/protobuf/stubs/common.h
+++ b/src/google/protobuf/stubs/common.h
@@ -66,7 +66,7 @@ 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 3021012
+#define GOOGLE_PROTOBUF_VERSION 4022001
// A suffix string for alpha, beta or rc releases. Empty for stable releases.
#define GOOGLE_PROTOBUF_VERSION_SUFFIX ""
diff --git a/src/google/protobuf/timestamp.pb.h b/src/google/protobuf/timestamp.pb.h
index 65b223b58b..bb9082b8fc 100644
--- a/src/google/protobuf/timestamp.pb.h
+++ b/src/google/protobuf/timestamp.pb.h
@@ -15,7 +15,7 @@
#error "your headers."
#endif // PROTOBUF_VERSION
-#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
+#if 4022001 < 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 59e4976222..23ff96855a 100644
--- a/src/google/protobuf/type.pb.h
+++ b/src/google/protobuf/type.pb.h
@@ -15,7 +15,7 @@
#error "your headers."
#endif // PROTOBUF_VERSION
-#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
+#if 4022001 < 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 f5f845a20c..e5d676aa44 100644
--- a/src/google/protobuf/wrappers.pb.h
+++ b/src/google/protobuf/wrappers.pb.h
@@ -15,7 +15,7 @@
#error "your headers."
#endif // PROTOBUF_VERSION
-#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
+#if 4022001 < 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."