From 4d56ca05ed307277e77aebd55ea943b8eea08359 Mon Sep 17 00:00:00 2001 From: Colton Robak <247862938+ColtonRobak@users.noreply.github.com> Date: Wed, 28 Oct 2026 10:55:10 -0700 Subject: [PATCH 1/2] chore(deps): raise the grpcio upper bound to <2.0.0 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 --- .github/workflows/main.yaml | 9 +++++---- setup.cfg | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 51bd2e25e..96e9d15b6 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -172,8 +172,8 @@ jobs: strategy: fail-fast: false matrix: - grpc: ["1.59.5", "1.63.0", "1.65.0", "1.66.0", "1.68.0", "1.72.1", "1.73.0", "1.74.0"] - protobuf: ["4.25.8", "5.26.0", "5.27.4", "5.28.3", "5.29.0", "6.30.0", "6.31.1", "6.32.0"] + grpc: ["1.59.5", "1.63.0", "1.65.0", "1.66.0", "1.68.0", "1.72.1", "1.73.0", "1.74.0", "1.85.0"] + protobuf: ["4.25.8", "5.26.0", "5.27.4", "5.28.3", "5.29.0", "6.30.0", "6.31.1", "6.32.0", "6.33.6"] steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 @@ -228,7 +228,8 @@ jobs: { py: "3.11", weaviate: $WEAVIATE_140, grpc: "1.66.0"}, { py: "3.12", weaviate: $WEAVIATE_140, grpc: "1.70.0"}, { py: "3.13", weaviate: $WEAVIATE_140, grpc: "1.72.1"}, - { py: "3.14", weaviate: $WEAVIATE_140, grpc: "1.76.0"} + { py: "3.14", weaviate: $WEAVIATE_140, grpc: "1.76.0"}, + { py: "3.14", weaviate: $WEAVIATE_140, grpc: "1.85.0"} ] optional_dependencies: [false] steps: @@ -248,7 +249,7 @@ jobs: password: ${{secrets.DOCKER_PASSWORD}} - run: | pip install -r requirements-test.txt - pip install grpcio==${{ matrix.versions.grpc }} grpcio-tools==${{ matrix.versions.grpc }} grpcio-health-checking==${{ matrix.versions.grpc }} + pip install grpcio==${{ matrix.versions.grpc }} pip install . - name: start weaviate run: /bin/bash ci/start_weaviate.sh ${{ matrix.versions.weaviate }} diff --git a/setup.cfg b/setup.cfg index b964b7ef3..db362c9ec 100644 --- a/setup.cfg +++ b/setup.cfg @@ -41,7 +41,7 @@ install_requires = validators>=0.34.0,<1.0.0 authlib>=1.7.1,<2.0.0 pydantic>=2.12.0,<3.0.0 - grpcio>=1.59.5,<1.80.0; sys_platform != "emscripten" + grpcio>=1.59.5,<2.0.0; sys_platform != "emscripten" protobuf>=4.21.6,<7.0.0 packaging>=21.0 python_requires = >=3.10 From a5f9aab4ffc011bd35e76cdc00dba968f87a8690 Mon Sep 17 00:00:00 2001 From: Colton Robak <247862938+ColtonRobak@users.noreply.github.com> Date: Wed, 28 Oct 2026 12:05:58 -0700 Subject: [PATCH 2/2] ci: pin protobuf per integration matrix entry 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 --- .github/workflows/main.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 96e9d15b6..dda0b52b0 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -224,12 +224,12 @@ jobs: fail-fast: false matrix: versions: [ - { py: "3.10", weaviate: $WEAVIATE_140, grpc: "1.59.0"}, - { py: "3.11", weaviate: $WEAVIATE_140, grpc: "1.66.0"}, - { py: "3.12", weaviate: $WEAVIATE_140, grpc: "1.70.0"}, - { py: "3.13", weaviate: $WEAVIATE_140, grpc: "1.72.1"}, - { py: "3.14", weaviate: $WEAVIATE_140, grpc: "1.76.0"}, - { py: "3.14", weaviate: $WEAVIATE_140, grpc: "1.85.0"} + { py: "3.10", weaviate: $WEAVIATE_140, grpc: "1.59.5", protobuf: "4.25.9"}, + { py: "3.11", weaviate: $WEAVIATE_140, grpc: "1.66.0", protobuf: "5.29.6"}, + { py: "3.12", weaviate: $WEAVIATE_140, grpc: "1.70.0", protobuf: "5.29.6"}, + { py: "3.13", weaviate: $WEAVIATE_140, grpc: "1.72.1", protobuf: "6.33.6"}, + { py: "3.14", weaviate: $WEAVIATE_140, grpc: "1.76.0", protobuf: "6.33.6"}, + { py: "3.14", weaviate: $WEAVIATE_140, grpc: "1.85.0", protobuf: "6.33.6"} ] optional_dependencies: [false] steps: @@ -249,7 +249,7 @@ jobs: password: ${{secrets.DOCKER_PASSWORD}} - run: | pip install -r requirements-test.txt - pip install grpcio==${{ matrix.versions.grpc }} + pip install grpcio==${{ matrix.versions.grpc }} protobuf==${{ matrix.versions.protobuf }} pip install . - name: start weaviate run: /bin/bash ci/start_weaviate.sh ${{ matrix.versions.weaviate }}