GitHub user Xuanwo edited a discussion: OpenDAL Usage based MSRV Strategy
Hello everyone, following the discussion at [Which version of MSRV should be next?](https://github.com/apache/opendal/discussions/5253). I want to propose the usage based OpenDAL MSRV Strategy. ## Summary - All libraries released by the OpenDAL project will adopt the latest version that can covering approximately **90%** of users. - All binaries released by the OpenDAL project will always use the latest version. Data is gathered by [crates.io requests based on cargo version](https://p.datadoghq.com/sb/3a172e20-e9e1-11ed-80e3-da7ad0900002-973f4c1011257befa8598303217bfe3a) for the "Past 1 Month". ## Context OpenDAL has an MSRV but hasn't established a strategy yet. It's important to have a clear MSRV policy so our downstream users will know when OpenDAL will update its MSRV. This policy should be predictable and meaningful. It's not effective to just choose a hardcoded version of Rust to support, as versions are not equally used. Some Rust versions have more users than others. For example, Rust `1.75` has 2.83% of requests, while `1.76` only has 1.78%. The reasons are complex, determined by the features this version includes and major crates' MSRV. ## Proposal Instead, I proposed a usage-based MSRV strategy: we choose a percentage we can support, then select the closest version to this percentage as our MSRV. The data source is [crates.io requests based on cargo version](https://p.datadoghq.com/sb/3a172e20-e9e1-11ed-80e3-da7ad0900002-973f4c1011257befa8598303217bfe3a), for example:  We can generate a collection of projects based on versions: - 1.82: 13.56% - 1.81: 66.73% - 1.80: 76.79% - 1.79: 83.03% - 1.78: 86.44% - 1.77: 88.04% - 1.76: 89.83% - 1.75: 92.75% (our current MSRV) If we choose `1.76` as our MSRV, `89.83%` of cargo users can use `opendal` without increasing the MSRV. This evaluation will occur every time we plan a `minor` version, even after our `v1.0` release. The release manager will follow the same process described here to select the MSRV and include it in our release vote process. --- What do you think? GitHub link: https://github.com/apache/opendal/discussions/5256 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected]
