Update Cargo dependencies and toolchain#134
Conversation
WalkthroughDependency versions updated in Cargo.toml, including tokio, serde_json, sqlx, clap, comfy-table, and uuid (now with "serde" feature). Rust toolchain channel bumped from 1.82.0 to 1.89.0. No source code or exported API changes shown. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (2)
Cargo.toml (2)
28-28: Large tokio jump: verify runtime features and MSRV.
- 1.47.1 is still 1.x, but spans many releases; confirm no deprecated APIs in use and that all tests pass under 1.89.0.
- Consider trimming “full” to reduce compile times/binary size.
Try:
- cargo +1.89.0 build --locked
- rg -nP '\btokio::(task|runtime|net|time|signal)\b' -C2
Optional feature trim example:
-tokio = { version = "1.47.1", features = ["full"] } +tokio = { version = "1.47.1", features = [ + "rt-multi-thread", "macros", "time", "sync", "fs", "io-util", "signal", "net" +] }
46-46: sqlx patch bump OK; consider TLS backend alignment to avoid duplicate stacks.
You currently have:
- sqlx with “runtime-tokio-native-tls” and explicit openssl (vendored)
- reqwest 0.12.x likely defaulting to rustls (if defaults on)
To reduce size and build complexity, either:
- Move sqlx to rustls and drop openssl, or
- Keep native-tls/openssl and switch reqwest to native-tls (disable defaults).
Option A (prefer rustls everywhere):
-openssl = { version = "0.10.73", features = ["vendored"] } -sqlx = { version = "0.8.6", features = ["sqlite", "runtime-tokio-native-tls"] } +sqlx = { version = "0.8.6", features = ["sqlite", "runtime-tokio-rustls"] }(Then remove the openssl dependency if nothing else needs it.)
Option B (native-tls everywhere):
-reqwest = { version = "0.12.23", features = ["json"] } +reqwest = { version = "0.12.23", default-features = false, features = ["json", "native-tls"] }Also, if using sqlx offline macros, regenerate the cache.
Run:
- rg -nP 'query!|query_as!' -g '!/target/'
- cargo sqlx prepare -- --all-features
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (1)
Cargo.lockis excluded by!**/*.lock
📒 Files selected for processing (2)
Cargo.toml(2 hunks)rust-toolchain.toml(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: build
🔇 Additional comments (5)
rust-toolchain.toml (1)
2-2: Toolchain bump looks fine; confirm CI/build matrix.Please ensure CI actually uses Rust 1.89.0 (Linux/macOS) and runs clippy/rustfmt with this toolchain. If you cross-build, sanity-check
--target wasm32-unknown-unknowndoesn’t get invoked for crates that depend on tokio “full”.Run locally:
- rustup override list | rg mostro-cli
- cargo +1.89.0 clippy --all-targets --all-features
- cargo +1.89.0 fmt -- --check
Cargo.toml (4)
24-24: clap patch bump — OK.
No breaking changes expected in 4.5.x.
27-27: serde_json major patch — OK.
No API changes expected within 1.0.x; just ensure benches/tests still pass.
29-29: comfy-table minor bump — OK.
No known breaking changes from 7.1.x to 7.2.x.
33-38: uuid upgraded and “serde” enabled: confirm wire/DB compatibility.
Enabling serde changes how Uuid serializes (string for human-readable formats like JSON; 16 bytes for binary like bincode). Verify any persisted/serialized Uuids (API/SQLite blobs/files) remain compatible.Search surfaces:
- rg -nP '\bUuid\b' -C2
- rg -nP 'Serialize|Deserialize|serde(' -C2
Summary by CodeRabbit