diff --git a/.vpython3 b/.vpython3
index a836f84cad9da..1aa993078c93d 100644
--- a/.vpython3
+++ b/.vpython3
@@ -43,7 +43,7 @@ verify_pep425_tag: [
 #   //tools/perf/crossbench
 wheel: <
   name: "infra/python/wheels/protobuf-py3"
-  version: "version:6.30.1"
+  version: "version:6.30.2"
 >
 
 # TODO(https://crbug.com/898348): Add in necessary wheels as Python3 versions
diff --git a/third_party/protobuf/.github/workflows/test_java.yml b/third_party/protobuf/.github/workflows/test_java.yml
index 94dff1471e035..3e04ad265f0ba 100644
--- a/third_party/protobuf/.github/workflows/test_java.yml
+++ b/third_party/protobuf/.github/workflows/test_java.yml
@@ -34,8 +34,7 @@ jobs:
             # TODO: b/318555165 - enable the layering check. Currently it does
             # not work correctly with the toolchain in this Docker image.
             targets: //java/... //java/internal:java_version //compatibility/... --features=-layering_check
-            # TODO: b/393604460 - enable bzlmod once coursier error is fixed.
-            flags: --java_language_version=8 --noenable_bzlmod
+            flags: --java_language_version=8
           - name: OpenJDK 11
             cache_key: '11'
             image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:7.1.2-11-d9624f2aa83cba3eaf906f751d75b36aacb9aa82
diff --git a/third_party/protobuf/CMakeLists.txt b/third_party/protobuf/CMakeLists.txt
index 3e10d12dd755a..66e80a86a776a 100644
--- a/third_party/protobuf/CMakeLists.txt
+++ b/third_party/protobuf/CMakeLists.txt
@@ -86,7 +86,7 @@ if (protobuf_BUILD_SHARED_LIBS)
 endif ()
 
 # Version metadata
-set(protobuf_VERSION_STRING "6.30.1")
+set(protobuf_VERSION_STRING "6.30.2")
 set(protobuf_DESCRIPTION "Protocol Buffers")
 set(protobuf_CONTACT "protobuf@googlegroups.com")
 
diff --git a/third_party/protobuf/MODULE.bazel b/third_party/protobuf/MODULE.bazel
index d90bd39463d2f..400186b53d8c4 100644
--- a/third_party/protobuf/MODULE.bazel
+++ b/third_party/protobuf/MODULE.bazel
@@ -3,7 +3,7 @@
 
 module(
     name = "protobuf",
-    version = "30.1",  # Automatically updated on release
+    version = "30.2",  # Automatically updated on release
     compatibility_level = 1,
     repo_name = "com_google_protobuf",
 )
@@ -85,10 +85,31 @@ pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip", dev_depen
 
 use_repo(pip, "protobuf_pip_deps")
 
-protobuf_maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven", dev_dependency = True)
+PROTOBUF_MAVEN_ARTIFACTS = [
+    "com.google.code.findbugs:jsr305:3.0.2",
+    "com.google.code.gson:gson:2.8.9",
+    "com.google.errorprone:error_prone_annotations:2.5.1",
+    "com.google.j2objc:j2objc-annotations:2.8",
+    "com.google.guava:guava:32.0.1-jre",
+]
+
+protobuf_maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
 protobuf_maven.install(
     name = "protobuf_maven",
-    artifacts = [
+    artifacts = PROTOBUF_MAVEN_ARTIFACTS,
+    lock_file = "//:maven_install.json",
+    repositories = [
+        "https://repo1.maven.org/maven2",
+        "https://repo.maven.apache.org/maven2",
+    ],
+)
+use_repo(protobuf_maven, "protobuf_maven")
+
+# Development dependencies
+protobuf_maven_dev = use_extension("@rules_jvm_external//:extensions.bzl", "maven", dev_dependency = True)
+protobuf_maven_dev.install(
+    name = "protobuf_maven_dev",
+    artifacts = PROTOBUF_MAVEN_ARTIFACTS + [
         "com.google.caliper:caliper:1.0-beta-3",
         "com.google.guava:guava-testlib:32.0.1-jre",
         "com.google.testparameterinjector:test-parameter-injector:1.18",
@@ -98,29 +119,13 @@ protobuf_maven.install(
         "biz.aQute.bnd:biz.aQute.bndlib:6.4.0",
         "info.picocli:picocli:4.6.3",
     ],
+    lock_file = "//:maven_dev_install.json",
     repositories = [
         "https://repo1.maven.org/maven2",
         "https://repo.maven.apache.org/maven2",
     ],
 )
-use_repo(protobuf_maven, "protobuf_maven")
-
-maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
-maven.install(
-    name = "maven",
-    artifacts = [
-        "com.google.code.findbugs:jsr305:3.0.2",
-        "com.google.code.gson:gson:2.8.9",
-        "com.google.errorprone:error_prone_annotations:2.5.1",
-        "com.google.j2objc:j2objc-annotations:2.8",
-        "com.google.guava:guava:32.0.1-jre",
-    ],
-    repositories = [
-        "https://repo1.maven.org/maven2",
-        "https://repo.maven.apache.org/maven2",
-    ],
-)
-use_repo(maven, "maven")
+use_repo(protobuf_maven_dev, "protobuf_maven_dev")
 
 # Development dependencies
 bazel_dep(name = "googletest", version = "1.14.0", dev_dependency = True)
diff --git a/third_party/protobuf/Protobuf.podspec b/third_party/protobuf/Protobuf.podspec
index 14e66e94b4c49..bfac78651a571 100644
--- a/third_party/protobuf/Protobuf.podspec
+++ b/third_party/protobuf/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  = '4.30.1'
+  s.version  = '4.30.2'
   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/third_party/protobuf/README.chromium b/third_party/protobuf/README.chromium
index 65585c5199838..63e451177e61c 100644
--- a/third_party/protobuf/README.chromium
+++ b/third_party/protobuf/README.chromium
@@ -3,9 +3,9 @@ Short Name: protobuf
 URL: https://github.com/google/protobuf
 License: BSD-3-Clause
 License File: LICENSE
-Version: 30.1
-CPEPrefix: cpe:/a:google:protobuf:30.1
-Revision: 0d815c5b74281f081c1ee4b431a4d5bbb1615c97
+Version: 30.2
+CPEPrefix: cpe:/a:google:protobuf:30.2
+Revision: 43e1626812c1b543e56a7bec59dc09eb18248bd2
 Security Critical: yes
 Shipped: yes
 
diff --git a/third_party/protobuf/WORKSPACE b/third_party/protobuf/WORKSPACE
index e89c81cbba6c0..b1030fa78f9d5 100644
--- a/third_party/protobuf/WORKSPACE
+++ b/third_party/protobuf/WORKSPACE
@@ -65,7 +65,7 @@ rules_jvm_external_setup()
 load("@rules_jvm_external//:defs.bzl", "maven_install")
 
 maven_install(
-    name = "maven",
+    name = "protobuf_maven",
     artifacts = PROTOBUF_MAVEN_ARTIFACTS,
     # For updating instructions, see:
     # https://github.com/bazelbuild/rules_jvm_external#updating-maven_installjson
@@ -76,11 +76,12 @@ maven_install(
     ],
 )
 
-load("@maven//:defs.bzl", "pinned_maven_install")
+load("@protobuf_maven//:defs.bzl", "pinned_maven_install")
+
 pinned_maven_install()
 
 maven_install(
-    name = "protobuf_maven",
+    name = "protobuf_maven_dev",
     artifacts = [
         "com.google.caliper:caliper:1.0-beta-3",
         "com.google.guava:guava-testlib:32.0.1-jre",
@@ -100,9 +101,9 @@ maven_install(
     ],
 )
 
-load("@protobuf_maven//:defs.bzl", pinned_protobuf_maven_install = "pinned_maven_install")
-pinned_protobuf_maven_install()
+load("@protobuf_maven_dev//:defs.bzl", pinned_protobuf_maven_install = "pinned_maven_install")
 
+pinned_protobuf_maven_install()
 
 # For `cc_proto_blacklist_test` and `build_test`.
 load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
diff --git a/third_party/protobuf/cmake/installed_include_golden.txt b/third_party/protobuf/cmake/installed_include_golden.txt
index 20ad3219b6006..9a1bad8efa306 100644
--- a/third_party/protobuf/cmake/installed_include_golden.txt
+++ b/third_party/protobuf/cmake/installed_include_golden.txt
@@ -12,9 +12,11 @@ google/protobuf/arenaz_sampler.h
 google/protobuf/compiler/code_generator.h
 google/protobuf/compiler/code_generator_lite.h
 google/protobuf/compiler/command_line_interface.h
+google/protobuf/compiler/cpp/generator.h
 google/protobuf/compiler/cpp/helpers.h
 google/protobuf/compiler/cpp/names.h
 google/protobuf/compiler/cpp/options.h
+google/protobuf/compiler/csharp/csharp_generator.h
 google/protobuf/compiler/csharp/names.h
 google/protobuf/compiler/importer.h
 google/protobuf/compiler/java/context.h
@@ -25,7 +27,9 @@ google/protobuf/compiler/java/java_features.pb.h
 google/protobuf/compiler/java/name_resolver.h
 google/protobuf/compiler/java/names.h
 google/protobuf/compiler/java/options.h
+google/protobuf/compiler/kotlin/generator.h
 google/protobuf/compiler/notices.h
+google/protobuf/compiler/objectivec/generator.h
 google/protobuf/compiler/objectivec/line_consumer.h
 google/protobuf/compiler/objectivec/names.h
 google/protobuf/compiler/objectivec/nsobject_methods.h
@@ -35,7 +39,10 @@ google/protobuf/compiler/php/php_generator.h
 google/protobuf/compiler/plugin.h
 google/protobuf/compiler/plugin.pb.h
 google/protobuf/compiler/plugin.proto
+google/protobuf/compiler/python/generator.h
+google/protobuf/compiler/python/pyi_generator.h
 google/protobuf/compiler/retention.h
+google/protobuf/compiler/ruby/ruby_generator.h
 google/protobuf/compiler/scc.h
 google/protobuf/compiler/subprocess.h
 google/protobuf/compiler/versions.h
diff --git a/third_party/protobuf/csharp/Google.Protobuf.Tools.nuspec b/third_party/protobuf/csharp/Google.Protobuf.Tools.nuspec
index d629c5628dbc3..a49040f8f419a 100644
--- a/third_party/protobuf/csharp/Google.Protobuf.Tools.nuspec
+++ b/third_party/protobuf/csharp/Google.Protobuf.Tools.nuspec
@@ -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.30.1</version>
+    <version>3.30.2</version>
     <authors>Google Inc.</authors>
     <owners>protobuf-packages</owners>
     <licenseUrl>https://github.com/protocolbuffers/protobuf/blob/main/LICENSE</licenseUrl>
diff --git a/third_party/protobuf/csharp/src/Google.Protobuf.Test/testprotos.pb b/third_party/protobuf/csharp/src/Google.Protobuf.Test/testprotos.pb
index b27cd3b49ddbf..12865bb19582c 100644
Binary files a/third_party/protobuf/csharp/src/Google.Protobuf.Test/testprotos.pb and b/third_party/protobuf/csharp/src/Google.Protobuf.Test/testprotos.pb differ
diff --git a/third_party/protobuf/csharp/src/Google.Protobuf/Google.Protobuf.csproj b/third_party/protobuf/csharp/src/Google.Protobuf/Google.Protobuf.csproj
index f02f615c3154f..3fcd16cb37d8f 100644
--- a/third_party/protobuf/csharp/src/Google.Protobuf/Google.Protobuf.csproj
+++ b/third_party/protobuf/csharp/src/Google.Protobuf/Google.Protobuf.csproj
@@ -5,7 +5,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.30.1</VersionPrefix>
+    <VersionPrefix>3.30.2</VersionPrefix>
     <LangVersion>10.0</LangVersion>
     <Authors>Google Inc.</Authors>
     <TargetFrameworks>netstandard1.1;netstandard2.0;net45;net50</TargetFrameworks>
diff --git a/third_party/protobuf/examples/WORKSPACE b/third_party/protobuf/examples/WORKSPACE
index 7cf8b5aef9d34..5b8c8d09d3ec3 100644
--- a/third_party/protobuf/examples/WORKSPACE
+++ b/third_party/protobuf/examples/WORKSPACE
@@ -76,7 +76,7 @@ rules_jvm_external_setup()
 load("@rules_jvm_external//:defs.bzl", "maven_install")
 
 maven_install(
-    name = "maven",
+    name = "protobuf_maven",
     artifacts = PROTOBUF_MAVEN_ARTIFACTS,
     repositories = [
         "https://repo1.maven.org/maven2",
diff --git a/third_party/protobuf/java/bom/pom.xml b/third_party/protobuf/java/bom/pom.xml
index 608f245029b97..1a0f6905b3a87 100644
--- a/third_party/protobuf/java/bom/pom.xml
+++ b/third_party/protobuf/java/bom/pom.xml
@@ -4,7 +4,7 @@
 
   <groupId>com.google.protobuf</groupId>
   <artifactId>protobuf-bom</artifactId>
-  <version>4.30.1</version>
+  <version>4.30.2</version>
   <packaging>pom</packaging>
 
   <name>Protocol Buffers [BOM]</name>
diff --git a/third_party/protobuf/java/core/BUILD.bazel b/third_party/protobuf/java/core/BUILD.bazel
index 0698fefcdb739..b998d83d026c9 100644
--- a/third_party/protobuf/java/core/BUILD.bazel
+++ b/third_party/protobuf/java/core/BUILD.bazel
@@ -147,6 +147,7 @@ java_library(
     deps = [":lite_runtime_only"],
 )
 
+# Bazel users, don't depend on this target, use //java/lite.
 protobuf_versioned_java_library(
     name = "lite_bundle",
     srcs = LITE_SRCS + [
@@ -268,22 +269,17 @@ java_library(
     ],
 )
 
+# Bazel users, don't depend on this target, use :core.
 protobuf_versioned_java_library(
     name = "core_bundle",
-    srcs = FULL_SRCS,
+    srcs = FULL_SRCS + LITE_SRCS,
     automatic_module_name = "com.google.protobuf",
     bundle_description = "Core Protocol Buffers library. Protocol Buffers " +
                          "are a way of encoding structured data in an " +
                          "efficient yet extensible format.",
     bundle_name = "Protocol Buffers [Core]",
     bundle_symbolic_name = "com.google.protobuf",
-    visibility = ["//visibility:public"],
-    exports = [
-        ":lite_runtime_only",
-    ],
-    deps = [
-        ":lite_runtime_only",
-    ],
+    visibility = ["//visibility:private"],
 )
 
 # Bazel users, don't depend on this target, use :core.
@@ -393,8 +389,8 @@ protobuf_java_library(
         ":generic_test_protos_java_proto",
         ":java_test_protos_java_proto",
         ":lite_test_protos_java_proto",
-        "@protobuf_maven//:com_google_guava_guava",
-        "@protobuf_maven//:junit_junit",
+        "@protobuf_maven_dev//:com_google_guava_guava",
+        "@protobuf_maven_dev//:junit_junit",
     ],
 )
 
@@ -444,11 +440,11 @@ junit_tests(
         ":java_test_protos_java_proto",
         ":lite_test_protos_java_proto",
         ":test_util",
-        "@protobuf_maven//:com_google_guava_guava",
-        "@protobuf_maven//:com_google_testparameterinjector_test_parameter_injector",
-        "@protobuf_maven//:com_google_truth_truth",
-        "@protobuf_maven//:junit_junit",
-        "@protobuf_maven//:org_mockito_mockito_core",
+        "@protobuf_maven_dev//:com_google_guava_guava",
+        "@protobuf_maven_dev//:com_google_testparameterinjector_test_parameter_injector",
+        "@protobuf_maven_dev//:com_google_truth_truth",
+        "@protobuf_maven_dev//:junit_junit",
+        "@protobuf_maven_dev//:org_mockito_mockito_core",
     ],
 )
 
@@ -464,9 +460,9 @@ junit_tests(
     ],
     deps = [
         ":core",
-        "@protobuf_maven//:com_google_guava_guava",
-        "@protobuf_maven//:com_google_truth_truth",
-        "@protobuf_maven//:junit_junit",
+        "@protobuf_maven_dev//:com_google_guava_guava",
+        "@protobuf_maven_dev//:com_google_truth_truth",
+        "@protobuf_maven_dev//:junit_junit",
     ],
 )
 
@@ -521,8 +517,8 @@ protobuf_java_library(
         ":java_test_protos_java_proto_lite",
         ":lite_runtime_only",
         ":lite_test_protos_java_proto_lite",
-        "@protobuf_maven//:com_google_guava_guava",
-        "@protobuf_maven//:junit_junit",
+        "@protobuf_maven_dev//:com_google_guava_guava",
+        "@protobuf_maven_dev//:junit_junit",
     ],
 )
 
@@ -533,6 +529,7 @@ LITE_TEST_EXCLUSIONS = [
     "src/test/java/com/google/protobuf/CodedInputStreamTest.java",
     "src/test/java/com/google/protobuf/DeprecatedFieldTest.java",
     "src/test/java/com/google/protobuf/DebugFormatTest.java",
+    "src/test/java/com/google/protobuf/ConcurrentDescriptorsTest.java",
     "src/test/java/com/google/protobuf/DescriptorsTest.java",
     "src/test/java/com/google/protobuf/DiscardUnknownFieldsTest.java",
     "src/test/java/com/google/protobuf/DynamicMessageTest.java",
@@ -590,9 +587,9 @@ junit_tests(
         ":lite",
         ":lite_test_protos_java_proto_lite",
         ":test_util_lite",
-        "@protobuf_maven//:com_google_truth_truth",
-        "@protobuf_maven//:junit_junit",
-        "@protobuf_maven//:org_mockito_mockito_core",
+        "@protobuf_maven_dev//:com_google_truth_truth",
+        "@protobuf_maven_dev//:junit_junit",
+        "@protobuf_maven_dev//:org_mockito_mockito_core",
     ],
 )
 
@@ -606,8 +603,8 @@ protobuf_java_library(
     deps = [
         ":core",
         "//compatibility:v25_test_protos_srcjar",
-        "@protobuf_maven//:com_google_guava_guava",
-        "@protobuf_maven//:junit_junit",
+        "@protobuf_maven_dev//:com_google_guava_guava",
+        "@protobuf_maven_dev//:junit_junit",
     ],
 )
 
@@ -640,10 +637,10 @@ junit_tests(
         ":core",
         ":v25_test_util_srcjar",
         "//compatibility:v25_test_protos_srcjar",
-        "@protobuf_maven//:com_google_guava_guava",
-        "@protobuf_maven//:com_google_truth_truth",
-        "@protobuf_maven//:junit_junit",
-        "@protobuf_maven//:org_mockito_mockito_core",
+        "@protobuf_maven_dev//:com_google_guava_guava",
+        "@protobuf_maven_dev//:com_google_truth_truth",
+        "@protobuf_maven_dev//:junit_junit",
+        "@protobuf_maven_dev//:org_mockito_mockito_core",
     ],
 )
 
@@ -657,8 +654,8 @@ protobuf_java_library(
     deps = [
         ":core",
         "//compatibility:v25_test_protos_jar",
-        "@protobuf_maven//:com_google_guava_guava",
-        "@protobuf_maven//:junit_junit",
+        "@protobuf_maven_dev//:com_google_guava_guava",
+        "@protobuf_maven_dev//:junit_junit",
     ],
 )
 
@@ -690,10 +687,10 @@ junit_tests(
         ":core",
         ":v25_test_util_jar",
         "//compatibility:v25_test_protos_jar",
-        "@protobuf_maven//:com_google_guava_guava",
-        "@protobuf_maven//:com_google_truth_truth",
-        "@protobuf_maven//:junit_junit",
-        "@protobuf_maven//:org_mockito_mockito_core",
+        "@protobuf_maven_dev//:com_google_guava_guava",
+        "@protobuf_maven_dev//:com_google_truth_truth",
+        "@protobuf_maven_dev//:junit_junit",
+        "@protobuf_maven_dev//:org_mockito_mockito_core",
     ],
 )
 
diff --git a/third_party/protobuf/java/core/src/main/java/com/google/protobuf/Descriptors.java b/third_party/protobuf/java/core/src/main/java/com/google/protobuf/Descriptors.java
index c45978155c430..420298d33aa06 100644
--- a/third_party/protobuf/java/core/src/main/java/com/google/protobuf/Descriptors.java
+++ b/third_party/protobuf/java/core/src/main/java/com/google/protobuf/Descriptors.java
@@ -537,6 +537,7 @@ public final class Descriptors {
     private final FileDescriptor[] dependencies;
     private final FileDescriptor[] publicDependencies;
     private final DescriptorPool pool;
+    private volatile boolean featuresResolved;
 
     private FileDescriptor(
         final FileDescriptorProto proto,
@@ -547,6 +548,7 @@ public final class Descriptors {
       this.pool = pool;
       this.proto = proto;
       this.dependencies = dependencies.clone();
+      this.featuresResolved = false;
       HashMap<String, FileDescriptor> nameToFileMap = new HashMap<>();
       for (FileDescriptor file : dependencies) {
         nameToFileMap.put(file.getName(), file);
@@ -618,6 +620,7 @@ public final class Descriptors {
               .build();
       this.dependencies = new FileDescriptor[0];
       this.publicDependencies = new FileDescriptor[0];
+      this.featuresResolved = false;
 
       messageTypes = new Descriptor[] {message};
       enumTypes = EMPTY_ENUM_DESCRIPTORS;
@@ -641,12 +644,12 @@ public final class Descriptors {
      * and all of its children.
      */
     private void resolveAllFeaturesInternal() throws DescriptorValidationException {
-      if (this.features != null) {
+      if (this.featuresResolved) {
         return;
       }
 
       synchronized (this) {
-        if (this.features != null) {
+        if (this.featuresResolved) {
           return;
         }
         resolveFeatures(proto.getOptions().getFeatures());
@@ -666,6 +669,7 @@ public final class Descriptors {
         for (FieldDescriptor extension : extensions) {
           extension.resolveAllFeatures();
         }
+        this.featuresResolved = true;
       }
     }
 
@@ -2934,10 +2938,7 @@ public final class Descriptors {
       }
       if (this.features == null) {
         throw new NullPointerException(
-            String.format(
-                "Features not yet loaded for %s. This may be caused by a known issue for proto2"
-                    + " dependency descriptors obtained from proto1 (b/362326130)",
-                getFullName()));
+            String.format("Features not yet loaded for %s.", getFullName()));
       }
       return this.features;
     }
diff --git a/third_party/protobuf/java/core/src/main/java/com/google/protobuf/RuntimeVersion.java b/third_party/protobuf/java/core/src/main/java/com/google/protobuf/RuntimeVersion.java
index c329902a63f4f..b7655026a9b6b 100644
--- a/third_party/protobuf/java/core/src/main/java/com/google/protobuf/RuntimeVersion.java
+++ b/third_party/protobuf/java/core/src/main/java/com/google/protobuf/RuntimeVersion.java
@@ -28,7 +28,7 @@ public final class RuntimeVersion {
   public static final RuntimeDomain OSS_DOMAIN = RuntimeDomain.PUBLIC;
   public static final int OSS_MAJOR = 4;
   public static final int OSS_MINOR = 30;
-  public static final int OSS_PATCH = 1;
+  public static final int OSS_PATCH = 2;
   public static final String OSS_SUFFIX = "";
 
   public static final RuntimeDomain DOMAIN = OSS_DOMAIN;
diff --git a/third_party/protobuf/java/core/src/test/java/com/google/protobuf/ConcurrentDescriptorsTest.java b/third_party/protobuf/java/core/src/test/java/com/google/protobuf/ConcurrentDescriptorsTest.java
new file mode 100644
index 0000000000000..176861671f74a
--- /dev/null
+++ b/third_party/protobuf/java/core/src/test/java/com/google/protobuf/ConcurrentDescriptorsTest.java
@@ -0,0 +1,113 @@
+// Protocol Buffers - Google's data interchange format
+// Copyright 2025 Google Inc.  All rights reserved.
+//
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file or at
+// https://developers.google.com/open-source/licenses/bsd
+
+package com.google.protobuf;
+
+import proto2_unittest.UnittestProto;
+import proto2_unittest.UnittestProto.TestAllTypes;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+@RunWith(JUnit4.class)
+public final class ConcurrentDescriptorsTest {
+  public static final int N = 1000;
+
+  static class Worker implements Runnable {
+    private final CountDownLatch startSignal;
+    private final CountDownLatch doneSignal;
+    private final Runnable trigger;
+
+    Worker(CountDownLatch startSignal, CountDownLatch doneSignal, Runnable trigger) {
+      this.startSignal = startSignal;
+      this.doneSignal = doneSignal;
+      this.trigger = trigger;
+    }
+
+    @Override
+    public void run() {
+      try {
+        startSignal.await();
+        trigger.run();
+      } catch (InterruptedException | RuntimeException e) {
+        doneSignal.countDown();
+        throw new RuntimeException(e); // Rethrow for main thread to handle
+      }
+      doneSignal.countDown();
+    }
+  }
+
+  @Test
+  public void testSimultaneousStaticInit() throws InterruptedException {
+    ExecutorService executor = Executors.newFixedThreadPool(N);
+    CountDownLatch startSignal = new CountDownLatch(1);
+    CountDownLatch doneSignal = new CountDownLatch(N);
+    List<Future<?>> futures = new ArrayList<>(N);
+    for (int i = 0; i < N; i++) {
+      Future<?> future =
+          executor.submit(
+              new Worker(
+                  startSignal,
+                  doneSignal,
+                  // Static method invocation triggers static initialization.
+                  () -> Assert.assertNotNull(UnittestProto.getDescriptor())));
+      futures.add(future);
+    }
+    startSignal.countDown();
+    doneSignal.await();
+    System.out.println("Done with all threads...");
+    for (int i = 0; i < futures.size(); i++) {
+      try {
+        futures.get(i).get();
+      } catch (ExecutionException e) {
+        Assert.fail("Thread " + i + " failed with:" + e.getMessage());
+      }
+    }
+    executor.shutdown();
+  }
+
+  @Test
+  public void testSimultaneousFeatureAccess() throws InterruptedException {
+    ExecutorService executor = Executors.newFixedThreadPool(N);
+    CountDownLatch startSignal = new CountDownLatch(1);
+    CountDownLatch doneSignal = new CountDownLatch(N);
+    List<Future<?>> futures = new ArrayList<>(N);
+    for (int i = 0; i < N; i++) {
+      Future<?> future =
+          executor.submit(
+              new Worker(
+                  startSignal,
+                  doneSignal,
+                  // hasPresence() uses the [field_presence] feature.
+                  () ->
+                      Assert.assertTrue(
+                          TestAllTypes.getDescriptor()
+                              .findFieldByName("optional_int32")
+                              .hasPresence())));
+      futures.add(future);
+    }
+    startSignal.countDown();
+    doneSignal.await();
+    System.out.println("Done with all threads...");
+    for (int i = 0; i < futures.size(); i++) {
+      try {
+        futures.get(i).get();
+      } catch (ExecutionException e) {
+        Assert.fail("Thread " + i + " failed with:" + e.getMessage());
+      }
+    }
+    executor.shutdown();
+  }
+}
diff --git a/third_party/protobuf/java/internal/BUILD.bazel b/third_party/protobuf/java/internal/BUILD.bazel
index f349e5a6a14f7..79fb9f551525a 100644
--- a/third_party/protobuf/java/internal/BUILD.bazel
+++ b/third_party/protobuf/java/internal/BUILD.bazel
@@ -19,7 +19,7 @@ java_test(
     srcs = ["JavaVersionTest.java"],
     test_class = "JavaVersionTest",
     deps = [
-        "@protobuf_maven//:com_google_truth_truth",
-        "@protobuf_maven//:junit_junit",
+        "@protobuf_maven_dev//:com_google_truth_truth",
+        "@protobuf_maven_dev//:junit_junit",
     ],
 )
diff --git a/third_party/protobuf/java/kotlin-lite/BUILD.bazel b/third_party/protobuf/java/kotlin-lite/BUILD.bazel
index 6f3d01b6d478e..70b21ac34fcbf 100644
--- a/third_party/protobuf/java/kotlin-lite/BUILD.bazel
+++ b/third_party/protobuf/java/kotlin-lite/BUILD.bazel
@@ -115,8 +115,8 @@ kt_jvm_library(
         "//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests",
         "//java/kotlin:shared_runtime",
         "//java/lite",
-        "@protobuf_maven//:com_google_truth_truth",
-        "@protobuf_maven//:junit_junit",
+        "@protobuf_maven_dev//:com_google_truth_truth",
+        "@protobuf_maven_dev//:junit_junit",
         "@rules_kotlin//kotlin/compiler:kotlin-test",
     ],
 )
@@ -211,8 +211,8 @@ kt_jvm_library(
     deps = [
         ":kotlin_unittest_lite",
         "//java/core:test_util_lite",
-        "@protobuf_maven//:com_google_truth_truth",
-        "@protobuf_maven//:junit_junit",
+        "@protobuf_maven_dev//:com_google_truth_truth",
+        "@protobuf_maven_dev//:junit_junit",
     ],
 )
 
@@ -228,8 +228,8 @@ kt_jvm_library(
     deps = [
         ":kotlin_proto3_unittest_lite",
         "//java/core:test_util_lite",
-        "@protobuf_maven//:com_google_truth_truth",
-        "@protobuf_maven//:junit_junit",
+        "@protobuf_maven_dev//:com_google_truth_truth",
+        "@protobuf_maven_dev//:junit_junit",
     ],
 )
 
diff --git a/third_party/protobuf/java/kotlin/BUILD.bazel b/third_party/protobuf/java/kotlin/BUILD.bazel
index f286d6878b40d..501f13725bffd 100644
--- a/third_party/protobuf/java/kotlin/BUILD.bazel
+++ b/third_party/protobuf/java/kotlin/BUILD.bazel
@@ -117,8 +117,8 @@ kt_jvm_library(
     deps = [
         ":bytestring_lib",
         "//java/core:lite_runtime_only",
-        "@protobuf_maven//:com_google_truth_truth",
-        "@protobuf_maven//:junit_junit",
+        "@protobuf_maven_dev//:com_google_truth_truth",
+        "@protobuf_maven_dev//:junit_junit",
         "@rules_kotlin//kotlin/compiler:kotlin-test",
     ],
 )
@@ -152,9 +152,9 @@ kt_jvm_library(
         ":example_extensible_message_java_proto",
         ":only_for_use_in_proto_generated_code_its_generator_and_tests",
         ":shared_runtime",
-        "@protobuf_maven//:com_google_guava_guava_testlib",
-        "@protobuf_maven//:com_google_truth_truth",
-        "@protobuf_maven//:junit_junit",
+        "@protobuf_maven_dev//:com_google_guava_guava_testlib",
+        "@protobuf_maven_dev//:com_google_truth_truth",
+        "@protobuf_maven_dev//:junit_junit",
         "@rules_kotlin//kotlin/compiler:kotlin-test",
     ],
 )
@@ -178,8 +178,8 @@ kt_jvm_library(
         ":only_for_use_in_proto_generated_code_its_generator_and_tests",
         ":shared_runtime",
         "//java/core",
-        "@protobuf_maven//:com_google_truth_truth",
-        "@protobuf_maven//:junit_junit",
+        "@protobuf_maven_dev//:com_google_truth_truth",
+        "@protobuf_maven_dev//:junit_junit",
         "@rules_kotlin//kotlin/compiler:kotlin-test",
     ],
 )
@@ -290,8 +290,8 @@ kt_jvm_library(
     deps = [
         ":kotlin_unittest",
         "//java/core:test_util",
-        "@protobuf_maven//:com_google_truth_truth",
-        "@protobuf_maven//:junit_junit",
+        "@protobuf_maven_dev//:com_google_truth_truth",
+        "@protobuf_maven_dev//:junit_junit",
         "@rules_kotlin//kotlin/compiler:kotlin-reflect",
     ],
 )
@@ -308,8 +308,8 @@ kt_jvm_library(
     deps = [
         ":kotlin_proto3_unittest",
         "//java/core:test_util",
-        "@protobuf_maven//:com_google_truth_truth",
-        "@protobuf_maven//:junit_junit",
+        "@protobuf_maven_dev//:com_google_truth_truth",
+        "@protobuf_maven_dev//:junit_junit",
     ],
 )
 
diff --git a/third_party/protobuf/java/kotlin/pom.xml b/third_party/protobuf/java/kotlin/pom.xml
index 9c2ce19053afa..555312cebdb8a 100644
--- a/third_party/protobuf/java/kotlin/pom.xml
+++ b/third_party/protobuf/java/kotlin/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>com.google.protobuf</groupId>
     <artifactId>protobuf-parent</artifactId>
-    <version>4.30.1</version>
+    <version>4.30.2</version>
   </parent>
 
   <artifactId>protobuf-kotlin</artifactId>
diff --git a/third_party/protobuf/java/lite/BUILD.bazel b/third_party/protobuf/java/lite/BUILD.bazel
index c67cb767cb7cb..0754c742b2fa1 100644
--- a/third_party/protobuf/java/lite/BUILD.bazel
+++ b/third_party/protobuf/java/lite/BUILD.bazel
@@ -76,8 +76,8 @@ junit_tests(
         "//java/core:java_test_protos_java_proto_lite",
         "//java/core:lite_test_protos_java_proto_lite",
         "//java/core:test_util_lite",
-        "@protobuf_maven//:com_google_truth_truth",
-        "@protobuf_maven//:junit_junit",
+        "@protobuf_maven_dev//:com_google_truth_truth",
+        "@protobuf_maven_dev//:junit_junit",
     ],
 )
 
diff --git a/third_party/protobuf/java/osgi/BUILD.bazel b/third_party/protobuf/java/osgi/BUILD.bazel
index 0a9b210525d9e..e55bc2b821b3b 100644
--- a/third_party/protobuf/java/osgi/BUILD.bazel
+++ b/third_party/protobuf/java/osgi/BUILD.bazel
@@ -9,8 +9,8 @@ java_binary(
     srcs = ["OsgiWrapper.java"],
     main_class = "com.google.protobuf.osgi.OsgiWrapper",
     deps = [
-        "@protobuf_maven//:biz_aQute_bnd_biz_aQute_bndlib",
-        "@protobuf_maven//:com_google_guava_guava",
-        "@protobuf_maven//:info_picocli_picocli",
+        "@protobuf_maven_dev//:biz_aQute_bnd_biz_aQute_bndlib",
+        "@protobuf_maven_dev//:com_google_guava_guava",
+        "@protobuf_maven_dev//:info_picocli_picocli",
     ],
 )
diff --git a/third_party/protobuf/java/pom.xml b/third_party/protobuf/java/pom.xml
index 2256dd88f54c0..2101328397f13 100644
--- a/third_party/protobuf/java/pom.xml
+++ b/third_party/protobuf/java/pom.xml
@@ -4,7 +4,7 @@
 
   <groupId>com.google.protobuf</groupId>
   <artifactId>protobuf-parent</artifactId>
-  <version>4.30.1</version>
+  <version>4.30.2</version>
   <packaging>pom</packaging>
 
   <name>Protocol Buffers [Parent]</name>
diff --git a/third_party/protobuf/java/protoc/pom.xml b/third_party/protobuf/java/protoc/pom.xml
index 9e5c0202ba0cf..3a00092f84c97 100644
--- a/third_party/protobuf/java/protoc/pom.xml
+++ b/third_party/protobuf/java/protoc/pom.xml
@@ -8,7 +8,7 @@
   </parent>
   <groupId>com.google.protobuf</groupId>
   <artifactId>protoc</artifactId>
-  <version>4.30.1</version>
+  <version>4.30.2</version>
   <packaging>pom</packaging>
   <name>Protobuf Compiler</name>
   <description>
diff --git a/third_party/protobuf/java/util/BUILD.bazel b/third_party/protobuf/java/util/BUILD.bazel
index d80e63fb8aab7..2e0e6f17e050a 100644
--- a/third_party/protobuf/java/util/BUILD.bazel
+++ b/third_party/protobuf/java/util/BUILD.bazel
@@ -14,11 +14,11 @@ java_library(
     visibility = ["//visibility:public"],
     deps = [
         "//java/core",
-        "@maven//:com_google_code_findbugs_jsr305",
-        "@maven//:com_google_code_gson_gson",
-        "@maven//:com_google_errorprone_error_prone_annotations",
-        "@maven//:com_google_guava_guava",
-        "@maven//:com_google_j2objc_j2objc_annotations",
+        "@protobuf_maven//:com_google_code_findbugs_jsr305",
+        "@protobuf_maven//:com_google_code_gson_gson",
+        "@protobuf_maven//:com_google_errorprone_error_prone_annotations",
+        "@protobuf_maven//:com_google_guava_guava",
+        "@protobuf_maven//:com_google_j2objc_j2objc_annotations",
     ],
 )
 
@@ -91,11 +91,11 @@ junit_tests(
         ":util",
         "//java/core",
         "//java/core:generic_test_protos_java_proto",
-        "@protobuf_maven//:com_google_code_gson_gson",
-        "@protobuf_maven//:com_google_guava_guava",
-        "@protobuf_maven//:com_google_j2objc_j2objc_annotations",
-        "@protobuf_maven//:com_google_truth_truth",
-        "@protobuf_maven//:junit_junit",
+        "@protobuf_maven_dev//:com_google_code_gson_gson",
+        "@protobuf_maven_dev//:com_google_guava_guava",
+        "@protobuf_maven_dev//:com_google_j2objc_j2objc_annotations",
+        "@protobuf_maven_dev//:com_google_truth_truth",
+        "@protobuf_maven_dev//:junit_junit",
     ],
 )
 
diff --git a/third_party/protobuf/patches/0029-make-initializers-optimizable.patch b/third_party/protobuf/patches/0029-make-initializers-optimizable.patch
index 7646aad4839be..9761524ef2227 100644
--- a/third_party/protobuf/patches/0029-make-initializers-optimizable.patch
+++ b/third_party/protobuf/patches/0029-make-initializers-optimizable.patch
@@ -57,6 +57,27 @@ index 989734e57f5d5..f7e29d6028ebc 100644
      InitProtobufDefaultsSlow();
    }
  }
+diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc
+index b800697578986..31f2a7f6d8999 100644
+--- a/src/google/protobuf/port_def.inc
++++ b/src/google/protobuf/port_def.inc
+@@ -573,16 +573,6 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3),
+ #define PROTOBUF_FINAL final
+ #endif
+ 
+-// Determines the platforms where descriptor weak messages can be used.
+-#ifdef PROTOBUF_DESCRIPTOR_WEAK_MESSAGES_ALLOWED
+-#error PROTOBUF_DESCRIPTOR_WEAK_MESSAGES_ALLOWED was previously defined
+-#endif
+-#if defined(__GNUC__) && defined(__clang__) && !defined(__APPLE__) && \
+-    !defined(_MSC_VER)
+-#define PROTOBUF_DESCRIPTOR_WEAK_MESSAGES_ALLOWED
+-#endif
+-
+-
+ // TODO: Enable the feature by default and remove this flag.
+ #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
+ #error PROTOBUF_PREFETCH_PARSE_TABLE was previously defined
 -- 
-2.49.0.rc1.451.g8f38331e32-goog
+2.49.0.901.g37484f566f-goog
 
diff --git a/third_party/protobuf/patches/0030-workaround-windows-constinit.patch b/third_party/protobuf/patches/0030-workaround-windows-constinit.patch
index 29787a6401044..f57827b69adf0 100644
--- a/third_party/protobuf/patches/0030-workaround-windows-constinit.patch
+++ b/third_party/protobuf/patches/0030-workaround-windows-constinit.patch
@@ -39,18 +39,18 @@ index 460ff6c0244ec..8672b34a76967 100644
          )cc");
    }
 diff --git a/src/google/protobuf/compiler/cpp/message.cc b/src/google/protobuf/compiler/cpp/message.cc
-index 1b4b8e6051772..9caa39c20af28 100644
---- a/third_party/protobuf/src/google/protobuf/compiler/cpp/message.cc
-+++ b/third_party/protobuf/src/google/protobuf/compiler/cpp/message.cc
+index 4b9b9b84b1ea8..b89bfaab5bd58 100644
+--- a/src/google/protobuf/compiler/cpp/message.cc
++++ b/src/google/protobuf/compiler/cpp/message.cc
 @@ -4210,7 +4210,7 @@ void MessageGenerator::GenerateClassData(io::Printer* p) {
              };
            }
  
--          PROTOBUF_CONSTINIT$ dllexport_decl$
-+          PROTOBUF_CONSTINIT_WITH_PTR$ dllexport_decl$
-               PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const $pbi$::ClassDataFull
-                   $classname$_class_data_ =
-                       $classname$::InternalGenerateClassData_();
+-          PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
++          PROTOBUF_CONSTINIT_WITH_PTR PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+               $pbi$::ClassDataFull $classname$_class_data_ =
+                   $classname$::InternalGenerateClassData_();
+
 diff --git a/src/google/protobuf/compiler/cpp/parse_function_generator.cc b/src/google/protobuf/compiler/cpp/parse_function_generator.cc
 index 774679bd30804..be004cef4b39b 100644
 --- a/src/google/protobuf/compiler/cpp/parse_function_generator.cc
diff --git a/third_party/protobuf/patches/0052-remove-dynamic-annotations.patch b/third_party/protobuf/patches/0052-remove-dynamic-annotations.patch
index e734317767e0f..8abb2aeb2a8a7 100644
--- a/third_party/protobuf/patches/0052-remove-dynamic-annotations.patch
+++ b/third_party/protobuf/patches/0052-remove-dynamic-annotations.patch
@@ -1,15 +1,15 @@
 diff --git a/src/google/protobuf/descriptor.cc b/src/google/protobuf/descriptor.cc
-index bbbeb343b7cf7..d2a631b4d465e 100644
+index dcbea63f535e3..e2795db8331df 100644
 --- a/src/google/protobuf/descriptor.cc
 +++ b/src/google/protobuf/descriptor.cc
-@@ -37,7 +37,6 @@
+@@ -38,7 +38,6 @@
  #include "absl/base/call_once.h"
  #include "absl/base/casts.h"
  #include "absl/base/const_init.h"
 -#include "absl/base/dynamic_annotations.h"
+ #include "absl/base/optimization.h"
  #include "absl/base/thread_annotations.h"
  #include "absl/cleanup/cleanup.h"
- #include "absl/container/btree_map.h"
 diff --git a/src/google/protobuf/repeated_field.h b/src/google/protobuf/repeated_field.h
 index cacad88b13735..e428811d27169 100644
 --- a/src/google/protobuf/repeated_field.h
diff --git a/third_party/protobuf/patches/0054-use-full-types-in-java-context.patch b/third_party/protobuf/patches/0054-use-full-types-in-java-context.patch
index c693b32b9912d..86d100deacd3e 100644
--- a/third_party/protobuf/patches/0054-use-full-types-in-java-context.patch
+++ b/third_party/protobuf/patches/0054-use-full-types-in-java-context.patch
@@ -1,19 +1,19 @@
 diff --git a/src/google/protobuf/compiler/java/context.h b/src/google/protobuf/compiler/java/context.h
 index 993301bbd796b..8117ce67821bd 100644
---- a//src/google/protobuf/compiler/java/context.h
-+++ b//src/google/protobuf/compiler/java/context.h
-@@ -12,1 +12,1 @@
+--- a/src/google/protobuf/compiler/java/context.h
++++ b/src/google/protobuf/compiler/java/context.h
+@@ -12,6 +12,7 @@
  #include <vector>
-
+ 
  #include "absl/container/flat_hash_map.h"
 +#include "google/protobuf/compiler/java/field_common.h"
  #include "google/protobuf/compiler/java/helpers.h"
  #include "google/protobuf/compiler/java/options.h"
  #include "google/protobuf/port.h"
-@@ -36,2 +37,2 @@ namespace protobuf {
+@@ -36,8 +37,6 @@ namespace protobuf {
  namespace compiler {
  namespace java {
-
+ 
 -struct FieldGeneratorInfo;
 -struct OneofGeneratorInfo;
  // A context object holds the information that is shared among all code
diff --git a/third_party/protobuf/php/ext/google/protobuf/protobuf.h b/third_party/protobuf/php/ext/google/protobuf/protobuf.h
index 3bee72a04bd33..61e7be7b33f88 100644
--- a/third_party/protobuf/php/ext/google/protobuf/protobuf.h
+++ b/third_party/protobuf/php/ext/google/protobuf/protobuf.h
@@ -32,7 +32,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_setter, 0, 0, 1)
 ZEND_ARG_INFO(0, value)
 ZEND_END_ARG_INFO()
 
-#define PHP_PROTOBUF_VERSION "4.30.1"
+#define PHP_PROTOBUF_VERSION "4.30.2"
 
 // ptr -> PHP object cache. This is a weak map that caches lazily-created
 // wrapper objects around upb types:
diff --git a/third_party/protobuf/pkg/BUILD.bazel b/third_party/protobuf/pkg/BUILD.bazel
index 0c2c00894bc41..fdc00fe2a6d61 100644
--- a/third_party/protobuf/pkg/BUILD.bazel
+++ b/third_party/protobuf/pkg/BUILD.bazel
@@ -224,8 +224,15 @@ cc_dist_library(
         "//src/google/protobuf/compiler/java:names",
         "//src/google/protobuf/compiler/objectivec:names",
         "//src/google/protobuf/compiler/php:names",
-        # TODO Make this private once gRPC migrates off it.
+        # TODO Make these private in the next breaking C++ release.
+        "//src/google/protobuf/compiler/cpp:generator_headers",
+        "//src/google/protobuf/compiler/csharp:generator_headers",
+        "//src/google/protobuf/compiler/java:generator_headers",
+        "//src/google/protobuf/compiler/kotlin:generator_headers",
+        "//src/google/protobuf/compiler/objectivec:generator_headers",
         "//src/google/protobuf/compiler/php",
+        "//src/google/protobuf/compiler/python:generator_headers",
+        "//src/google/protobuf/compiler/ruby:generator_headers",
     ],
 )
 
diff --git a/third_party/protobuf/protobuf_version.bzl b/third_party/protobuf/protobuf_version.bzl
index 6267795d6b05d..81269e49e8793 100644
--- a/third_party/protobuf/protobuf_version.bzl
+++ b/third_party/protobuf/protobuf_version.bzl
@@ -1,8 +1,8 @@
 """ Contains version numbers to be used in other bzl files """
-PROTOC_VERSION = "30.1"
-PROTOBUF_JAVA_VERSION = "4.30.1"
-PROTOBUF_PYTHON_VERSION = "6.30.1"
-PROTOBUF_PHP_VERSION = "4.30.1"
-PROTOBUF_RUBY_VERSION = "4.30.1"
-PROTOBUF_RUST_VERSION = "4.30.1"
+PROTOC_VERSION = "30.2"
+PROTOBUF_JAVA_VERSION = "4.30.2"
+PROTOBUF_PYTHON_VERSION = "6.30.2"
+PROTOBUF_PHP_VERSION = "4.30.2"
+PROTOBUF_RUBY_VERSION = "4.30.2"
+PROTOBUF_RUST_VERSION = "4.30.2"
 PROTOBUF_PREVIOUS_RELEASE = "28.0-rc1"
diff --git a/third_party/protobuf/python/google/protobuf/__init__.py b/third_party/protobuf/python/google/protobuf/__init__.py
index cf28114a785af..6f52a5f9de409 100755
--- a/third_party/protobuf/python/google/protobuf/__init__.py
+++ b/third_party/protobuf/python/google/protobuf/__init__.py
@@ -7,4 +7,4 @@
 
 # Copyright 2007 Google Inc. All Rights Reserved.
 
-__version__ = '6.30.1'
+__version__ = '6.30.2'
diff --git a/third_party/protobuf/python/google/protobuf/compiler/plugin_pb2.py b/third_party/protobuf/python/google/protobuf/compiler/plugin_pb2.py
index 692eecbe85b72..341a3e4a2ed26 100644
--- a/third_party/protobuf/python/google/protobuf/compiler/plugin_pb2.py
+++ b/third_party/protobuf/python/google/protobuf/compiler/plugin_pb2.py
@@ -2,7 +2,7 @@
 # Generated by the protocol buffer compiler.  DO NOT EDIT!
 # NO CHECKED-IN PROTOBUF GENCODE
 # source: google/protobuf/compiler/plugin.proto
-# Protobuf Python Version: 6.30.1
+# Protobuf Python Version: 6.30.2
 """Generated protocol buffer code."""
 from google.protobuf import descriptor as _descriptor
 from google.protobuf import descriptor_pool as _descriptor_pool
@@ -13,7 +13,7 @@ _runtime_version.ValidateProtobufRuntimeVersion(
     _runtime_version.Domain.PUBLIC,
     6,
     30,
-    1,
+    2,
     '',
     'google/protobuf/compiler/plugin.proto'
 )
diff --git a/third_party/protobuf/python/google/protobuf/descriptor_pb2.py b/third_party/protobuf/python/google/protobuf/descriptor_pb2.py
index 79a8c3ad74d01..854f35df799b8 100644
--- a/third_party/protobuf/python/google/protobuf/descriptor_pb2.py
+++ b/third_party/protobuf/python/google/protobuf/descriptor_pb2.py
@@ -2,7 +2,7 @@
 # Generated by the protocol buffer compiler.  DO NOT EDIT!
 # NO CHECKED-IN PROTOBUF GENCODE
 # source: google/protobuf/descriptor.proto
-# Protobuf Python Version: 6.30.1
+# Protobuf Python Version: 6.30.2
 """Generated protocol buffer code."""
 from google.protobuf import descriptor as _descriptor
 from google.protobuf import descriptor_pool as _descriptor_pool
@@ -13,7 +13,7 @@ _runtime_version.ValidateProtobufRuntimeVersion(
     _runtime_version.Domain.PUBLIC,
     6,
     30,
-    1,
+    2,
     '',
     'google/protobuf/descriptor.proto'
 )
diff --git a/third_party/protobuf/python/google/protobuf/runtime_version.py b/third_party/protobuf/python/google/protobuf/runtime_version.py
index d4367acc42de3..02889243f166a 100644
--- a/third_party/protobuf/python/google/protobuf/runtime_version.py
+++ b/third_party/protobuf/python/google/protobuf/runtime_version.py
@@ -29,7 +29,7 @@ class Domain(Enum):
 OSS_DOMAIN = Domain.PUBLIC
 OSS_MAJOR = 6
 OSS_MINOR = 30
-OSS_PATCH = 1
+OSS_PATCH = 2
 OSS_SUFFIX = ''
 
 DOMAIN = OSS_DOMAIN
diff --git a/third_party/protobuf/ruby/google-protobuf.gemspec b/third_party/protobuf/ruby/google-protobuf.gemspec
index c899bbd52bdd6..1d3cead349d6f 100644
--- a/third_party/protobuf/ruby/google-protobuf.gemspec
+++ b/third_party/protobuf/ruby/google-protobuf.gemspec
@@ -1,6 +1,6 @@
 Gem::Specification.new do |s|
   s.name        = "google-protobuf"
-  s.version     = "4.30.1"
+  s.version     = "4.30.2"
   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/third_party/protobuf/ruby/pom.xml b/third_party/protobuf/ruby/pom.xml
index d9cd3b9711cbc..742313e525974 100644
--- a/third_party/protobuf/ruby/pom.xml
+++ b/third_party/protobuf/ruby/pom.xml
@@ -9,7 +9,7 @@
 
     <groupId>com.google.protobuf.jruby</groupId>
     <artifactId>protobuf-jruby</artifactId>
-    <version>4.30.1</version>
+    <version>4.30.2</version>
     <name>Protocol Buffer JRuby native extension</name>
     <description>
       Protocol Buffers are a way of encoding structured data in an efficient yet
@@ -76,7 +76,7 @@
         <dependency>
           <groupId>com.google.protobuf</groupId>
           <artifactId>protobuf-java-util</artifactId>
-          <version>4.30.1</version>
+          <version>4.30.2</version>
         </dependency>
         <dependency>
             <groupId>org.jruby</groupId>
diff --git a/third_party/protobuf/src/file_lists.cmake b/third_party/protobuf/src/file_lists.cmake
index d74a982f79ba1..a2c1997cc79c9 100644
--- a/third_party/protobuf/src/file_lists.cmake
+++ b/third_party/protobuf/src/file_lists.cmake
@@ -316,9 +316,11 @@ set(libprotoc_public_hdrs
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/code_generator.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/code_generator_lite.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/command_line_interface.h
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/generator.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/helpers.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/names.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/options.h
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/csharp/csharp_generator.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/csharp/names.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/context.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/doc_comment.h
@@ -328,7 +330,9 @@ set(libprotoc_public_hdrs
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/name_resolver.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/names.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/options.h
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/kotlin/generator.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/notices.h
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/objectivec/generator.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/objectivec/line_consumer.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/objectivec/names.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/objectivec/nsobject_methods.h
@@ -336,7 +340,10 @@ set(libprotoc_public_hdrs
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/php/php_generator.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/plugin.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/plugin.pb.h
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/python/generator.h
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/python/pyi_generator.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/retention.h
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/ruby/ruby_generator.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/scc.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/subprocess.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/versions.h
diff --git a/third_party/protobuf/src/google/protobuf/any.pb.cc b/third_party/protobuf/src/google/protobuf/any.pb.cc
index 53e27aaa956bc..d824f97467fcc 100644
--- a/third_party/protobuf/src/google/protobuf/any.pb.cc
+++ b/third_party/protobuf/src/google/protobuf/any.pb.cc
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/any.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #include "google/protobuf/any.pb.h"
 
@@ -228,10 +228,9 @@ constexpr auto Any::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        Any_class_data_ =
-            Any::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull Any_class_data_ =
+        Any::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
diff --git a/third_party/protobuf/src/google/protobuf/any.pb.h b/third_party/protobuf/src/google/protobuf/any.pb.h
index 5586d7c83397d..801f5dfbf5697 100644
--- a/third_party/protobuf/src/google/protobuf/any.pb.h
+++ b/third_party/protobuf/src/google/protobuf/any.pb.h
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/any.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #ifndef google_2fprotobuf_2fany_2eproto_2epb_2eh
 #define google_2fprotobuf_2fany_2eproto_2epb_2eh
@@ -12,7 +12,7 @@
 #include <utility>
 
 #include "google/protobuf/runtime_version.h"
-#if PROTOBUF_VERSION != 6030001
+#if PROTOBUF_VERSION != 6030002
 #error "Protobuf C++ gencode is built with an incompatible version of"
 #error "Protobuf C++ headers/runtime. See"
 #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
diff --git a/third_party/protobuf/src/google/protobuf/api.pb.cc b/third_party/protobuf/src/google/protobuf/api.pb.cc
index 4039a9c6c0b4d..fd2135654cd10 100644
--- a/third_party/protobuf/src/google/protobuf/api.pb.cc
+++ b/third_party/protobuf/src/google/protobuf/api.pb.cc
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/api.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #include "google/protobuf/api.pb.h"
 
@@ -398,10 +398,9 @@ constexpr auto Api::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        Api_class_data_ =
-            Api::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull Api_class_data_ =
+        Api::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -899,10 +898,9 @@ constexpr auto Method::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        Method_class_data_ =
-            Method::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull Method_class_data_ =
+        Method::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -1368,10 +1366,9 @@ constexpr auto Mixin::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        Mixin_class_data_ =
-            Mixin::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull Mixin_class_data_ =
+        Mixin::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
diff --git a/third_party/protobuf/src/google/protobuf/api.pb.h b/third_party/protobuf/src/google/protobuf/api.pb.h
index 2404c5ebcaffb..eb3e59edd4606 100644
--- a/third_party/protobuf/src/google/protobuf/api.pb.h
+++ b/third_party/protobuf/src/google/protobuf/api.pb.h
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/api.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #ifndef google_2fprotobuf_2fapi_2eproto_2epb_2eh
 #define google_2fprotobuf_2fapi_2eproto_2epb_2eh
@@ -12,7 +12,7 @@
 #include <utility>
 
 #include "google/protobuf/runtime_version.h"
-#if PROTOBUF_VERSION != 6030001
+#if PROTOBUF_VERSION != 6030002
 #error "Protobuf C++ gencode is built with an incompatible version of"
 #error "Protobuf C++ headers/runtime. See"
 #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
diff --git a/third_party/protobuf/src/google/protobuf/compiler/cpp/BUILD.bazel b/third_party/protobuf/src/google/protobuf/compiler/cpp/BUILD.bazel
index 72aa5e26ef1f7..f1febdd486a40 100644
--- a/third_party/protobuf/src/google/protobuf/compiler/cpp/BUILD.bazel
+++ b/third_party/protobuf/src/google/protobuf/compiler/cpp/BUILD.bazel
@@ -22,6 +22,20 @@ cc_library(
     ],
 )
 
+cc_library(
+    name = "generator_headers",
+    hdrs = ["generator.h"],
+    copts = COPTS,
+    strip_include_prefix = "/src",
+    visibility = ["//pkg:__pkg__"],
+    deps = [
+        "//src/google/protobuf",
+        "//src/google/protobuf/compiler:code_generator",
+        "@abseil-cpp//absl/status",
+        "@abseil-cpp//absl/strings",
+    ],
+)
+
 cc_library(
     name = "names_internal",
     srcs = [
diff --git a/third_party/protobuf/src/google/protobuf/compiler/cpp/message.cc b/third_party/protobuf/src/google/protobuf/compiler/cpp/message.cc
index dc5a522b922ab..b89bfaab5bd58 100644
--- a/third_party/protobuf/src/google/protobuf/compiler/cpp/message.cc
+++ b/third_party/protobuf/src/google/protobuf/compiler/cpp/message.cc
@@ -4210,10 +4210,9 @@ void MessageGenerator::GenerateClassData(io::Printer* p) {
             };
           }
 
-          PROTOBUF_CONSTINIT_WITH_PTR$ dllexport_decl$
-              PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const $pbi$::ClassDataFull
-                  $classname$_class_data_ =
-                      $classname$::InternalGenerateClassData_();
+          PROTOBUF_CONSTINIT_WITH_PTR PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+              $pbi$::ClassDataFull $classname$_class_data_ =
+                  $classname$::InternalGenerateClassData_();
 
           //~ This function needs to be marked as weak to avoid significantly
           //~ slowing down compilation times.  This breaks up LLVM's SCC
diff --git a/third_party/protobuf/src/google/protobuf/compiler/csharp/BUILD.bazel b/third_party/protobuf/src/google/protobuf/compiler/csharp/BUILD.bazel
index c140fc3882aef..1e965e4fac4e1 100644
--- a/third_party/protobuf/src/google/protobuf/compiler/csharp/BUILD.bazel
+++ b/third_party/protobuf/src/google/protobuf/compiler/csharp/BUILD.bazel
@@ -20,6 +20,18 @@ cc_library(
     ],
 )
 
+cc_library(
+    name = "generator_headers",
+    hdrs = ["csharp_generator.h"],
+    copts = COPTS,
+    strip_include_prefix = "/src",
+    visibility = ["//pkg:__pkg__"],
+    deps = [
+        "//src/google/protobuf",
+        "//src/google/protobuf/compiler:code_generator",
+    ],
+)
+
 cc_library(
     name = "csharp",
     srcs = [
diff --git a/third_party/protobuf/src/google/protobuf/compiler/java/BUILD.bazel b/third_party/protobuf/src/google/protobuf/compiler/java/BUILD.bazel
index 16c2128df4f28..5197a0f27145e 100644
--- a/third_party/protobuf/src/google/protobuf/compiler/java/BUILD.bazel
+++ b/third_party/protobuf/src/google/protobuf/compiler/java/BUILD.bazel
@@ -24,6 +24,18 @@ cc_library(
     ],
 )
 
+cc_library(
+    name = "generator_headers",
+    hdrs = ["generator.h"],
+    copts = COPTS,
+    strip_include_prefix = "/src",
+    visibility = ["//pkg:__pkg__"],
+    deps = [
+        "//src/google/protobuf",
+        "//src/google/protobuf/compiler:code_generator",
+    ],
+)
+
 cc_library(
     name = "helpers",
     srcs = [
diff --git a/third_party/protobuf/src/google/protobuf/compiler/java/java_features.pb.cc b/third_party/protobuf/src/google/protobuf/compiler/java/java_features.pb.cc
index 2261a6891101e..c779bea1d6fa2 100644
--- a/third_party/protobuf/src/google/protobuf/compiler/java/java_features.pb.cc
+++ b/third_party/protobuf/src/google/protobuf/compiler/java/java_features.pb.cc
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/compiler/java/java_features.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #include "google/protobuf/compiler/java/java_features.pb.h"
 
@@ -224,10 +224,9 @@ constexpr auto JavaFeatures::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOC_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        JavaFeatures_class_data_ =
-            JavaFeatures::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull JavaFeatures_class_data_ =
+        JavaFeatures::InternalGenerateClassData_();
 
 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL JavaFeatures::GetClassData() const {
   ::google::protobuf::internal::PrefetchToLocalCache(&JavaFeatures_class_data_);
diff --git a/third_party/protobuf/src/google/protobuf/compiler/java/java_features.pb.h b/third_party/protobuf/src/google/protobuf/compiler/java/java_features.pb.h
index 83d6a661d8cfc..7944e5e1fd063 100644
--- a/third_party/protobuf/src/google/protobuf/compiler/java/java_features.pb.h
+++ b/third_party/protobuf/src/google/protobuf/compiler/java/java_features.pb.h
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/compiler/java/java_features.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #ifndef google_2fprotobuf_2fcompiler_2fjava_2fjava_5ffeatures_2eproto_2epb_2eh
 #define google_2fprotobuf_2fcompiler_2fjava_2fjava_5ffeatures_2eproto_2epb_2eh
@@ -12,7 +12,7 @@
 #include <utility>
 
 #include "google/protobuf/runtime_version.h"
-#if PROTOBUF_VERSION != 6030001
+#if PROTOBUF_VERSION != 6030002
 #error "Protobuf C++ gencode is built with an incompatible version of"
 #error "Protobuf C++ headers/runtime. See"
 #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
diff --git a/third_party/protobuf/src/google/protobuf/compiler/kotlin/BUILD.bazel b/third_party/protobuf/src/google/protobuf/compiler/kotlin/BUILD.bazel
index 3ae6340a59d18..94799b7b7d1d1 100644
--- a/third_party/protobuf/src/google/protobuf/compiler/kotlin/BUILD.bazel
+++ b/third_party/protobuf/src/google/protobuf/compiler/kotlin/BUILD.bazel
@@ -1,5 +1,17 @@
 load("//build_defs:cpp_opts.bzl", "COPTS")
 
+cc_library(
+    name = "generator_headers",
+    hdrs = ["generator.h"],
+    copts = COPTS,
+    strip_include_prefix = "/src",
+    visibility = ["//pkg:__pkg__"],
+    deps = [
+        "//src/google/protobuf",
+        "//src/google/protobuf/compiler:code_generator",
+    ],
+)
+
 cc_library(
     name = "kotlin",
     srcs = ["generator.cc"],
diff --git a/third_party/protobuf/src/google/protobuf/compiler/objectivec/BUILD.bazel b/third_party/protobuf/src/google/protobuf/compiler/objectivec/BUILD.bazel
index b74a135a5623c..26b476687d7ac 100644
--- a/third_party/protobuf/src/google/protobuf/compiler/objectivec/BUILD.bazel
+++ b/third_party/protobuf/src/google/protobuf/compiler/objectivec/BUILD.bazel
@@ -17,6 +17,18 @@ cc_library(
     ],
 )
 
+cc_library(
+    name = "generator_headers",
+    hdrs = ["generator.h"],
+    copts = COPTS,
+    strip_include_prefix = "/src",
+    visibility = ["//pkg:__pkg__"],
+    deps = [
+        "//src/google/protobuf",
+        "//src/google/protobuf/compiler:code_generator",
+    ],
+)
+
 cc_library(
     name = "names_internal",
     srcs = [
diff --git a/third_party/protobuf/src/google/protobuf/compiler/plugin.pb.cc b/third_party/protobuf/src/google/protobuf/compiler/plugin.pb.cc
index 082c0b908c9f1..7684b28b6e9f1 100644
--- a/third_party/protobuf/src/google/protobuf/compiler/plugin.pb.cc
+++ b/third_party/protobuf/src/google/protobuf/compiler/plugin.pb.cc
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/compiler/plugin.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #include "google/protobuf/compiler/plugin.pb.h"
 
@@ -412,10 +412,9 @@ constexpr auto Version::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOC_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        Version_class_data_ =
-            Version::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull Version_class_data_ =
+        Version::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -784,10 +783,9 @@ constexpr auto CodeGeneratorRequest::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOC_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        CodeGeneratorRequest_class_data_ =
-            CodeGeneratorRequest::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull CodeGeneratorRequest_class_data_ =
+        CodeGeneratorRequest::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -1192,10 +1190,9 @@ constexpr auto CodeGeneratorResponse_File::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOC_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        CodeGeneratorResponse_File_class_data_ =
-            CodeGeneratorResponse_File::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull CodeGeneratorResponse_File_class_data_ =
+        CodeGeneratorResponse_File::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -1567,10 +1564,9 @@ constexpr auto CodeGeneratorResponse::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOC_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        CodeGeneratorResponse_class_data_ =
-            CodeGeneratorResponse::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull CodeGeneratorResponse_class_data_ =
+        CodeGeneratorResponse::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
diff --git a/third_party/protobuf/src/google/protobuf/compiler/plugin.pb.h b/third_party/protobuf/src/google/protobuf/compiler/plugin.pb.h
index 4ff61ab87d89c..cd7f2e7e3972c 100644
--- a/third_party/protobuf/src/google/protobuf/compiler/plugin.pb.h
+++ b/third_party/protobuf/src/google/protobuf/compiler/plugin.pb.h
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/compiler/plugin.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #ifndef google_2fprotobuf_2fcompiler_2fplugin_2eproto_2epb_2eh
 #define google_2fprotobuf_2fcompiler_2fplugin_2eproto_2epb_2eh
@@ -12,7 +12,7 @@
 #include <utility>
 
 #include "google/protobuf/runtime_version.h"
-#if PROTOBUF_VERSION != 6030001
+#if PROTOBUF_VERSION != 6030002
 #error "Protobuf C++ gencode is built with an incompatible version of"
 #error "Protobuf C++ headers/runtime. See"
 #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
diff --git a/third_party/protobuf/src/google/protobuf/compiler/python/BUILD.bazel b/third_party/protobuf/src/google/protobuf/compiler/python/BUILD.bazel
index f3b00be1496ad..7fde8260a7657 100644
--- a/third_party/protobuf/src/google/protobuf/compiler/python/BUILD.bazel
+++ b/third_party/protobuf/src/google/protobuf/compiler/python/BUILD.bazel
@@ -6,6 +6,26 @@ load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
 load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
 load("//build_defs:cpp_opts.bzl", "COPTS")
 
+cc_library(
+    name = "generator_headers",
+    hdrs = [
+        "generator.h",
+        "pyi_generator.h",
+    ],
+    copts = COPTS,
+    strip_include_prefix = "/src",
+    visibility = ["//pkg:__pkg__"],
+    deps = [
+        "//src/google/protobuf",
+        "//src/google/protobuf/compiler:code_generator",
+        "@abseil-cpp//absl/container:flat_hash_map",
+        "@abseil-cpp//absl/container:flat_hash_set",
+        "@abseil-cpp//absl/memory",
+        "@abseil-cpp//absl/strings",
+        "@abseil-cpp//absl/synchronization",
+    ],
+)
+
 cc_library(
     name = "python",
     srcs = [
diff --git a/third_party/protobuf/src/google/protobuf/compiler/ruby/BUILD.bazel b/third_party/protobuf/src/google/protobuf/compiler/ruby/BUILD.bazel
index 21091399c4948..7a2fdd8cd9c96 100644
--- a/third_party/protobuf/src/google/protobuf/compiler/ruby/BUILD.bazel
+++ b/third_party/protobuf/src/google/protobuf/compiler/ruby/BUILD.bazel
@@ -6,6 +6,18 @@ load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
 load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
 load("//build_defs:cpp_opts.bzl", "COPTS")
 
+cc_library(
+    name = "generator_headers",
+    hdrs = ["ruby_generator.h"],
+    copts = COPTS,
+    strip_include_prefix = "/src",
+    visibility = ["//pkg:__pkg__"],
+    deps = [
+        "//src/google/protobuf",
+        "//src/google/protobuf/compiler:code_generator",
+    ],
+)
+
 cc_library(
     name = "ruby",
     srcs = ["ruby_generator.cc"],
diff --git a/third_party/protobuf/src/google/protobuf/compiler/versions.h b/third_party/protobuf/src/google/protobuf/compiler/versions.h
index 964e6204e2fe0..ecd2db976cc12 100644
--- a/third_party/protobuf/src/google/protobuf/compiler/versions.h
+++ b/third_party/protobuf/src/google/protobuf/compiler/versions.h
@@ -53,10 +53,10 @@
 //
 // Please avoid changing them manually, as they should be updated automatically
 // by Protobuf release process.
-#define PROTOBUF_CPP_VERSION_STRING "6.30.1"
-#define PROTOBUF_JAVA_VERSION_STRING "4.30.1"
-#define PROTOBUF_PYTHON_VERSION_STRING "6.30.1"
-#define PROTOBUF_RUST_VERSION_STRING "4.30.1"
+#define PROTOBUF_CPP_VERSION_STRING "6.30.2"
+#define PROTOBUF_JAVA_VERSION_STRING "4.30.2"
+#define PROTOBUF_PYTHON_VERSION_STRING "6.30.2"
+#define PROTOBUF_RUST_VERSION_STRING "4.30.2"
 
 
 namespace google {
diff --git a/third_party/protobuf/src/google/protobuf/cpp_features.pb.cc b/third_party/protobuf/src/google/protobuf/cpp_features.pb.cc
index 76ceeef097f39..30d2395bf6c18 100644
--- a/third_party/protobuf/src/google/protobuf/cpp_features.pb.cc
+++ b/third_party/protobuf/src/google/protobuf/cpp_features.pb.cc
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/cpp_features.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #include "google/protobuf/cpp_features.pb.h"
 
@@ -218,10 +218,9 @@ constexpr auto CppFeatures::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        CppFeatures_class_data_ =
-            CppFeatures::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull CppFeatures_class_data_ =
+        CppFeatures::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
diff --git a/third_party/protobuf/src/google/protobuf/cpp_features.pb.h b/third_party/protobuf/src/google/protobuf/cpp_features.pb.h
index 249d1e9c63253..fa85bf16d773a 100644
--- a/third_party/protobuf/src/google/protobuf/cpp_features.pb.h
+++ b/third_party/protobuf/src/google/protobuf/cpp_features.pb.h
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/cpp_features.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #ifndef google_2fprotobuf_2fcpp_5ffeatures_2eproto_2epb_2eh
 #define google_2fprotobuf_2fcpp_5ffeatures_2eproto_2epb_2eh
@@ -12,7 +12,7 @@
 #include <utility>
 
 #include "google/protobuf/runtime_version.h"
-#if PROTOBUF_VERSION != 6030001
+#if PROTOBUF_VERSION != 6030002
 #error "Protobuf C++ gencode is built with an incompatible version of"
 #error "Protobuf C++ headers/runtime. See"
 #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
diff --git a/third_party/protobuf/src/google/protobuf/descriptor.cc b/third_party/protobuf/src/google/protobuf/descriptor.cc
index dcbea63f535e3..e2795db8331df 100644
--- a/third_party/protobuf/src/google/protobuf/descriptor.cc
+++ b/third_party/protobuf/src/google/protobuf/descriptor.cc
@@ -38,7 +38,6 @@
 #include "absl/base/call_once.h"
 #include "absl/base/casts.h"
 #include "absl/base/const_init.h"
-#include "absl/base/dynamic_annotations.h"
 #include "absl/base/optimization.h"
 #include "absl/base/thread_annotations.h"
 #include "absl/cleanup/cleanup.h"
diff --git a/third_party/protobuf/src/google/protobuf/descriptor.pb.cc b/third_party/protobuf/src/google/protobuf/descriptor.pb.cc
index 06c33301afe33..3768b2e90d598 100644
--- a/third_party/protobuf/src/google/protobuf/descriptor.pb.cc
+++ b/third_party/protobuf/src/google/protobuf/descriptor.pb.cc
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/descriptor.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #include "google/protobuf/descriptor.pb.h"
 
@@ -2459,10 +2459,9 @@ constexpr auto FileDescriptorSet::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        FileDescriptorSet_class_data_ =
-            FileDescriptorSet::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull FileDescriptorSet_class_data_ =
+        FileDescriptorSet::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -2795,10 +2794,9 @@ constexpr auto FileDescriptorProto::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        FileDescriptorProto_class_data_ =
-            FileDescriptorProto::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull FileDescriptorProto_class_data_ =
+        FileDescriptorProto::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -3431,10 +3429,9 @@ constexpr auto DescriptorProto_ExtensionRange::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        DescriptorProto_ExtensionRange_class_data_ =
-            DescriptorProto_ExtensionRange::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull DescriptorProto_ExtensionRange_class_data_ =
+        DescriptorProto_ExtensionRange::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -3743,10 +3740,9 @@ constexpr auto DescriptorProto_ReservedRange::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        DescriptorProto_ReservedRange_class_data_ =
-            DescriptorProto_ReservedRange::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull DescriptorProto_ReservedRange_class_data_ =
+        DescriptorProto_ReservedRange::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -4084,10 +4080,9 @@ constexpr auto DescriptorProto::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        DescriptorProto_class_data_ =
-            DescriptorProto::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull DescriptorProto_class_data_ =
+        DescriptorProto::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -4651,10 +4646,9 @@ constexpr auto ExtensionRangeOptions_Declaration::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        ExtensionRangeOptions_Declaration_class_data_ =
-            ExtensionRangeOptions_Declaration::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull ExtensionRangeOptions_Declaration_class_data_ =
+        ExtensionRangeOptions_Declaration::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -5036,10 +5030,9 @@ constexpr auto ExtensionRangeOptions::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        ExtensionRangeOptions_class_data_ =
-            ExtensionRangeOptions::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull ExtensionRangeOptions_class_data_ =
+        ExtensionRangeOptions::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -5444,10 +5437,9 @@ constexpr auto FieldDescriptorProto::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        FieldDescriptorProto_class_data_ =
-            FieldDescriptorProto::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull FieldDescriptorProto_class_data_ =
+        FieldDescriptorProto::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -5984,10 +5976,9 @@ constexpr auto OneofDescriptorProto::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        OneofDescriptorProto_class_data_ =
-            OneofDescriptorProto::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull OneofDescriptorProto_class_data_ =
+        OneofDescriptorProto::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -6276,10 +6267,9 @@ constexpr auto EnumDescriptorProto_EnumReservedRange::InternalGenerateClassData_
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        EnumDescriptorProto_EnumReservedRange_class_data_ =
-            EnumDescriptorProto_EnumReservedRange::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull EnumDescriptorProto_EnumReservedRange_class_data_ =
+        EnumDescriptorProto_EnumReservedRange::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -6587,10 +6577,9 @@ constexpr auto EnumDescriptorProto::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        EnumDescriptorProto_class_data_ =
-            EnumDescriptorProto::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull EnumDescriptorProto_class_data_ =
+        EnumDescriptorProto::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -6992,10 +6981,9 @@ constexpr auto EnumValueDescriptorProto::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        EnumValueDescriptorProto_class_data_ =
-            EnumValueDescriptorProto::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull EnumValueDescriptorProto_class_data_ =
+        EnumValueDescriptorProto::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -7341,10 +7329,9 @@ constexpr auto ServiceDescriptorProto::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        ServiceDescriptorProto_class_data_ =
-            ServiceDescriptorProto::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull ServiceDescriptorProto_class_data_ =
+        ServiceDescriptorProto::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -7700,10 +7687,9 @@ constexpr auto MethodDescriptorProto::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        MethodDescriptorProto_class_data_ =
-            MethodDescriptorProto::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull MethodDescriptorProto_class_data_ =
+        MethodDescriptorProto::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -8165,10 +8151,9 @@ constexpr auto FileOptions::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        FileOptions_class_data_ =
-            FileOptions::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull FileOptions_class_data_ =
+        FileOptions::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -8973,10 +8958,9 @@ constexpr auto MessageOptions::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        MessageOptions_class_data_ =
-            MessageOptions::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull MessageOptions_class_data_ =
+        MessageOptions::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -9376,10 +9360,9 @@ constexpr auto FieldOptions_EditionDefault::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        FieldOptions_EditionDefault_class_data_ =
-            FieldOptions_EditionDefault::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull FieldOptions_EditionDefault_class_data_ =
+        FieldOptions_EditionDefault::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -9671,10 +9654,9 @@ constexpr auto FieldOptions_FeatureSupport::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        FieldOptions_FeatureSupport_class_data_ =
-            FieldOptions_FeatureSupport::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull FieldOptions_FeatureSupport_class_data_ =
+        FieldOptions_FeatureSupport::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -10057,10 +10039,9 @@ constexpr auto FieldOptions::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        FieldOptions_class_data_ =
-            FieldOptions::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull FieldOptions_class_data_ =
+        FieldOptions::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -10658,10 +10639,9 @@ constexpr auto OneofOptions::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        OneofOptions_class_data_ =
-            OneofOptions::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull OneofOptions_class_data_ =
+        OneofOptions::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -11006,10 +10986,9 @@ constexpr auto EnumOptions::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        EnumOptions_class_data_ =
-            EnumOptions::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull EnumOptions_class_data_ =
+        EnumOptions::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -11416,10 +11395,9 @@ constexpr auto EnumValueOptions::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        EnumValueOptions_class_data_ =
-            EnumValueOptions::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull EnumValueOptions_class_data_ =
+        EnumValueOptions::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -11835,10 +11813,9 @@ constexpr auto ServiceOptions::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        ServiceOptions_class_data_ =
-            ServiceOptions::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull ServiceOptions_class_data_ =
+        ServiceOptions::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -12209,10 +12186,9 @@ constexpr auto MethodOptions::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        MethodOptions_class_data_ =
-            MethodOptions::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull MethodOptions_class_data_ =
+        MethodOptions::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -12582,10 +12558,9 @@ constexpr auto UninterpretedOption_NamePart::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        UninterpretedOption_NamePart_class_data_ =
-            UninterpretedOption_NamePart::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull UninterpretedOption_NamePart_class_data_ =
+        UninterpretedOption_NamePart::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -12899,10 +12874,9 @@ constexpr auto UninterpretedOption::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        UninterpretedOption_class_data_ =
-            UninterpretedOption::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull UninterpretedOption_class_data_ =
+        UninterpretedOption::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -13343,10 +13317,9 @@ constexpr auto FeatureSet::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        FeatureSet_class_data_ =
-            FeatureSet::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull FeatureSet_class_data_ =
+        FeatureSet::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -13764,10 +13737,9 @@ constexpr auto FeatureSetDefaults_FeatureSetEditionDefault::InternalGenerateClas
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        FeatureSetDefaults_FeatureSetEditionDefault_class_data_ =
-            FeatureSetDefaults_FeatureSetEditionDefault::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull FeatureSetDefaults_FeatureSetEditionDefault_class_data_ =
+        FeatureSetDefaults_FeatureSetEditionDefault::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -14121,10 +14093,9 @@ constexpr auto FeatureSetDefaults::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        FeatureSetDefaults_class_data_ =
-            FeatureSetDefaults::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull FeatureSetDefaults_class_data_ =
+        FeatureSetDefaults::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -14471,10 +14442,9 @@ constexpr auto SourceCodeInfo_Location::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        SourceCodeInfo_Location_class_data_ =
-            SourceCodeInfo_Location::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull SourceCodeInfo_Location_class_data_ =
+        SourceCodeInfo_Location::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -14851,10 +14821,9 @@ constexpr auto SourceCodeInfo::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        SourceCodeInfo_class_data_ =
-            SourceCodeInfo::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull SourceCodeInfo_class_data_ =
+        SourceCodeInfo::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -15142,10 +15111,9 @@ constexpr auto GeneratedCodeInfo_Annotation::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        GeneratedCodeInfo_Annotation_class_data_ =
-            GeneratedCodeInfo_Annotation::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull GeneratedCodeInfo_Annotation_class_data_ =
+        GeneratedCodeInfo_Annotation::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -15511,10 +15479,9 @@ constexpr auto GeneratedCodeInfo::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        GeneratedCodeInfo_class_data_ =
-            GeneratedCodeInfo::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull GeneratedCodeInfo_class_data_ =
+        GeneratedCodeInfo::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
diff --git a/third_party/protobuf/src/google/protobuf/descriptor.pb.h b/third_party/protobuf/src/google/protobuf/descriptor.pb.h
index 0b2a75d592d6f..c5c86b5afe3c7 100644
--- a/third_party/protobuf/src/google/protobuf/descriptor.pb.h
+++ b/third_party/protobuf/src/google/protobuf/descriptor.pb.h
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/descriptor.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #ifndef google_2fprotobuf_2fdescriptor_2eproto_2epb_2eh
 #define google_2fprotobuf_2fdescriptor_2eproto_2epb_2eh
@@ -12,7 +12,7 @@
 #include <utility>
 
 #include "google/protobuf/runtime_version.h"
-#if PROTOBUF_VERSION != 6030001
+#if PROTOBUF_VERSION != 6030002
 #error "Protobuf C++ gencode is built with an incompatible version of"
 #error "Protobuf C++ headers/runtime. See"
 #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
diff --git a/third_party/protobuf/src/google/protobuf/duration.pb.cc b/third_party/protobuf/src/google/protobuf/duration.pb.cc
index 3376e2b90c179..c27d262b84979 100644
--- a/third_party/protobuf/src/google/protobuf/duration.pb.cc
+++ b/third_party/protobuf/src/google/protobuf/duration.pb.cc
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/duration.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #include "google/protobuf/duration.pb.h"
 
@@ -197,10 +197,9 @@ constexpr auto Duration::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        Duration_class_data_ =
-            Duration::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull Duration_class_data_ =
+        Duration::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
diff --git a/third_party/protobuf/src/google/protobuf/duration.pb.h b/third_party/protobuf/src/google/protobuf/duration.pb.h
index 9b1d27bfc315f..1a099d55d84ac 100644
--- a/third_party/protobuf/src/google/protobuf/duration.pb.h
+++ b/third_party/protobuf/src/google/protobuf/duration.pb.h
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/duration.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #ifndef google_2fprotobuf_2fduration_2eproto_2epb_2eh
 #define google_2fprotobuf_2fduration_2eproto_2epb_2eh
@@ -12,7 +12,7 @@
 #include <utility>
 
 #include "google/protobuf/runtime_version.h"
-#if PROTOBUF_VERSION != 6030001
+#if PROTOBUF_VERSION != 6030002
 #error "Protobuf C++ gencode is built with an incompatible version of"
 #error "Protobuf C++ headers/runtime. See"
 #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
diff --git a/third_party/protobuf/src/google/protobuf/empty.pb.cc b/third_party/protobuf/src/google/protobuf/empty.pb.cc
index 6f954a9edb64b..e63abe34dc9b3 100644
--- a/third_party/protobuf/src/google/protobuf/empty.pb.cc
+++ b/third_party/protobuf/src/google/protobuf/empty.pb.cc
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/empty.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #include "google/protobuf/empty.pb.h"
 
@@ -159,10 +159,9 @@ constexpr auto Empty::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        Empty_class_data_ =
-            Empty::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull Empty_class_data_ =
+        Empty::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
diff --git a/third_party/protobuf/src/google/protobuf/empty.pb.h b/third_party/protobuf/src/google/protobuf/empty.pb.h
index b267284b423dc..83246804e91ff 100644
--- a/third_party/protobuf/src/google/protobuf/empty.pb.h
+++ b/third_party/protobuf/src/google/protobuf/empty.pb.h
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/empty.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #ifndef google_2fprotobuf_2fempty_2eproto_2epb_2eh
 #define google_2fprotobuf_2fempty_2eproto_2epb_2eh
@@ -12,7 +12,7 @@
 #include <utility>
 
 #include "google/protobuf/runtime_version.h"
-#if PROTOBUF_VERSION != 6030001
+#if PROTOBUF_VERSION != 6030002
 #error "Protobuf C++ gencode is built with an incompatible version of"
 #error "Protobuf C++ headers/runtime. See"
 #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
diff --git a/third_party/protobuf/src/google/protobuf/field_mask.pb.cc b/third_party/protobuf/src/google/protobuf/field_mask.pb.cc
index 5c1fecaac5a1c..24c31459376b1 100644
--- a/third_party/protobuf/src/google/protobuf/field_mask.pb.cc
+++ b/third_party/protobuf/src/google/protobuf/field_mask.pb.cc
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/field_mask.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #include "google/protobuf/field_mask.pb.h"
 
@@ -208,10 +208,9 @@ constexpr auto FieldMask::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        FieldMask_class_data_ =
-            FieldMask::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull FieldMask_class_data_ =
+        FieldMask::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
diff --git a/third_party/protobuf/src/google/protobuf/field_mask.pb.h b/third_party/protobuf/src/google/protobuf/field_mask.pb.h
index 7eb97a01102f1..c3cefdc60a25f 100644
--- a/third_party/protobuf/src/google/protobuf/field_mask.pb.h
+++ b/third_party/protobuf/src/google/protobuf/field_mask.pb.h
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/field_mask.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #ifndef google_2fprotobuf_2ffield_5fmask_2eproto_2epb_2eh
 #define google_2fprotobuf_2ffield_5fmask_2eproto_2epb_2eh
@@ -12,7 +12,7 @@
 #include <utility>
 
 #include "google/protobuf/runtime_version.h"
-#if PROTOBUF_VERSION != 6030001
+#if PROTOBUF_VERSION != 6030002
 #error "Protobuf C++ gencode is built with an incompatible version of"
 #error "Protobuf C++ headers/runtime. See"
 #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
diff --git a/third_party/protobuf/src/google/protobuf/port.cc b/third_party/protobuf/src/google/protobuf/port.cc
index af668e9e2b40e..d60c2b89f5093 100644
--- a/third_party/protobuf/src/google/protobuf/port.cc
+++ b/third_party/protobuf/src/google/protobuf/port.cc
@@ -97,14 +97,9 @@ void RealDebugCounter::Register(absl::string_view name) {
   }
 }
 
-#if defined(__cpp_lib_constexpr_string) && __cpp_lib_constexpr_string >= 201907L
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT const GlobalEmptyString
-    fixed_address_empty_string{};
-#else
 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
     PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GlobalEmptyString
         fixed_address_empty_string{};
-#endif
 
 }  // namespace internal
 }  // namespace protobuf
diff --git a/third_party/protobuf/src/google/protobuf/port.h b/third_party/protobuf/src/google/protobuf/port.h
index 5f9e909a00333..386ecc02a4a92 100644
--- a/third_party/protobuf/src/google/protobuf/port.h
+++ b/third_party/protobuf/src/google/protobuf/port.h
@@ -494,20 +494,27 @@ class NoopDebugCounter {
 // Default empty string object. Don't use this directly. Instead, call
 // GetEmptyString() to get the reference. This empty string is aligned with a
 // minimum alignment of 8 bytes to match the requirement of ArenaStringPtr.
-#if defined(__cpp_lib_constexpr_string) && __cpp_lib_constexpr_string >= 201907L
+
 // Take advantage of C++20 constexpr support in std::string.
-class alignas(8) GlobalEmptyString {
+class alignas(8) GlobalEmptyStringConstexpr {
  public:
   const std::string& get() const { return value_; }
   // Nothing to init, or destroy.
   std::string* Init() const { return nullptr; }
 
+  template <typename T = std::string, bool = (T(), true)>
+  static constexpr std::true_type HasConstexprDefaultConstructor(int) {
+    return {};
+  }
+  static constexpr std::false_type HasConstexprDefaultConstructor(char) {
+    return {};
+  }
+
  private:
   std::string value_;
 };
-PROTOBUF_EXPORT extern const GlobalEmptyString fixed_address_empty_string;
-#else
-class alignas(8) GlobalEmptyString {
+
+class alignas(8) GlobalEmptyStringDynamicInit {
  public:
   const std::string& get() const {
     return *reinterpret_cast<const std::string*>(internal::Launder(buffer_));
@@ -519,8 +526,12 @@ class alignas(8) GlobalEmptyString {
  private:
   alignas(std::string) char buffer_[sizeof(std::string)];
 };
+
+using GlobalEmptyString = std::conditional_t<
+    GlobalEmptyStringConstexpr::HasConstexprDefaultConstructor(0),
+    const GlobalEmptyStringConstexpr, GlobalEmptyStringDynamicInit>;
+
 PROTOBUF_EXPORT extern GlobalEmptyString fixed_address_empty_string;
-#endif
 
 }  // namespace internal
 }  // namespace protobuf
diff --git a/third_party/protobuf/src/google/protobuf/port_def.inc b/third_party/protobuf/src/google/protobuf/port_def.inc
index b971127840ed4..31f2a7f6d8999 100644
--- a/third_party/protobuf/src/google/protobuf/port_def.inc
+++ b/third_party/protobuf/src/google/protobuf/port_def.inc
@@ -573,8 +573,6 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3),
 #define PROTOBUF_FINAL final
 #endif
 
-
-
 // TODO: Enable the feature by default and remove this flag.
 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
 #error PROTOBUF_PREFETCH_PARSE_TABLE was previously defined
diff --git a/third_party/protobuf/src/google/protobuf/runtime_version.h b/third_party/protobuf/src/google/protobuf/runtime_version.h
index f2ad6502f55d0..e767d60fdbfb7 100644
--- a/third_party/protobuf/src/google/protobuf/runtime_version.h
+++ b/third_party/protobuf/src/google/protobuf/runtime_version.h
@@ -18,7 +18,7 @@
 #endif  // PROTOBUF_OSS_VERSION_SUFFIX
 
 // The OSS versions are not stripped to avoid merging conflicts.
-#define PROTOBUF_OSS_VERSION 6030001
+#define PROTOBUF_OSS_VERSION 6030002
 #define PROTOBUF_OSS_VERSION_SUFFIX ""
 
 #define PROTOBUF_VERSION PROTOBUF_OSS_VERSION
diff --git a/third_party/protobuf/src/google/protobuf/source_context.pb.cc b/third_party/protobuf/src/google/protobuf/source_context.pb.cc
index ddb7f98510bf1..43dc2eaa4ab9b 100644
--- a/third_party/protobuf/src/google/protobuf/source_context.pb.cc
+++ b/third_party/protobuf/src/google/protobuf/source_context.pb.cc
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/source_context.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #include "google/protobuf/source_context.pb.h"
 
@@ -205,10 +205,9 @@ constexpr auto SourceContext::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        SourceContext_class_data_ =
-            SourceContext::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull SourceContext_class_data_ =
+        SourceContext::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
diff --git a/third_party/protobuf/src/google/protobuf/source_context.pb.h b/third_party/protobuf/src/google/protobuf/source_context.pb.h
index 268ffacccc297..978c4a86fdcf8 100644
--- a/third_party/protobuf/src/google/protobuf/source_context.pb.h
+++ b/third_party/protobuf/src/google/protobuf/source_context.pb.h
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/source_context.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #ifndef google_2fprotobuf_2fsource_5fcontext_2eproto_2epb_2eh
 #define google_2fprotobuf_2fsource_5fcontext_2eproto_2epb_2eh
@@ -12,7 +12,7 @@
 #include <utility>
 
 #include "google/protobuf/runtime_version.h"
-#if PROTOBUF_VERSION != 6030001
+#if PROTOBUF_VERSION != 6030002
 #error "Protobuf C++ gencode is built with an incompatible version of"
 #error "Protobuf C++ headers/runtime. See"
 #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
diff --git a/third_party/protobuf/src/google/protobuf/struct.pb.cc b/third_party/protobuf/src/google/protobuf/struct.pb.cc
index de1989fc8fbb6..93e4fc9bf3c94 100644
--- a/third_party/protobuf/src/google/protobuf/struct.pb.cc
+++ b/third_party/protobuf/src/google/protobuf/struct.pb.cc
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/struct.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #include "google/protobuf/struct.pb.h"
 
@@ -277,10 +277,9 @@ constexpr auto Struct_FieldsEntry_DoNotUse::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        Struct_FieldsEntry_DoNotUse_class_data_ =
-            Struct_FieldsEntry_DoNotUse::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull Struct_FieldsEntry_DoNotUse_class_data_ =
+        Struct_FieldsEntry_DoNotUse::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -440,10 +439,9 @@ constexpr auto Struct::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        Struct_class_data_ =
-            Struct::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull Struct_class_data_ =
+        Struct::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -803,10 +801,9 @@ constexpr auto Value::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        Value_class_data_ =
-            Value::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull Value_class_data_ =
+        Value::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -1183,10 +1180,9 @@ constexpr auto ListValue::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        ListValue_class_data_ =
-            ListValue::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull ListValue_class_data_ =
+        ListValue::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
diff --git a/third_party/protobuf/src/google/protobuf/struct.pb.h b/third_party/protobuf/src/google/protobuf/struct.pb.h
index 00e0a5e683b09..6ceeac781db86 100644
--- a/third_party/protobuf/src/google/protobuf/struct.pb.h
+++ b/third_party/protobuf/src/google/protobuf/struct.pb.h
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/struct.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #ifndef google_2fprotobuf_2fstruct_2eproto_2epb_2eh
 #define google_2fprotobuf_2fstruct_2eproto_2epb_2eh
@@ -12,7 +12,7 @@
 #include <utility>
 
 #include "google/protobuf/runtime_version.h"
-#if PROTOBUF_VERSION != 6030001
+#if PROTOBUF_VERSION != 6030002
 #error "Protobuf C++ gencode is built with an incompatible version of"
 #error "Protobuf C++ headers/runtime. See"
 #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
diff --git a/third_party/protobuf/src/google/protobuf/stubs/common.h b/third_party/protobuf/src/google/protobuf/stubs/common.h
index d315ee4e3b338..23f7400d9a8cb 100644
--- a/third_party/protobuf/src/google/protobuf/stubs/common.h
+++ b/third_party/protobuf/src/google/protobuf/stubs/common.h
@@ -45,7 +45,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 6030001
+#define GOOGLE_PROTOBUF_VERSION 6030002
 
 // A suffix string for alpha, beta or rc releases. Empty for stable releases.
 #define GOOGLE_PROTOBUF_VERSION_SUFFIX ""
diff --git a/third_party/protobuf/src/google/protobuf/timestamp.pb.cc b/third_party/protobuf/src/google/protobuf/timestamp.pb.cc
index 228182fce15a6..991070174d512 100644
--- a/third_party/protobuf/src/google/protobuf/timestamp.pb.cc
+++ b/third_party/protobuf/src/google/protobuf/timestamp.pb.cc
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/timestamp.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #include "google/protobuf/timestamp.pb.h"
 
@@ -197,10 +197,9 @@ constexpr auto Timestamp::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        Timestamp_class_data_ =
-            Timestamp::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull Timestamp_class_data_ =
+        Timestamp::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
diff --git a/third_party/protobuf/src/google/protobuf/timestamp.pb.h b/third_party/protobuf/src/google/protobuf/timestamp.pb.h
index a0d5d8fa66068..2f3d4eb32d81b 100644
--- a/third_party/protobuf/src/google/protobuf/timestamp.pb.h
+++ b/third_party/protobuf/src/google/protobuf/timestamp.pb.h
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/timestamp.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #ifndef google_2fprotobuf_2ftimestamp_2eproto_2epb_2eh
 #define google_2fprotobuf_2ftimestamp_2eproto_2epb_2eh
@@ -12,7 +12,7 @@
 #include <utility>
 
 #include "google/protobuf/runtime_version.h"
-#if PROTOBUF_VERSION != 6030001
+#if PROTOBUF_VERSION != 6030002
 #error "Protobuf C++ gencode is built with an incompatible version of"
 #error "Protobuf C++ headers/runtime. See"
 #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
diff --git a/third_party/protobuf/src/google/protobuf/type.pb.cc b/third_party/protobuf/src/google/protobuf/type.pb.cc
index 4d955a1678842..b3728dd0a4010 100644
--- a/third_party/protobuf/src/google/protobuf/type.pb.cc
+++ b/third_party/protobuf/src/google/protobuf/type.pb.cc
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/type.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #include "google/protobuf/type.pb.h"
 
@@ -545,10 +545,9 @@ constexpr auto Type::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        Type_class_data_ =
-            Type::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull Type_class_data_ =
+        Type::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -1043,10 +1042,9 @@ constexpr auto Field::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        Field_class_data_ =
-            Field::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull Field_class_data_ =
+        Field::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -1649,10 +1647,9 @@ constexpr auto Enum::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        Enum_class_data_ =
-            Enum::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull Enum_class_data_ =
+        Enum::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -2101,10 +2098,9 @@ constexpr auto EnumValue::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        EnumValue_class_data_ =
-            EnumValue::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull EnumValue_class_data_ =
+        EnumValue::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -2441,10 +2437,9 @@ constexpr auto Option::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        Option_class_data_ =
-            Option::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull Option_class_data_ =
+        Option::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
diff --git a/third_party/protobuf/src/google/protobuf/type.pb.h b/third_party/protobuf/src/google/protobuf/type.pb.h
index 6c113f933ce65..f310215737c21 100644
--- a/third_party/protobuf/src/google/protobuf/type.pb.h
+++ b/third_party/protobuf/src/google/protobuf/type.pb.h
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/type.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #ifndef google_2fprotobuf_2ftype_2eproto_2epb_2eh
 #define google_2fprotobuf_2ftype_2eproto_2epb_2eh
@@ -12,7 +12,7 @@
 #include <utility>
 
 #include "google/protobuf/runtime_version.h"
-#if PROTOBUF_VERSION != 6030001
+#if PROTOBUF_VERSION != 6030002
 #error "Protobuf C++ gencode is built with an incompatible version of"
 #error "Protobuf C++ headers/runtime. See"
 #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
diff --git a/third_party/protobuf/src/google/protobuf/wrappers.pb.cc b/third_party/protobuf/src/google/protobuf/wrappers.pb.cc
index 108b0ef9b9c1b..5eace5a0bef1d 100644
--- a/third_party/protobuf/src/google/protobuf/wrappers.pb.cc
+++ b/third_party/protobuf/src/google/protobuf/wrappers.pb.cc
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/wrappers.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #include "google/protobuf/wrappers.pb.h"
 
@@ -495,10 +495,9 @@ constexpr auto DoubleValue::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        DoubleValue_class_data_ =
-            DoubleValue::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull DoubleValue_class_data_ =
+        DoubleValue::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -731,10 +730,9 @@ constexpr auto FloatValue::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        FloatValue_class_data_ =
-            FloatValue::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull FloatValue_class_data_ =
+        FloatValue::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -967,10 +965,9 @@ constexpr auto Int64Value::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        Int64Value_class_data_ =
-            Int64Value::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull Int64Value_class_data_ =
+        Int64Value::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -1204,10 +1201,9 @@ constexpr auto UInt64Value::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        UInt64Value_class_data_ =
-            UInt64Value::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull UInt64Value_class_data_ =
+        UInt64Value::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -1441,10 +1437,9 @@ constexpr auto Int32Value::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        Int32Value_class_data_ =
-            Int32Value::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull Int32Value_class_data_ =
+        Int32Value::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -1678,10 +1673,9 @@ constexpr auto UInt32Value::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        UInt32Value_class_data_ =
-            UInt32Value::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull UInt32Value_class_data_ =
+        UInt32Value::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -1915,10 +1909,9 @@ constexpr auto BoolValue::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        BoolValue_class_data_ =
-            BoolValue::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull BoolValue_class_data_ =
+        BoolValue::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -2165,10 +2158,9 @@ constexpr auto StringValue::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        StringValue_class_data_ =
-            StringValue::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull StringValue_class_data_ =
+        StringValue::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
@@ -2429,10 +2421,9 @@ constexpr auto BytesValue::InternalGenerateClassData_() {
   };
 }
 
-PROTOBUF_CONSTINIT PROTOBUF_EXPORT
-    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ::google::protobuf::internal::ClassDataFull
-        BytesValue_class_data_ =
-            BytesValue::InternalGenerateClassData_();
+PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
+    ::google::protobuf::internal::ClassDataFull BytesValue_class_data_ =
+        BytesValue::InternalGenerateClassData_();
 
 PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData*
     PROTOBUF_NONNULL
diff --git a/third_party/protobuf/src/google/protobuf/wrappers.pb.h b/third_party/protobuf/src/google/protobuf/wrappers.pb.h
index d7061d27c8c79..d44b39d442625 100644
--- a/third_party/protobuf/src/google/protobuf/wrappers.pb.h
+++ b/third_party/protobuf/src/google/protobuf/wrappers.pb.h
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // NO CHECKED-IN PROTOBUF GENCODE
 // source: google/protobuf/wrappers.proto
-// Protobuf C++ Version: 6.30.1
+// Protobuf C++ Version: 6.30.2
 
 #ifndef google_2fprotobuf_2fwrappers_2eproto_2epb_2eh
 #define google_2fprotobuf_2fwrappers_2eproto_2epb_2eh
@@ -12,7 +12,7 @@
 #include <utility>
 
 #include "google/protobuf/runtime_version.h"
-#if PROTOBUF_VERSION != 6030001
+#if PROTOBUF_VERSION != 6030002
 #error "Protobuf C++ gencode is built with an incompatible version of"
 #error "Protobuf C++ headers/runtime. See"
 #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
diff --git a/third_party/protobuf/version.json b/third_party/protobuf/version.json
index 4c1c29da2f3a2..5d1c1d8f9a210 100644
--- a/third_party/protobuf/version.json
+++ b/third_party/protobuf/version.json
@@ -1,18 +1,18 @@
 {
     "30.x": {
-        "protoc_version": "30.1",
+        "protoc_version": "30.2",
         "lts": false,
-        "date": "2025-03-13",
+        "date": "2025-03-26",
         "languages": {
-            "cpp": "6.30.1",
-            "csharp": "3.30.1",
-            "java": "4.30.1",
-            "javascript": "3.30.1",
-            "objectivec": "4.30.1",
-            "php": "4.30.1",
-            "python": "6.30.1",
-            "ruby": "4.30.1",
-            "rust": "4.30.1"
+            "cpp": "6.30.2",
+            "csharp": "3.30.2",
+            "java": "4.30.2",
+            "javascript": "3.30.2",
+            "objectivec": "4.30.2",
+            "php": "4.30.2",
+            "python": "6.30.2",
+            "ruby": "4.30.2",
+            "rust": "4.30.2"
         }
     }
 }
\ No newline at end of file