Skip to content

chore: update dependencies#283

Merged
timvisee merged 15 commits into
devfrom
update-deps-2026-05
May 27, 2026
Merged

chore: update dependencies#283
timvisee merged 15 commits into
devfrom
update-deps-2026-05

Conversation

@qdrant-cloud-bot
Copy link
Copy Markdown

Summary

Bulk dependency upgrade based on cargo outdated/audit report. One commit per dependency.

Dependency From To
anyhow 1.0.89 1.0.102
futures 0.3.31 0.3.32
futures-util 0.3.31 0.3.32
semver 1.0.24 1.0.28
serde 1.0.210 1.0.228
serde_json 1.0.128 1.0.150
tokio 1.40.0 1.52.3
uuid 1.8.2 1.23.1
prost 0.13.3 0.14.3
prost-types 0.13.3 0.14.3
tonic 0.12.3 0.14.6
tonic-build 0.12.3 0.14.6
reqwest 0.12.8 0.13.4
thiserror 1.0.64 2.0.18

Notes on breaking upgrades

  • tonic 0.14 split prost integration into separate crates. tonic-prost is added as a runtime dependency and tonic-prost-build as a dev dependency. tests/protos.rs was updated to use tonic_prost_build instead of tonic_build for proto compilation. TLS features were changed from the deprecated tls/tls-roots to tls-ring/tls-native-roots.
  • prost 0.14 now auto-derives Eq/Hash for messages where all fields support it. The manual impl Hash for PointId clashed with the new derive and was removed.
  • The configure_deprecations helper in tests/protos.rs no longer adds field attributes for PointsUpdateOperation.{delete,clear_payload}_deprecated. tonic-prost-build now emits a plain #[deprecated] for them based on the proto deprecated = true option, which collided with the manually added detailed attribute.
  • src/qdrant.rs was regenerated with the new toolchain (this commit is folded into the tonic-build bump commit).
  • reqwest 0.13 renamed the rustls-tls feature to rustls; the feature list in Cargo.toml was adjusted.
  • thiserror 2.0 required no source changes; the existing #[error(...)] / #[from] / #[source] usage is compatible.

Test plan

  • cargo build --all-features
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • cargo fmt --all -- --check
  • cargo test --all-features --test protos
  • cargo test --all-features --test builder_coverage
  • cargo test --all-features --lib (only failures are 3 tests that require a running Qdrant server on localhost:6334)
  • CI integration test (requires actual Qdrant server, runs in GH Actions)

Made with Cursor

Cursor Agent and others added 14 commits May 26, 2026 09:07
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
In tonic 0.14, prost integration was extracted into separate crates
tonic-prost (runtime) and tonic-prost-build (codegen). Add both and
update tests/protos.rs accordingly.

prost-build 0.14 also auto-derives Eq and Hash for messages where
possible, which clashes with the manual `impl Hash for PointId` in
extensions.rs; the manual impl is dropped in favor of the derive.

The field-level `#[deprecated(since = ..., note = ...)]` attributes
for deprecated oneof variants are no longer applied via
configure_deprecations because tonic-prost-build now emits a plain
`#[deprecated]` from the proto annotation itself, which conflicted
with the manual one.

The generated src/qdrant.rs is regenerated with the new toolchain.

Co-authored-by: Cursor <cursoragent@cursor.com>
reqwest 0.13 renamed the `rustls-tls` feature to `rustls`; update
the feature list accordingly.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Copy link
Copy Markdown

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

Updates the crate’s Rust dependency set (based on cargo outdated/audit) and adapts the protobuf/tonic codegen pipeline for tonic/prost 0.14, including regenerating the vendored gRPC stubs.

Changes:

  • Bumped core dependencies (notably tonic, prost, reqwest, tokio, uuid, thiserror) and adjusted feature flags accordingly.
  • Switched proto compilation in tests/protos.rs from tonic_build to tonic_prost_build and updated deprecation-attribute customization to avoid collisions.
  • Regenerated src/qdrant.rs with the new toolchain (including tonic_prost::ProstCodec usage and updated body types).

Reviewed changes

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

File Description
Cargo.toml Updates dependency versions/features and adds the new split tonic/prost integration crates.
tests/protos.rs Moves proto build/test generation to tonic_prost_build and removes conflicting manual deprecation attributes.
src/qdrant.rs Regenerated vendored protobuf/gRPC code for the upgraded tonic/prost toolchain.
src/grpc_conversions/extensions.rs Removes manual Hash impl for PointId to align with new derives from prost 0.14.

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

Comment thread Cargo.toml Outdated
Copy link
Copy Markdown
Member

@agourlay agourlay left a comment

Choose a reason for hiding this comment

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

I have tested this branch with bfb and crasher 👍

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@timvisee timvisee merged commit 1691913 into dev May 27, 2026
2 checks passed
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.

5 participants