Replace protobuf dev version with rc1

PiperOrigin-RevId: 682933226
Change-Id: If53f0bf4fd9ea5723602c0d4b5a2057909b4ac6d
diff --git a/MODULE.bazel b/MODULE.bazel
index 8078d0a..0bebed3 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -35,10 +35,10 @@
 bazel_dep(name = "abseil-cpp", version = "20240722.0")
 
 # TODO: wyv@ - use release 29.0 when that's out
-bazel_dep(name = "protobuf", version = "29.0-dev")
+bazel_dep(name = "protobuf", version = "29.0-rc1")
 archive_override(
     module_name = "protobuf",
-    integrity = "sha256-zF1Z3SMnHqcP1QKIeAoGGZDEARNXRWRgZi70eKldVlc=",
+    integrity = "sha256-tSay4N4FspF+VnsNCTGtMH3xV4ZrtHioxNeB/bjQhsI=",
     patch_strip = 1,
     # Temporarily patch out rules_rust stuff from protobuf. Not just because we don't need it,
     # but also because it introduces huge dependency bloat: rules_rust -> aspect_rules_js ->
@@ -48,8 +48,8 @@
         "//third_party/protobuf:remove_rules_rust.patch",
         "//third_party/protobuf:add_python_loads.patch",
     ],
-    strip_prefix = "protobuf-3b62052186d39775090fb074adcba078ea622f54",
-    urls = ["https://github.com/protocolbuffers/protobuf/archive/3b62052186d39775090fb074adcba078ea622f54.zip"],
+    strip_prefix = "protobuf-29.0-rc1",
+    urls = ["https://github.com/protocolbuffers/protobuf/releases/download/v29.0-rc1/protobuf-29.0-rc1.zip"],
 )
 
 # TODO: wyv@ - add remoteapis to the BCR
diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index 366b425..e5ae669 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -1286,7 +1286,7 @@
     "@@rules_jvm_external+//:extensions.bzl%maven": {
       "general": {
         "bzlTransitiveDigest": "6gDYyySuiGewh893nm2Hweq//l1UzIzMRE42K/CxHdc=",
-        "usagesDigest": "qKJYV6etgoFANCOF3VJdkgrjFDZ5RDxRLZDWAxccQig=",
+        "usagesDigest": "vnyM2sQ5CTr9bF/3IVolvW1ZGYEAkLdAZ7usyZxh4b4=",
         "recordedFileInputs": {
           "@@rules_jvm_external+//rules_jvm_external_deps_install.json": "cafb5d2d8119391eb2b322ce3840d3352ea82d496bdb8cbd4b6779ec4d044dda",
           "@@stardoc+//maven_install.json": "25f3c138ca52c61e0e7a564fe21f5709261b33d78d35427b6c18d7aa202d973b",
diff --git a/distdir.bzl b/distdir.bzl
index f0e4480..3f4c2cf 100644
--- a/distdir.bzl
+++ b/distdir.bzl
@@ -93,8 +93,8 @@
         # HACK: protobuf is currently an archive_override, so it doesn't show up in the lockfile.
         # we manually add it to the tar entry here.
         http_artifacts.append({
-            "url": "https://github.com/protocolbuffers/protobuf/archive/3b62052186d39775090fb074adcba078ea622f54.zip",
-            "integrity": "sha256-zF1Z3SMnHqcP1QKIeAoGGZDEARNXRWRgZi70eKldVlc=",
+            "url": "https://github.com/protocolbuffers/protobuf/releases/download/v29.0-rc1/protobuf-29.0-rc1.zip",
+            "integrity": "sha256-tSay4N4FspF+VnsNCTGtMH3xV4ZrtHioxNeB/bjQhsI=",
         })
 
     archive_files = []
diff --git a/src/test/shell/testenv.sh b/src/test/shell/testenv.sh
index 28a77c3..d3a7cbe 100755
--- a/src/test/shell/testenv.sh
+++ b/src/test/shell/testenv.sh
@@ -605,7 +605,7 @@
   cat >> "$1" <<EOF
 archive_override(
     module_name = "protobuf",
-    integrity = "sha256-zF1Z3SMnHqcP1QKIeAoGGZDEARNXRWRgZi70eKldVlc=",
+    integrity = "sha256-tSay4N4FspF+VnsNCTGtMH3xV4ZrtHioxNeB/bjQhsI=",
     patch_strip = 1,
     # Temporarily patch out rules_rust stuff from protobuf. Not just because we don't need it,
     # but also because it introduces huge dependency bloat: rules_rust -> aspect_rules_js ->
@@ -615,8 +615,8 @@
         "//third_party/protobuf:remove_rules_rust.patch",
         "//third_party/protobuf:add_python_loads.patch",
     ],
-    strip_prefix = "protobuf-3b62052186d39775090fb074adcba078ea622f54",
-    urls = ["https://github.com/protocolbuffers/protobuf/archive/3b62052186d39775090fb074adcba078ea622f54.zip"],
+    strip_prefix = "protobuf-29.0-rc1",
+    urls = ["https://github.com/protocolbuffers/protobuf/releases/download/v29.0-rc1/protobuf-29.0-rc1.zip"],
 )
 EOF
 }