Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
129 changes: 42 additions & 87 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 4 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ wallet = ["dep:secp256k1", "dep:sha2", "dep:tiny-keccak", "dep:hex", "dep:serde"
# evm and grpc are scaffolded behind features but not implemented yet —
# alpha.0 ships the network spec + native client foundation.
evm = ["dep:alloy", "dep:url", "network"]
grpc = ["dep:tonic", "dep:prost", "dep:tokio", "dep:futures", "dep:hex", "dep:thiserror", "network"]
grpc = ["dep:tonic", "dep:tonic-prost", "dep:prost", "dep:tokio", "dep:futures", "dep:hex", "dep:thiserror", "network"]
bft = ["dep:tokio", "dep:tokio-tungstenite", "dep:futures", "dep:serde", "dep:serde_json", "dep:thiserror", "network"]

[dependencies]
Expand All @@ -45,8 +45,9 @@ alloy = { version = "0.8", optional = true, features = ["providers", "rpc-types-
url = { version = "2", optional = true }

# gRPC (tonic)
tonic = { version = "0.12", optional = true, features = ["tls", "tls-roots"] }
prost = { version = "0.13", optional = true }
tonic = { version = "0.14", optional = true, features = ["tls-ring", "tls-native-roots"] }
tonic-prost = { version = "0.14", optional = true }
prost = { version = "0.14", optional = true }
Comment on lines +48 to +50

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify exposed public gRPC surface references tonic/tonic-prost types
rg -n 'pub mod sentrix_client|pub struct SentrixClient|GrpcService<tonic::body::Body>|tonic_prost::ProstCodec' src/grpc/pb.rs

# Verify crate version currently not bumped for this breaking upgrade
rg -n '^version\s*=' Cargo.toml

Repository: Sentriscloud/sdk-rs

Length of output: 760


Add a migration note and semver-breaking version bump for this gRPC upgrade.

The tonic/prost dependency bump changes the public SDK-facing gRPC surface in src/grpc/pb.rs. The SentrixClient<T> struct exposes generic bounds tied to tonic::client::GrpcService<tonic::body::Body>, and multiple methods reference tonic_prost::ProstCodec. This causes compile-time breaking changes for downstream integrations. Bump the crate version from 0.1.0-alpha.0 to 0.2.0-alpha.0 (or next breaking pre-1.0 line) and add a MIGRATION section to the PR body documenting the breaking changes.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Cargo.toml` around lines 48 - 50, Update the crate version and add a
migration note for the gRPC upgrade: bump the package version in Cargo.toml from
0.1.0-alpha.0 to 0.2.0-alpha.0 (or the next breaking pre-1.0 version), and add a
MIGRATION section to the PR body that documents the breaking changes in
src/grpc/pb.rs—specifically that SentrixClient<T> now has generic bounds tied to
tonic::client::GrpcService<tonic::body::Body> and that methods now reference
tonic_prost::ProstCodec, which may require downstream code updates; include
example guidance on adjusting generic bounds and codec imports.

futures = { version = "0.3", optional = true }
tokio-tungstenite = { version = "0.24", optional = true, features = ["rustls-tls-native-roots"] }

Expand Down
Loading
Loading