rerun icon indicating copy to clipboard operation
rerun copied to clipboard

Update our Rust dependencies

Open emilk opened this issue 2 months ago • 4 comments

We have a lot of old dependencies which needs to be bumped in Cargo.toml

emilk avatar Oct 08 '25 13:10 emilk

I would like to work on this, can you please list out the deliverables?

GeorgeLifinRell avatar Oct 08 '25 17:10 GeorgeLifinRell

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.

emilk avatar Oct 08 '25 19:10 emilk

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 🤟

GeorgeLifinRell avatar Oct 10 '25 17:10 GeorgeLifinRell

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

Wumpf avatar Oct 14 '25 08:10 Wumpf