Skip to content

fix(framework): Bump grpcio to >=1.72#6714

Open
danieljanes wants to merge 1 commit intomainfrom
bump-grpcio
Open

fix(framework): Bump grpcio to >=1.72#6714
danieljanes wants to merge 1 commit intomainfrom
bump-grpcio

Conversation

@danieljanes
Copy link
Collaborator

This PR bumps grpcio from >1.70 to >1.72 because grpcio-tools==1.70.0 has erroneous wheel metadata.

Copilot AI review requested due to automatic review settings March 7, 2026 13:08
@danieljanes danieljanes requested a review from tanertopal as a code owner March 7, 2026 13:08
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the framework’s gRPC toolchain/dependencies to avoid issues with grpcio-tools==1.70.0 wheel metadata and aligns the checked-in generated gRPC stubs with the newer generator version.

Changes:

  • Bump grpcio / grpcio-health-checking minimum versions to >=1.72.0,<2.0.0 and grpcio-tools to ==1.72.0.
  • Update uv.lock to the newly resolved dependency set (notably including newer grpcio* and protobuf).
  • Regenerate Python protobuf/gRPC modules to reflect the updated generator/runtime versions.

Reviewed changes

Copilot reviewed 35 out of 36 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
framework/uv.lock Updates locked versions for grpc/protobuf-related dependencies.
framework/pyproject.toml Raises grpc/grpc-health-checking minimum versions and bumps grpcio-tools.
framework/py/flwr/proto/appio_pb2_grpc.py Updates generated gRPC version guard to 1.72.0.
framework/py/flwr/proto/appio_pb2.py Updates generated protobuf runtime version guard (now protobuf 6.x gencode).
framework/py/flwr/proto/clientappio_pb2_grpc.py Updates generated gRPC version guard to 1.72.0.
framework/py/flwr/proto/clientappio_pb2.py Updates generated protobuf runtime version guard (now protobuf 6.x gencode).
framework/py/flwr/proto/control_pb2_grpc.py Updates generated gRPC version guard to 1.72.0.
framework/py/flwr/proto/control_pb2.py Updates generated protobuf runtime version guard (now protobuf 6.x gencode).
framework/py/flwr/proto/error_pb2_grpc.py Updates generated gRPC version guard to 1.72.0.
framework/py/flwr/proto/error_pb2.py Updates generated protobuf runtime version guard (now protobuf 6.x gencode).
framework/py/flwr/proto/fab_pb2_grpc.py Updates generated gRPC version guard to 1.72.0.
framework/py/flwr/proto/fab_pb2.py Updates generated protobuf runtime version guard (now protobuf 6.x gencode).
framework/py/flwr/proto/federation_pb2_grpc.py Updates generated gRPC version guard to 1.72.0.
framework/py/flwr/proto/federation_pb2.py Updates generated protobuf runtime version guard (now protobuf 6.x gencode).
framework/py/flwr/proto/fleet_pb2_grpc.py Updates generated gRPC version guard to 1.72.0.
framework/py/flwr/proto/fleet_pb2.py Updates generated protobuf runtime version guard (now protobuf 6.x gencode).
framework/py/flwr/proto/grpcadapter_pb2_grpc.py Updates generated gRPC version guard to 1.72.0.
framework/py/flwr/proto/grpcadapter_pb2.py Updates generated protobuf runtime version guard (now protobuf 6.x gencode).
framework/py/flwr/proto/heartbeat_pb2_grpc.py Updates generated gRPC version guard to 1.72.0.
framework/py/flwr/proto/heartbeat_pb2.py Updates generated protobuf runtime version guard (now protobuf 6.x gencode).
framework/py/flwr/proto/log_pb2_grpc.py Updates generated gRPC version guard to 1.72.0.
framework/py/flwr/proto/log_pb2.py Updates generated protobuf runtime version guard (now protobuf 6.x gencode).
framework/py/flwr/proto/message_pb2_grpc.py Updates generated gRPC version guard to 1.72.0.
framework/py/flwr/proto/message_pb2.py Updates generated protobuf runtime version guard (now protobuf 6.x gencode).
framework/py/flwr/proto/node_pb2_grpc.py Updates generated gRPC version guard to 1.72.0.
framework/py/flwr/proto/node_pb2.py Updates generated protobuf runtime version guard (now protobuf 6.x gencode).
framework/py/flwr/proto/recorddict_pb2_grpc.py Updates generated gRPC version guard to 1.72.0.
framework/py/flwr/proto/recorddict_pb2.py Updates generated protobuf runtime version guard (now protobuf 6.x gencode).
framework/py/flwr/proto/run_pb2_grpc.py Updates generated gRPC version guard to 1.72.0.
framework/py/flwr/proto/run_pb2.py Updates generated protobuf runtime version guard (now protobuf 6.x gencode).
framework/py/flwr/proto/serverappio_pb2_grpc.py Updates generated gRPC version guard to 1.72.0.
framework/py/flwr/proto/serverappio_pb2.py Updates generated protobuf runtime version guard (now protobuf 6.x gencode).
framework/py/flwr/proto/simulationio_pb2_grpc.py Updates generated gRPC version guard to 1.72.0.
framework/py/flwr/proto/simulationio_pb2.py Updates generated protobuf runtime version guard (now protobuf 6.x gencode).
framework/py/flwr/proto/transport_pb2_grpc.py Updates generated gRPC version guard to 1.72.0.
framework/py/flwr/proto/transport_pb2.py Updates generated protobuf runtime version guard (now protobuf 6.x gencode).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 5 to 16
@@ -11,8 +11,8 @@
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
_runtime_version.Domain.PUBLIC,
5,
29,
6,
30,
0,
Copy link

Copilot AI Mar 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This regenerated *_pb2.py code now enforces a Protobuf runtime version >= 6.30.0 via ValidateProtobufRuntimeVersion (major=6). The project dependency range still allows protobuf 5.x, which would install successfully but then fail at import time for these modules. Either bump the protobuf lower bound to >=6.30.0 (keeping <7) or regenerate the protos using protobuf 5.x to preserve protobuf 5 compatibility.

Copilot uses AI. Check for mistakes.
@github-actions github-actions bot added the Maintainer Used to determine what PRs (mainly) come from Flower maintainers. label Mar 7, 2026
panh99
panh99 previously approved these changes Mar 7, 2026
@panh99 panh99 dismissed their stale review March 7, 2026 13:22

Protobuf version issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Maintainer Used to determine what PRs (mainly) come from Flower maintainers.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants