3 ms·
The rust ecosystem is young, most of those libraries haven't even reached 1.0. Basing any serious project on 0.x libraries is always subject to this issue.
by desdenova 2y ago
The rust ecosystem is young, most of those libraries haven't even reached 1.0.
Basing any serious project on 0.x libraries is always subject to this issue.
- littlestymaar 2y agoI'm always puzzled with people saying that things move too quickly and that they fail to keep up, in any language. Why do you guys even try to keep up in the first place? Unless there's a bug in a dependency you're using, if version 0.4 works, you don't have to use 0.5 or 0.6. Or maybe there's a new feature that you need in the newer version, then you can afford to spend time doing the migration but in this case you should also be happy the the pace of development is fast because that's how the feature ended up landing in the first place. For most use-cases, it's fine to stay on out of date libraries for years, and that's what the Linux distros do all the time (mostly patching crippling bugs and security vulnerabilities).
- mysterydip 2y ago90% agree. The scenario that I've seen that messes with this is when you include lib x which has dependency on version 0.5 of y, but your code depends on version 0.4 of y.
- tstenner 2y agocargo handles this just fine, unless you get lib y objects through the lib x api
- aeurielesn 2y agoI believe a post from one or two weeks ago showed it seems more of a systematic Rust ecosystem problem.
- CaptainOfCoit 2y agoWhat, exactly, is the problem? That libraries/projects remain below 1.0 for too long? Because lots of breaking changes before a 1.0.0 release is to be expected for anything following semver (which as far as I know, most if not all of the Rust ecosystem uses).
- q3k 2y ago> Basing any serious project on 0.x libraries is always subject to this issue. So I guess I'll hold off on having random numbers in Rust then [1]. [1] - https://docs.rs/rand/latest/rand/ https://docs.rs/rand/latest/rand/
- swfsql 2y agoIt's already at 0.8, just another 20% and..!
- mcpar-land 2y agoOn the flip side of this, when libraries in rust do reach 1.0, they often are just done. The serialization/deserialization library serde which has become the de-facto standard has been on 1.0.xxx for the past seven years. https://crates.io/crates/serde/versions https://crates.io/crates/serde/versions I think this speaks to rust's strengths in that if you know your spec, you can write a rock-solid version of it - and its weakness, where if you don't know your spec you'll be making breaking changes a lot.