Hi, this is feedback from a downstream packager / consumer of crates that depend on the AWS Smithy Rust stack.
Frequent MSRV bumps in smithy-rs-generated/runtime crates make it difficult to package software for distro channels like Fedora COPR and Ubuntu PPAs, even when the bumps are understandable from the project side.
To be clear, I'm not arguing that an MSRV bump must be treated as a semver-major change in the Rust ecosystem. In practice, Rust projects often do not treat MSRV changes that way.
The problem is that these bumps still have a real downstream cost:
- distro builders may lag current stable Rust
- packaging metadata has to be updated and coordinated across release targets
- a transitive dependency refresh can unexpectedly force a toolchain bump
- this can block or delay security fixes and routine package updates
Recent example from my side:
- updating AWS Smithy/AWS runtime dependencies to address a
rustls-webpki advisory forced a repo/package MSRV bump from Rust 1.88 to 1.91
- that required checking and updating COPR/PPA packaging constraints in addition to the Rust dependency update itself
What would help a lot:
- a clearly documented MSRV policy for
smithy-rs runtime crates
- explicit callouts in release notes when a release raises MSRV
- some indication of whether MSRV bumps are expected to happen freely in patch releases, or whether you try to batch/minimize them
- if practical, a little more caution around transitive dependency choices that force quick MSRV movement
I'm opening this mainly to make sure the downstream packaging pain is visible. Even if the answer is "we intentionally track recent stable Rust closely," having that policy documented would help packagers plan around it.
Hi, this is feedback from a downstream packager / consumer of crates that depend on the AWS Smithy Rust stack.
Frequent MSRV bumps in
smithy-rs-generated/runtime crates make it difficult to package software for distro channels like Fedora COPR and Ubuntu PPAs, even when the bumps are understandable from the project side.To be clear, I'm not arguing that an MSRV bump must be treated as a semver-major change in the Rust ecosystem. In practice, Rust projects often do not treat MSRV changes that way.
The problem is that these bumps still have a real downstream cost:
Recent example from my side:
rustls-webpkiadvisory forced a repo/package MSRV bump from Rust 1.88 to 1.91What would help a lot:
smithy-rsruntime cratesI'm opening this mainly to make sure the downstream packaging pain is visible. Even if the answer is "we intentionally track recent stable Rust closely," having that policy documented would help packagers plan around it.