Skip to content

Conversation

bryantbiggs
Copy link

@bryantbiggs bryantbiggs commented Apr 13, 2025

  • Update dependencies
  • Correct clippy lint warnings

CI tests were executed on fork first to ensure tests pass https://github.com/bryantbiggs/tokio-uring/actions/runs/14344438841?pr=1

Closes #324
Closes #313
Closes #272

Resolves #316

@bryantbiggs
Copy link
Author

cc @Noah-Kennedy if you have a few cycles to review

@paolobarbolini
Copy link

paolobarbolini commented Apr 25, 2025

Drive-by review: I don't think bumping patch versions of dependencies makes sense unless the older versions have a serious security vulnerability, are completely broken or break -Zminimal-versions builds

@bryantbiggs
Copy link
Author

@paolobarbolini what are the downsides of bumping the patch versions?

@paolobarbolini
Copy link

@paolobarbolini what are the downsides of bumping the patch versions?

The inflexibility of not being able to update things at my own pace, which for me personally I try to update things frequently, but if I have to revert to a previous version I don't want to have to downgrade or fork a second dependency just because the minimum allowed version was bumped too high.

@reneleonhardt
Copy link

reneleonhardt commented Jun 30, 2025

@bryantbiggs Great contribution! Were you able to revert the unnecessary patch versions?

I updated everything to latest (nix 0.30) while only specifying minor versions (removing the patch digit).
criterion 0.6 would require MSRV 1.80.0.

diff --git a/Cargo.toml b/Cargo.toml
index 62fbef5..92376cf 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -17,22 +17,22 @@ keywords = ["async", "fs", "io-uring"]
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-tokio = { version = "1.44", features = ["net", "rt", "sync"] }
-slab = "0.4.9"
-libc = "0.2.171"
-io-uring = "0.7.4"
-socket2 = { version = "0.5.9", features = ["all"] }
-bytes = { version = "1.10.1", optional = true }
-futures-util = { version = "0.3.31", default-features = false, features = ["std"] }
+tokio = { version = "1.2", features = ["net", "rt", "sync"] }
+slab = "0.4.2"
+libc = "0.2.80"
+io-uring = "0.7"
+socket2 = { version = "0.5", features = ["all"] }
+bytes = { version = "1.0", optional = true }
+futures-util = { version = "0.3.26", default-features = false, features = ["std"] }
 
 [dev-dependencies]
-tempfile = "3.19.1"
-tokio-test = "0.4.4"
+tempfile = "3.2.0"
+tokio-test = "0.4.2"
 iai = "0.1.1"
-criterion = "0.5.1"
+criterion = "0.5"
 # we use joinset in our tests
-tokio = "1.44.2"
-nix = { version = "0.29.0", features = ["resource"] }
+tokio = "1.21.2"
+nix = { version = "0.30", features = ["resource"] }
 
 [package.metadata.docs.rs]
 all-features = true

For reference to master:

diff --git a/Cargo.toml b/Cargo.toml
index 85ce27d..92376cf 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -20,8 +20,8 @@ keywords = ["async", "fs", "io-uring"]
 tokio = { version = "1.2", features = ["net", "rt", "sync"] }
 slab = "0.4.2"
 libc = "0.2.80"
-io-uring = "0.6.0"
-socket2 = { version = "0.4.4", features = ["all"] }
+io-uring = "0.7"
+socket2 = { version = "0.5", features = ["all"] }
 bytes = { version = "1.0", optional = true }
 futures-util = { version = "0.3.26", default-features = false, features = ["std"] }
 
@@ -29,10 +29,10 @@ futures-util = { version = "0.3.26", default-features = false, features = ["std"
 tempfile = "3.2.0"
 tokio-test = "0.4.2"
 iai = "0.1.1"
-criterion = "0.4.0"
+criterion = "0.5"
 # we use joinset in our tests
 tokio = "1.21.2"
-nix = "0.26.1"
+nix = { version = "0.30", features = ["resource"] }
 
 [package.metadata.docs.rs]
 all-features = true

@bryantbiggs
Copy link
Author

@paolobarbolini / @reneleonhardt done!

@Noah-Kennedy any thoughts on the changes?

@tomaszduda23
Copy link

any chance to get it merged ?

@tomaszduda23
Copy link

@bryantbiggs sorry to bother you. I try to compile aa-proxy-rs on alpine. I pulled your PR and still get there error:

   Compiling tokio-uring v0.5.0 (/home/pmos/build/src/tokio-uring-75bc7360a1f10a81d53e7ec08a5eff7d7ef3ded6)
   Compiling aa-proxy-rs v0.8.0 (/home/pmos/build/src/aa-proxy-rs-0.8.0)
error[E0412]: cannot find type `statx` in crate `libc`
   --> /home/pmos/build/src/tokio-uring-75bc7360a1f10a81d53e7ec08a5eff7d7ef3ded6/src/io/statx.rs:21:22
    |
21  |       statx: Box<libc::statx>,
    |                        ^^^^^
    |
   ::: /home/pmos/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.172/src/unix/linux_like/linux/musl/b64/aarch64/mod.rs:10:1

What I'm missing ?

WARNING: crossdirect: 'cargo tree -i libc' command not supported, running in QEMU (slow!)
    Updating crates.io index
     Locking 2 packages to latest compatible versions
    Updating io-uring v0.6.4 -> v0.7.10
      Adding tokio-uring v0.5.0 (/home/pmos/build/src/tokio-uring-75bc7360a1f10a81d53e7ec08a5eff7d7ef3ded6)
libc v0.2.172
├── cpufeatures v0.2.17
│   └── sha2 v0.10.9
│       [build-dependencies]
│       └── pest_meta v2.8.1
│           └── pest_generator v2.8.1
│               └── pest_derive v2.8.1 (proc-macro)
│                   └── json5 v0.4.1
│                       └── config v0.14.1
│                           └── aa-proxy-rs v0.8.0 (/home/pmos/build/src/aa-proxy-rs-0.8.0)
├── getrandom v0.2.16
│   └── const-random-macro v0.1.16 (proc-macro)
│       └── const-random v0.1.18
│           └── dlv-list v0.5.2
│               └── ordered-multimap v0.7.3
│                   └── rust-ini v0.20.0
│                       └── config v0.14.1 (*)
└── getrandom v0.3.3
    └── tempfile v3.20.0
        ├── protobuf-codegen v3.7.2
        │   [build-dependencies]
        │   └── aa-proxy-rs v0.8.0 (/home/pmos/build/src/aa-proxy-rs-0.8.0)
        └── protobuf-parse v3.7.2
            └── protobuf-codegen v3.7.2 (*)

libc v0.2.172
├── bluer v0.17.3
│   └── aa-proxy-rs v0.8.0 (/home/pmos/build/src/aa-proxy-rs-0.8.0)
├── dbus v0.9.7
│   ├── aa-proxy-rs v0.8.0 (/home/pmos/build/src/aa-proxy-rs-0.8.0)
│   ├── bluer v0.17.3 (*)
│   ├── dbus-crossroads v0.5.2
│   │   └── bluer v0.17.3 (*)
│   └── dbus-tokio v0.7.6
│       └── bluer v0.17.3 (*)
├── dbus-tokio v0.7.6 (*)
├── getrandom v0.3.3
│   └── uuid v1.17.0
│       └── bluer v0.17.3 (*)
├── io-uring v0.7.10
│   └── tokio-uring v0.5.0 (/home/pmos/build/src/tokio-uring-75bc7360a1f10a81d53e7ec08a5eff7d7ef3ded6)
│       └── aa-proxy-rs v0.8.0 (/home/pmos/build/src/aa-proxy-rs-0.8.0)
├── mio v1.0.4
│   └── tokio v1.45.1
│       ├── aa-proxy-rs v0.8.0 (/home/pmos/build/src/aa-proxy-rs-0.8.0)
│       ├── axum v0.6.20
│       │   └── aa-proxy-rs v0.8.0 (/home/pmos/build/src/aa-proxy-rs-0.8.0)
│       ├── bluer v0.17.3 (*)
│       ├── dbus-tokio v0.7.6 (*)
│       ├── h2 v0.3.26
│       │   └── hyper v0.14.32
│       │       ├── aa-proxy-rs v0.8.0 (/home/pmos/build/src/aa-proxy-rs-0.8.0)
│       │       └── axum v0.6.20 (*)
│       ├── hyper v0.14.32 (*)
│       ├── tokio-fd v0.3.0
│       │   └── aa-proxy-rs v0.8.0 (/home/pmos/build/src/aa-proxy-rs-0.8.0)
│       ├── tokio-stream v0.1.17
│       │   └── bluer v0.17.3 (*)
│       ├── tokio-uring v0.5.0 (/home/pmos/build/src/tokio-uring-75bc7360a1f10a81d53e7ec08a5eff7d7ef3ded6) (*)
│       ├── tokio-util v0.7.15
│       │   └── h2 v0.3.26 (*)
│       └── tower v0.4.13
│           └── axum v0.6.20 (*)
├── netif v0.1.6
│   └── aa-proxy-rs v0.8.0 (/home/pmos/build/src/aa-proxy-rs-0.8.0)
├── netlink-sys v0.8.7
│   └── aa-proxy-rs v0.8.0 (/home/pmos/build/src/aa-proxy-rs-0.8.0)
├── nix v0.29.0
│   ├── bluer v0.17.3 (*)
│   └── mac_address v1.1.8
│       └── aa-proxy-rs v0.8.0 (/home/pmos/build/src/aa-proxy-rs-0.8.0)
├── openssl v0.10.73
│   └── aa-proxy-rs v0.8.0 (/home/pmos/build/src/aa-proxy-rs-0.8.0)
├── openssl-sys v0.9.109
│   └── openssl v0.10.73 (*)
├── parking_lot_core v0.9.11
│   └── parking_lot v0.12.4
│       └── tokio v1.45.1 (*)
├── signal-hook-registry v1.4.5
│   └── tokio v1.45.1 (*)
├── socket2 v0.5.10
│   ├── hyper v0.14.32 (*)
│   ├── tokio v1.45.1 (*)
│   └── tokio-uring v0.5.0 (/home/pmos/build/src/tokio-uring-75bc7360a1f10a81d53e7ec08a5eff7d7ef3ded6) (*)
├── tokio v1.45.1 (*)
├── tokio-fd v0.3.0 (*)
└── tokio-uring v0.5.0 (/home/pmos/build/src/tokio-uring-75bc7360a1f10a81d53e7ec08a5eff7d7ef3ded6) (*)
================

@bryantbiggs bryantbiggs force-pushed the chore/update-dependencies branch from 75bc736 to ae0bb8e Compare August 26, 2025 14:29
@bryantbiggs
Copy link
Author

cc @Thomasdezeeuw / @Darksonn - any chance on a review?

@Thomasdezeeuw
Copy link

cc @Thomasdezeeuw / @Darksonn - any chance on a review?

I don't work on this repo :)

I'm sure someone will give it a review though.

@reneleonhardt
Copy link

I can imagine that your hard work will eventually be reviewed, if not this year then maybe next year 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Version 0.5.0 does not build: libc dependency needs to be updated.
5 participants