Skip to content

Upgrade tonic from 0.11 to 0.13 and prost from 0.12 to 0.13#111

Open
danghoangnhan wants to merge 1 commit intomilvus-io:mainfrom
danghoangnhan:upgrade/tonic-0.13
Open

Upgrade tonic from 0.11 to 0.13 and prost from 0.12 to 0.13#111
danghoangnhan wants to merge 1 commit intomilvus-io:mainfrom
danghoangnhan:upgrade/tonic-0.13

Conversation

@danghoangnhan
Copy link

Summary

Upgrades the gRPC stack to resolve version conflicts with projects using tonic 0.13+.

  • tonic: 0.11.0 → 0.13.1 (features: tls-native-roots, prost)
  • prost: 0.12.6 → >=0.13, <0.14
  • base64: 0.21.0 → 0.22.1
  • tonic-build: 0.11.0 → 0.13

Changes

All changes are mechanical API migrations with no behavioral differences:

Before (tonic 0.11 / prost 0.12) After (tonic 0.13 / prost 0.13)
ErrorCode::from_i32(x)Some(v) / None ErrorCode::try_from(x)Ok(v) / Err(_)
tonic::codegen::StdError Box<dyn std::error::Error + Send + Sync>
Endpoint::new(dst)?.connect() dst.connect() (already an Endpoint)
tonic_build::configure().compile(...) tonic_build::configure().compile_protos(...)
features = ["tls", "tls-roots"] features = ["tls-native-roots", "prost"]

Proto stubs regenerated with tonic-build 0.13 + protoc 28.3.

Motivation

Projects depending on tonic = "0.13.x" cannot use this SDK because tonic 0.11 and 0.13 expose incompatible types (Channel, Interceptor, etc.). This blocks adoption in ecosystems that have already migrated to the newer gRPC stack.

Test plan

  • cargo build — compiles cleanly
  • cargo test — unit tests pass
  • cargo clippy — no new warnings introduced (72 pre-existing warnings unchanged)

Closes #110

🤖 Generated with Claude Code

@sre-ci-robot sre-ci-robot requested review from congqixia and yah01 March 23, 2026 00:26
@sre-ci-robot
Copy link
Collaborator

Welcome @danghoangnhan! It looks like this is your first PR to milvus-io/milvus-sdk-rust 🎉

@mergify
Copy link

mergify bot commented Mar 23, 2026

@danghoangnhan Thanks for your contribution. Please submit with DCO, see the contributing guide https://github.com/milvus-io/milvus/blob/master/CONTRIBUTING.md#developer-certificate-of-origin-dco.

@mergify mergify bot added the needs-dco label Mar 23, 2026
@danghoangnhan
Copy link
Author

/assign @yah01

Bump dependency versions to resolve version conflicts with projects
using tonic 0.13+:

- tonic: 0.11.0 → 0.13.1 (features: tls-native-roots, prost)
- prost: 0.12.6 → >=0.13, <0.14
- base64: 0.21.0 → 0.22.1
- tonic-build: 0.11.0 → 0.13

API migration (all mechanical, no behavioral changes):
- from_i32() → try_from() (prost 0.13 removed from_i32)
- tonic::codegen::StdError → Box<dyn Error + Send + Sync>
- Endpoint::new(dst) → dst.connect() (already an Endpoint)
- compile() → compile_protos() (tonic-build 0.13 rename)
- Regenerated proto stubs with tonic-build 0.13 + protoc 28.3

Closes milvus-io#110

Signed-off-by: Daniel Du <danghoangnhan.1@gmail.com>
@sre-ci-robot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: danghoangnhan
To complete the pull request process, please ask for approval from yah01 after the PR has been reviewed.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@mergify mergify bot added dco-passed and removed needs-dco labels Mar 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Upgrade tonic from 0.11 to 0.13 and prost from 0.12 to 0.13

3 participants