diff --git a/Dependencies.txt b/Dependencies.txt
index 4a6a1d5861..eedaf2128e 100644
--- a/Dependencies.txt
+++ b/Dependencies.txt
@@ -1,6 +1,6 @@
ZLIB=1.3.1
abseil-cpp=20250127.0
-Protobuf=v29.3
+Protobuf=v30.1
Eigen=3.4.0
Re2=2024-04-01
CoinUtils=2.11.12
diff --git a/MODULE.bazel b/MODULE.bazel
index 7abb430c3d..9122c974aa 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -25,7 +25,7 @@ bazel_dep(name = "google_benchmark", version = "1.9.1", repo_name = "com_google_
bazel_dep(name = "googletest", version = "1.16.0", repo_name = "com_google_googletest")
bazel_dep(name = "highs", version = "1.10.0")
bazel_dep(name = "platforms", version = "0.0.11")
-bazel_dep(name = "protobuf", version = "29.3", repo_name = "com_google_protobuf")
+bazel_dep(name = "protobuf", version = "30.1", repo_name = "com_google_protobuf")
bazel_dep(name = "pybind11_abseil", version = "202402.0")
bazel_dep(name = "pybind11_bazel", version = "2.13.6")
bazel_dep(name = "pybind11_protobuf", version = "0.0.0-20240524-1d7a729")
diff --git a/bazel/notebook_requirements.in b/bazel/notebook_requirements.in
index ac7ded0926..8d23d12189 100644
--- a/bazel/notebook_requirements.in
+++ b/bazel/notebook_requirements.in
@@ -2,7 +2,7 @@
absl-py==2.1.0
immutabledict==3.0.0
numpy==2.2.0
-protobuf==5.29.3
+protobuf==6.30.1
requests==2.32.0
scipy==1.14.1
diff --git a/bazel/notebook_requirements.txt b/bazel/notebook_requirements.txt
index 19cfc17e6e..64e7817ae8 100644
--- a/bazel/notebook_requirements.txt
+++ b/bazel/notebook_requirements.txt
@@ -216,7 +216,7 @@ prometheus-client==0.17.1
# via jupyter-server
prompt-toolkit==3.0.39
# via ipython
-protobuf==5.29.3
+protobuf==6.30.1
# via
# -r bazel/notebook_requirements.in
# mypy-protobuf
diff --git a/bazel/ortools_requirements.in b/bazel/ortools_requirements.in
index b678926eac..58dd6506ee 100644
--- a/bazel/ortools_requirements.in
+++ b/bazel/ortools_requirements.in
@@ -2,7 +2,7 @@
absl-py==2.1.0
immutabledict==3.0.0
numpy==2.2.0
-protobuf==5.29.3
+protobuf==6.30.1
requests==2.32.3
scipy==1.14.1
diff --git a/bazel/ortools_requirements.txt b/bazel/ortools_requirements.txt
index 9d8023830e..5597056c44 100644
--- a/bazel/ortools_requirements.txt
+++ b/bazel/ortools_requirements.txt
@@ -45,7 +45,7 @@ platformdirs==3.10.0
# via
# black
# virtualenv
-protobuf==5.29.3
+protobuf==6.30.1
# via
# -r bazel/ortools_requirements.in
# mypy-protobuf
diff --git a/cmake/dependencies/CMakeLists.txt b/cmake/dependencies/CMakeLists.txt
index e5f6508948..4b12f243a4 100644
--- a/cmake/dependencies/CMakeLists.txt
+++ b/cmake/dependencies/CMakeLists.txt
@@ -113,10 +113,10 @@ if(BUILD_Protobuf)
FetchContent_Declare(
Protobuf
GIT_REPOSITORY "https://github.com/protocolbuffers/protobuf.git"
- GIT_TAG "v29.3"
+ GIT_TAG "v30.1"
GIT_SHALLOW TRUE
GIT_SUBMODULES ""
- PATCH_COMMAND git apply --ignore-whitespace "${CMAKE_CURRENT_LIST_DIR}/../../patches/protobuf-v29.3.patch"
+ PATCH_COMMAND git apply --ignore-whitespace "${CMAKE_CURRENT_LIST_DIR}/../../patches/protobuf-v30.1.patch"
)
FetchContent_MakeAvailable(Protobuf)
list(POP_BACK CMAKE_MESSAGE_INDENT)
diff --git a/cmake/host.CMakeLists.txt b/cmake/host.CMakeLists.txt
index d7e553976a..7c9b002b20 100644
--- a/cmake/host.CMakeLists.txt
+++ b/cmake/host.CMakeLists.txt
@@ -124,10 +124,10 @@ set(protobuf_WITH_ZLIB OFF)
FetchContent_Declare(
protobuf
GIT_REPOSITORY "https://github.com/protocolbuffers/protobuf.git"
- GIT_TAG "v29.3"
+ GIT_TAG "v30.1"
GIT_SHALLOW TRUE
GIT_SUBMODULES ""
- PATCH_COMMAND git apply --ignore-whitespace "${CMAKE_CURRENT_LIST_DIR}/@PATCHES_PATH@/protobuf-v29.3.patch"
+ PATCH_COMMAND git apply --ignore-whitespace "${CMAKE_CURRENT_LIST_DIR}/@PATCHES_PATH@/protobuf-v30.1.patch"
)
FetchContent_MakeAvailable(protobuf)
list(POP_BACK CMAKE_MESSAGE_INDENT)
diff --git a/ortools/dotnet/Google.OrTools-full.csproj.in b/ortools/dotnet/Google.OrTools-full.csproj.in
index f6b4a64e2e..7c3e6223a5 100644
--- a/ortools/dotnet/Google.OrTools-full.csproj.in
+++ b/ortools/dotnet/Google.OrTools-full.csproj.in
@@ -193,7 +193,7 @@
-
+
diff --git a/ortools/dotnet/Google.OrTools-local.csproj.in b/ortools/dotnet/Google.OrTools-local.csproj.in
index 42cbc69827..ee865fc9e4 100644
--- a/ortools/dotnet/Google.OrTools-local.csproj.in
+++ b/ortools/dotnet/Google.OrTools-local.csproj.in
@@ -181,7 +181,7 @@
-
+
diff --git a/ortools/java/pom-full.xml.in b/ortools/java/pom-full.xml.in
index 7bfddfefad..b8a66c3d08 100644
--- a/ortools/java/pom-full.xml.in
+++ b/ortools/java/pom-full.xml.in
@@ -109,7 +109,7 @@
com.google.protobuf
protobuf-java
- 4.29.3
+ 4.30.1
diff --git a/ortools/java/pom-local.xml.in b/ortools/java/pom-local.xml.in
index 10f4bb4f8e..b0e00b5034 100644
--- a/ortools/java/pom-local.xml.in
+++ b/ortools/java/pom-local.xml.in
@@ -81,7 +81,7 @@
com.google.protobuf
protobuf-java
- 4.29.3
+ 4.30.1
diff --git a/ortools/python/setup.py.in b/ortools/python/setup.py.in
index 261be3a075..11808f68eb 100644
--- a/ortools/python/setup.py.in
+++ b/ortools/python/setup.py.in
@@ -46,7 +46,7 @@ setup(
'absl-py >= 2.0.0',
'numpy >= 1.13.3',
'pandas >= 2.0.0',
- 'protobuf >= 5.29.3,<5.30',
+ 'protobuf >= 6.30.1,<6.31',
'immutabledict >= 3.0.0',
],
package_data={
diff --git a/patches/BUILD.bazel b/patches/BUILD.bazel
index 64bb85c149..a8203d56fd 100644
--- a/patches/BUILD.bazel
+++ b/patches/BUILD.bazel
@@ -14,7 +14,7 @@
exports_files([
"abseil-cpp-20250127.0.patch",
"highs-v1.9.0.patch",
- "protobuf-v29.3.patch",
+ "protobuf-v30.1.patch",
"pybind11_abseil.patch",
"pybind11_protobuf.patch",
"pybind11.patch",
diff --git a/patches/protobuf-v29.3.patch b/patches/protobuf-v30.1.patch
similarity index 100%
rename from patches/protobuf-v29.3.patch
rename to patches/protobuf-v30.1.patch