smithy-lang / smithy-rs

Code generation for the AWS SDK for Rust, as well as server and generic smithy client generation.
Apache License 2.0
467 stars 183 forks source link

Update hyper #3710

Open rodya-mirov opened 1 week ago

rodya-mirov commented 1 week ago

Hello, I'm going through my Cargo.lock, and I'm noticed that aws-config (and associated libraries) are pinned to an old version of hyper (^0.14.26) which may be related to being pinned to an old version of hyper-rustls (^0.24). I'm not super clear on how the versions are chosen here, since the code is all generated, and I can't find the relevant Cargo.toml / Cargo.lock files for these projects.

The current version of hyper is 1.3.1 and the current version of hyper-rustls is 0.27.2, both of which are being pulled into my project regardless by other dependencies. If you were able to update these dependencies it would shrink my Cargo.lock, and possibly my binary size, dramatically. I would appreciate it if this could be given a bit of attention.

landonxjames commented 1 week ago

Hi, we are currently working on a plan to make hyper 1.0 our default http client and deprecate the 0.14 client. Since this could be a breaking (or just unexpected) change for customers and we are 1.0 with strong backwards compatibility guarantees we are moving slowly and deliberately towards this goal to make sure it is minimally disruptive. Don't have any exact timelines to share, but it is something we are actively looking at right now.

rodya-mirov commented 4 days ago

Thanks @landonxjames -- I'm a bit curious what disruptions you anticipate? I'm already seeing multiple versions of hyper in my graph (1.x from other dependencies, and now 0.14 from aws-config), and it's not obviously causing any problems, aside from undesirably bloating my cargo.lock, which is a fairly minor issue. It seems like the two versions can coexist fine?

Anyway I appreciate your diligence to this issue, so I'm not criticizing exactly, just curious what specifically is the concern.