Skip to content

build(bazel): upgrade grpc to 1.82.0-pre1 and protobuf to 35.1#1162

Merged
aaylward merged 4 commits into
mainfrom
claude/grpc-1.82-upgrade-oy0edw
Jul 4, 2026
Merged

build(bazel): upgrade grpc to 1.82.0-pre1 and protobuf to 35.1#1162
aaylward merged 4 commits into
mainfrom
claude/grpc-1.82-upgrade-oy0edw

Conversation

@aaylward

@aaylward aaylward commented Jul 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

Lifts the protobuf 33.5 pin from #1113 and upgrades the C++ gRPC stack:

  • grpc: 1.76.0.bcr.11.82.0-pre1 (latest in the BCR; 1.82.0 stable isn't published yet)
  • protobuf: 33.535.1

Background

#1113 reverted to protobuf 33.5 because protobuf 34.0 removed upb_proto_library.bzl, which grpc 1.76.0.bcr.1 still loaded, breaking all CC gRPC targets. grpc 1.81+ instead loads upb_c_proto_library.bzl / upb_proto_reflection_library.bzl, which still exist in protobuf 34/35, so the pin can be lifted together with the grpc upgrade. grpc 1.82.0-pre1 itself declares protobuf 35.0, which resolves to 35.1 here.

MODULE.bazel.lock registry hashes were refreshed by module resolution; extension sections will self-update on the first build (default lockfile_mode=update).

Left alone for now: rules_swift 3.4.2 / rules_apple 4.3.3 (downgraded in #1113 only because of the protobuf pin) could be re-upgraded in a follow-up now that protobuf is ≥34.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Jw99o89a2UYe9NKLE9zGUx


Generated by Claude Code

The protobuf 33.5 pin from #1113 existed because protobuf 34.0 removed
upb_proto_library.bzl, which grpc 1.76.0.bcr.1 still loaded. grpc 1.81+
loads the surviving upb_c_proto_library.bzl / upb_proto_reflection_library.bzl
paths instead, so the pin can be lifted together with the grpc upgrade.

grpc 1.82.0 stable is not in the BCR yet; 1.82.0-pre1 is the latest
available and declares protobuf 35.0, which resolves to 35.1 here.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jw99o89a2UYe9NKLE9zGUx
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 4, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
1d4-web 57ffba6 Commit Preview URL

Branch Preview URL
Jul 04 2026, 02:48 PM

claude added 3 commits July 4, 2026 14:40
grpc 1.82.0-pre1 is published in the BCR without patches, and a few of
its build files still call native rules that Bazel 9 removed, which
aborted analysis in CI:

- third_party/address_sorting/address_sorting.bzl: native.cc_library
- third_party/xxhash/BUILD: cc_library without a load()
- bazel/grpc_build_system.bzl: native.objc_library (2x)

Apply the missing load() statements via single_version_override, the
same mechanism BCR .bcr.N revisions use (grpc 1.76.0.bcr.1 carried an
equivalent bazel_9_fixes.patch). Upstream already fixed the other
Bazel 9 issues (cc_grpc_library.bzl, most of grpc_build_system.bzl,
typing_extensions.BUILD) in this release.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jw99o89a2UYe9NKLE9zGUx
Bazel's built-in patch implementation mis-parses concatenated unified
diffs without diff --git file headers, attributing hunks to the wrong
file (CONTENT_DOES_NOT_MATCH_TARGET near line 873 on xxhash/BUILD).
Regenerated the same content as a git-format diff and verified it
applies with ctx.patch via a local file:// http_archive repro.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jw99o89a2UYe9NKLE9zGUx
@aaylward aaylward merged commit dd4f221 into main Jul 4, 2026
12 checks passed
@aaylward aaylward deleted the claude/grpc-1.82-upgrade-oy0edw branch July 4, 2026 16:17
aaylward added a commit that referenced this pull request Jul 4, 2026
These were downgraded in #1113 (rules_swift 3.5.0 -> 3.4.2,
rules_apple 4.4.0 -> 4.3.3) only because rules_swift 3.5.0 required
protobuf 34 while the repo was pinned to 33.5. With protobuf on 35.1
since #1162 the pin is gone, so move to the latest stable versions:

- rules_swift 3.4.2 -> 3.6.1
- rules_apple 4.3.3 -> 4.5.3
- apple_support 2.3.0 -> 2.7.0


Claude-Session: https://claude.ai/code/session_01Jw99o89a2UYe9NKLE9zGUx

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants