NLnetLabs / domain

A DNS library for Rust.
https://nlnetlabs.nl/projects/domain/about/
BSD 3-Clause "New" or "Revised" License
332 stars 56 forks source link

Proposal for a MSRV policy. #330

Closed partim closed 1 month ago

partim commented 1 month ago

This PR proposes a revised policy for dealing with minimum supported Rust versions.

It suggests to keep the rust-version field in Cargo.toml at the oldest Rust version that is able to build with minimal dependency versions and all features enabled. In addition, the Rust version necessary to build with latest dependencies is provided in the README and as a comment in Cargo.toml. Both these versions are checked in the CI workflow.

The reasoning behind the proposal is that rust-version sets a hard limit on the version, so it should be chosen as low as possible. While technically it could be lower with a subset of the features selected, this feels like a slippery slope and setting the version with all features selected feels like an acceptable compromise.

Only documenting the version that is necessary to build with latest dependencies isn’t ideal but at least provides some guidance as to what to choose for people who go look for some.