Skip to content

Commit 7af6050

Browse files
fix(deps): cap protobuf below 7 (#1019)
## Summary - tighten the published protobuf dependency range to `<7` - keep the declared range aligned with the current `proto_utils` implementation, which still relies on `FieldDescriptor.label` - update `uv.lock` metadata to match ## Why `a2a-sdk 1.0.2` currently publishes `protobuf>=5.29.5`, which allows resolvers to select `protobuf 7.x`. In downstream testing, `a2a-sdk==1.0.2` with `protobuf==7.34.1` crashes on the `DefaultRequestHandler.on_get_task()` path: - `@validate_request_params` - `validate_proto_required_fields()` - `_check_required_field_violation()` - `AttributeError: 'google._upb._message.FieldDescriptor' object has no attribute 'label'` This PR applies the minimal packaging fix that matches the current implementation choice from #1010 while broader code-level compatibility is discussed in #1011. Relates to #1011 ## Validation - `uv run ruff check --fix` - `uv run ruff format` - `uv run mypy src` - `uv run pyright src` - `uv run pytest` `pytest` result locally: - `1671 passed, 90 skipped, 3 xfailed, 4 errors` - the 4 errors were all in `tests/integration/cross_version/client_server/test_client_server.py` - they were startup failures for the `server_0_3.py` subprocess path using `uv run --with a2a-sdk[grpc]==0.3.24 --no-project ...` - these failures do not exercise the changed dependency declaration in this PR
1 parent eb37091 commit 7af6050

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ dependencies = [
1111
"httpx>=0.28.1",
1212
"httpx-sse>=0.4.0",
1313
"pydantic>=2.11.3",
14-
"protobuf>=5.29.5",
14+
"protobuf>=5.29.5,<7",
1515
"google-api-core>=1.26.0",
1616
"json-rpc>=1.15.0",
1717
"googleapis-common-protos>=1.70.0",

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)