Skip to content

Raise the minimum supported Weaviate version to 1.32.0 - #2197

Closed
g-despot wants to merge 4 commits into
mainfrom
chore/min-weaviate-version-1.36
Closed

g-despot wants to merge 4 commits into
mainfrom
chore/min-weaviate-version-1.36

Conversation

@g-despot

@g-despot g-despot commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

Drops everything in the client that only existed for Weaviate servers below 1.32.0, which are out of support.

  • Connecting to an older server raises WeaviateStartUpError, even with skip_init_checks=True.
  • Removes the pre-1.32.0 version checks and fallbacks (backup, aliases, tenants, batch, hybrid and near-vector request building, generative). The gates for features added between 1.32.1 and 1.36.9 (server-side batching, hybrid alpha_param, query profiling) stay, as do the integration skips for them.
  • Aggregations are gRPC only. This removes the legacy GraphQL aggregation path, the weaviate.gql and weaviate.error_msgs modules, the unused weaviate.util.is_weaviate_too_old / MINIMUM_NO_WARNING_VERSION helpers and the broken weaviate.AdditionalProperties / weaviate.LinkTo shims. graphql_raw_query() is untouched.
  • CI runs the wheel tests against 1.32 to the latest release instead of 1.27 to the latest.
  • Mock tests cover the 1.31.0 / 1.32.0 boundary for both clients.

Requests to supported servers are byte-identical before and after.

Connecting to an older server raises WeaviateStartUpError. Removes the
version checks and fallbacks that only served pre-1.36.9 servers, the
legacy GraphQL aggregation path with the weaviate.gql and
weaviate.error_msgs modules, and the matching CI matrix entries and
test skips.
@g-despot
g-despot requested a review from a team as a code owner October 12, 2026 06:59

@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

The floor moves from 1.36.9 to 1.32.0. Gates at or below 1.32.0 stay removed. The server-side batching, hybrid alpha_param and query profiling gates and the integration skips between 1.32.1 and 1.36.9 come back as on main. The CI matrix covers 1.32 through the latest release again.
@g-despot g-despot changed the title Raise the minimum supported Weaviate version to 1.36.9 Raise the minimum supported Weaviate version to 1.32.0 Oct 13, 2026
@g-despot
g-despot requested a balanced review from Copilot October 13, 2026 11:13

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

It broadly removes compatibility and protocol paths across public APIs, packaging, and integration coverage, warranting final human verification.

0 open findings

What changed in this PR

Raises the minimum supported Weaviate server version to 1.32.0 and removes obsolete compatibility paths.

Changes:

  • Rejects servers older than 1.32.0 during connection.
  • Removes legacy GraphQL aggregation and pre-1.32 fallbacks.
  • Updates tests, documentation, packaging, and CI coverage.
File Description
weaviate/​warnings.py Removes obsolete server warning.
weaviate/​util.py Removes legacy version and GraphQL helpers.
weaviate/​gql/​filter.py Deletes legacy GraphQL filters.
weaviate/​gql/​aggregate.py Deletes GraphQL aggregation builder.
weaviate/​gql/​__init__.py Removes GraphQL package.
weaviate/​error_msgs.py Deletes obsolete messages.
weaviate/​connect/​v4.py Enforces the 1.32 minimum.
weaviate/​collections/​tenants/​executor.py Removes old tenant fallbacks.
weaviate/​collections/​queries/​hybrid/​query/​executor.py Updates obsolete exception docs.
weaviate/​collections/​queries/​hybrid/​generate/​executor.py Updates obsolete exception docs.
weaviate/​collections/​queries/​bm25/​query/​executor.py Updates obsolete exception docs.
weaviate/​collections/​queries/​bm25/​generate/​executor.py Updates obsolete exception docs.
weaviate/​collections/​queries/​base_executor.py Removes legacy query response handling.
weaviate/​collections/​grpc/​shared.py Removes old vector wire formats.
weaviate/​collections/​grpc/​query.py Uses supported query protocol unconditionally.
weaviate/​collections/​filters.py Removes REST aggregation filters.
weaviate/​collections/​collections/​executor.py Updates feature exception docs.
weaviate/​collections/​classes/​internal.py Removes legacy generative encoding.
weaviate/​collections/​classes/​grpc.py Removes GraphQL/version-specific helpers.
weaviate/​collections/​classes/​aggregate.py Removes GraphQL metric rendering.
weaviate/​collections/​aggregations/​over_all/​executor.py Uses gRPC aggregation exclusively.
weaviate/​collections/​aggregations/​near_vector/​executor.py Uses gRPC aggregation exclusively.
weaviate/​collections/​aggregations/​near_text/​executor.py Uses gRPC aggregation exclusively.
weaviate/​collections/​aggregations/​near_object/​executor.py Uses gRPC aggregation exclusively.
weaviate/​collections/​aggregations/​near_image/​executor.py Uses gRPC aggregation exclusively.
weaviate/​collections/​aggregations/​hybrid/​executor.py Uses gRPC aggregation exclusively.
weaviate/​collections/​aggregations/​base_executor.py Removes GraphQL aggregation infrastructure.
weaviate/​client.py Documents the new minimum version.
weaviate/​backup/​executor.py Removes obsolete backup gates.
weaviate/​aliases/​executor.py Removes redundant alias gates.
weaviate/​__init__.py Removes broken GraphQL shims.
test/​test_wasm_compat.py Updates mock server version.
test/​test_util.py Removes tests for deleted helpers.
test/​collection/​test_target_vectors.py Tests only supported vector protocol.
test/​collection/​test_hybrid_diversity.py Updates query construction.
test/​collection/​test_bm25_operator.py Updates query construction.
test/​collection/​test_aggregates.py Updates gRPC aggregation validation tests.
setup.cfg Stops packaging weaviate.gql.
mock_tests/​test_collection.py Tests the 1.31/1.32 boundary.
mock_tests/​conftest.py Updates mock versions.
integration/​test_vectors.py Removes obsolete version branches.
integration/​test_users.py Removes pre-1.32 skips.
integration/​test_tenants.py Removes unsupported-server branches.
integration/​test_replicate.py Removes redundant version skip.
integration/​test_rbac.py Updates minimum-version expectations.
integration/​test_groups.py Removes redundant version skips.
integration/​test_collection.py Simplifies supported-server assertions.
integration/​test_collection_rerank.py Removes obsolete rerank branches.
integration/​test_collection_openai.py Removes legacy generative branches.
integration/​test_collection_near_vector.py Removes old named-vector skips.
integration/​test_collection_hybrid.py Removes old hybrid fallbacks.
integration/​test_collection_config.py Simplifies supported configuration expectations.
integration/​test_collection_aggregate.py Tests gRPC-only aggregation behavior.
integration/​test_backup_v4.py Removes obsolete backup skips.
integration/​test_alias.py Removes redundant alias skips.
docs/​weaviate.rst Removes GraphQL package documentation entry.
docs/​weaviate.gql.rst Deletes GraphQL package documentation.
docs/​changelog.rst Records compatibility-breaking changes.
.github/​workflows/​main.yaml Tests Weaviate 1.32 and newer.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@codecov-commenter

codecov-commenter commented Oct 13, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 83.51648% with 30 lines in your changes missing coverage. Please review.
✅ Project coverage is 92.08%. Comparing base (74eed97) to head (f80fdf1).
⚠️ Report is 53 commits behind head on main.

Files with missing lines Patch % Lines
integration/test_collection_openai.py 0.00% 23 Missing ⚠️
...te/collections/aggregations/near_image/executor.py 25.00% 3 Missing ⚠️
weaviate/collections/classes/internal.py 76.92% 3 Missing ⚠️
integration/test_collection_config.py 97.22% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2197      +/-   ##
==========================================
+ Coverage   88.98%   92.08%   +3.09%     
==========================================
  Files         308      305       -3     
  Lines       24396    23140    -1256     
==========================================
- Hits        21709    21308     -401     
+ Misses       2687     1832     -855     

☔ 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.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The hybrid alpha threshold change contradicts the stated preservation of feature gates and byte-identical supported-server requests.

1 open finding

🧠 Review effort: Balanced

Comment thread weaviate/collections/grpc/shared.py Resolved

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

The hybrid alpha cutoff changes requests to supported 1.36.6 servers despite the stated compatibility guarantee.

No open issues 🎉

1 resolved since last review

Review effort: Balanced

@dirkkul

dirkkul commented Nov 11, 2026

Copy link
Copy Markdown
Collaborator

Rebased on dev/v1.41 here: #2250

@dirkkul dirkkul closed this Nov 11, 2026
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.

4 participants