Skip to content

chore(deps): raise the grpcio upper bound to <2.0.0 - #2227

Draft
ColtonRobak wants to merge 2 commits into
mainfrom
chore/raise-grpcio-upper-bound
Draft

ColtonRobak wants to merge 2 commits into
mainfrom
chore/raise-grpcio-upper-bound

Conversation

@ColtonRobak

@ColtonRobak ColtonRobak commented Oct 28, 2026 •

Copy link
Copy Markdown

Closes #2226

Raises the grpcio requirement from >=1.59.5,<1.80.0 to >=1.59.5,<2.0.0, the range used before #1682. Google Cloud's Python libraries will require grpcio>=1.83.0 from April 2027 (googleapis/google-cloud-python#18451), and the current cap makes weaviate-client uninstallable next to them after that.

CI now covers the new range: proto-test adds grpcio 1.85.0 and protobuf 6.33.6, and integration-tests adds a Python 3.14 / grpcio 1.85.0 entry. The integration job now pins grpcio and protobuf per entry instead of installing grpcio-tools and grpcio-health-checking, which only set protobuf indirectly: 1.84.0+ of both require protobuf 7, which protobuf<7.0.0 excludes, and the integration tests use neither (the client dropped them in #1788). Each existing entry keeps the protobuf major it had before (4.x, 5.x or 6.x), and the 3.10 entry moves from grpcio 1.59.0 to the 1.59.5 floor, since below the floor pip install . replaces it with the newest allowed grpcio, now 1.85.0.

Verification

Same source on Python 3.12 with protobuf 6.33.6, run under grpcio 1.78.0 and 1.85.0, with identical results:

  • proto_test: 4 passed
  • test: 564 passed, 1 skipped
  • mock_tests (run serially): 71 passed
  • Integration subset against Weaviate 1.39.13 (batch, batch delete, collection, filter, get, near_vector, hybrid, aggregate, iterator, tenants, async, vectors, groups, references, sorting; ci/docker-compose.yml only): 834 passed, 5 failed, 44 skipped, with no test changing outcome between the two runs. The 5 failures need the async-indexing (port 8090) and OIDC servers, which weren't running.
  • This branch installs next to google-api-core[grpc]==2.43.0 and grpcio>=1.83.0 (resolves grpcio 1.85.0, grpcio-status 1.85.0, protobuf 6.33.6); 4.24.1 fails with ResolutionImpossible.

Note for reviewers

The generated *_pb2_grpc.py version check imports grpc._utilities.first_version_is_lower, a private grpcio helper. It's still in 1.85.0, and the new proto-test entry would catch its removal. If you'd rather keep a minor-version band, <1.90.0 covers this too; the CI entries are what keep the new range tested.

🤖 Generated with Claude Code

Google Cloud's Python libraries will require grpcio>=1.83.0 from April 2027,
and the <1.80.0 bound makes weaviate-client uninstallable next to them. Add
grpcio 1.85.0 and protobuf 6.33.6 to the CI matrices.

Closes #2226

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@orca-security-eu orca-security-eu Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Orca Security Scan Summary

Status Check Issues by priority
Passed Passed Infrastructure as Code high 0   medium 0   low 0   info 0 View in Orca
Passed Passed SAST high 0   medium 0   low 0   info 0 View in Orca
Passed Passed Secrets high 0   medium 0   low 0   info 0 View in Orca
Passed Passed Vulnerabilities high 0   medium 0   low 0   info 0 View in Orca

grpcio-tools used to choose protobuf for each integration entry. Without it,
pip installed protobuf 6 next to grpcio 1.66.0 and 1.70.0, which the client
rejects with WeaviateProtobufIncompatibility. Pin the protobuf major each
entry had before, and move the 3.10 entry to the 1.59.5 floor so pip no
longer swaps it for the newest grpcio.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.26%. Comparing base (635124c) to head (a5f9aab).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2227      +/-   ##
==========================================
+ Coverage   89.23%   89.26%   +0.02%     
==========================================
  Files         312      312              
  Lines       24715    24736      +21     
==========================================
+ Hits        22055    22081      +26     
+ Misses       2660     2655       -5     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

This branch has not been deployed

No deployments
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.

grpcio<1.80.0 cap conflicts with Google Cloud libraries requiring grpcio>=1.83.0 (April 2027)

2 participants