Update our Rust dependencies
We have a lot of old dependencies which needs to be bumped in Cargo.toml
I would like to work on this, can you please list out the deliverables?
Thanks!
I'd like for us to not use old versions of crates. Some crates are very hard to update (tonic, datafusion, lance, arrow), bug some should be fairly trivial (likeinfer and indicatif).
You can list which crates needs updating with cargo-edit:
❯ cargo upgrade --compatible ignore --incompatible allow --dry-run
Checking virtual workspace's dependencies
name old req compatible latest new req
==== ======= ========== ====== =======
arrow 55.2 55.2.0 56.2.0 56.2
bincode 1.3 1.3.3 2.0.1 2.0
cargo_metadata 0.18 0.18.1 0.23.0 0.23
cargo-run-wasm 0.3.2 0.3.2 0.4.0 0.4.0
colored 2.2 2.2.0 3.0.0 3.0
convert_case 0.6 0.6.0 0.8.0 0.8
criterion 0.5 0.5.1 0.7.0 0.7
datafusion 49.0.2 49.0.2 50.1.0 50.1.0
datafusion-ffi 49.0.2 49.0.2 50.1.0 50.1.0
indicatif 0.17.11 0.17.11 0.18.0 0.18.0
infer 0.16.0 0.16.0 0.19.0 0.19.0
jsonwebtoken 9.3 9.3.1 10.0.0 10.0
lance 0.36.0 0.36.0 0.38.2 0.38.2
numpy 0.24.0 0.24.0 0.26.0 0.26.0
opentelemetry 0.30.0 0.30.0 0.31.0 0.31.0
opentelemetry-appender-tracing 0.30.1 0.30.1 0.31.1 0.31.1
opentelemetry-otlp 0.30.0 0.30.0 0.31.0 0.31.0
opentelemetry_sdk 0.30.0 0.30.0 0.31.0 0.31.0
ordered-float 4.6.0 4.6.0 5.1.0 5.1.0
parquet 55.2 55.2.0 56.2.0 56.2
prost 0.13.5 0.13.5 0.14.1 0.14.1
prost-build 0.13.5 0.13.5 0.14.1 0.14.1
prost-reflect 0.15.3 0.15.3 0.16.2 0.16.2
prost-types 0.13.5 0.13.5 0.14.1 0.14.1
pyo3 0.24.2 0.24.2 0.26.0 0.26.0
pyo3-build-config 0.24.2 0.24.2 0.26.0 0.26.0
rand 0.8.5 0.8.5 0.9.2 0.9.2
rand_distr 0.4.3 0.4.3 0.5.1 0.5.1
ron 0.10.1 0.10.1 0.11.0 0.11.0
roxmltree 0.19.0 0.19.0 0.21.0 0.21.0
strum 0.26.3 0.26.3 0.27.2 0.27.2
strum_macros 0.26.4 0.26.4 0.27.2 0.27.2
sysinfo 0.30.13 0.30.13 0.37.2 0.37.2
thiserror 1.0 1.0.69 2.0.17 2.0
tiff 0.9.1 0.9.1 0.10.3 0.10.3
toml 0.8.23 0.8.23 0.9.7 0.9.7
tonic 0.13.1 0.13.1 0.14.2 0.14.2
tonic-build 0.13.1 0.13.1 0.14.2 0.14.2
tonic-web 0.13.1 0.13.1 0.14.2 0.14.2
tonic-web-wasm-client 0.7.1 0.7.1 0.8.0 0.8.0
tracing-opentelemetry 0.31.0 0.31.0 0.32.0 0.32.0
ureq 2.12.1 2.12.1 3.1.2 3.1.2
care must be taken not to end up with duplicates of large crates (b/c of 3rd party dependencies on the same crate).
We have cargo-deny to protect us against that.
Even better would ofc be to have some sort of automated system for this.
Some clarifications, Do I need to change the .toml file for all the listed crates? Since, I'm new to open source contributions can you please create a checklist for me to complete it, I'll start working on it asap and please assign this to me. Thanks for your time and it means a lot to me 🤟
It's great that you want to help, but if you're not familiar with how to update crates on a Rust project, then this is probably not a good first issue for you. We're happy to assist with things, but we don't have the bandwidth for teaching the basics and list out all the detailed steps of each task