Instantly share code, notes, and snippets.

Embed
What would you like to do?
Latest stable rust as a MSRV policy

Latest stable rust as a minimum

Minimum supported rust version (MSRV) policy that indicates the most recent stable rust release is the minimum whenever a new crate version is published. It is not required to bump a crate's major version after a new stable compiler is released.

For example crate_foo version 0.1.2 published on 2018-12-28 has MSRV 1.31.1 as this compiler was published on 2018-12-20.

The advantages of this approach is simplicity in maintaining a crate's code.

Workarounds for older compiler versions

If you are unable to update your compiler, you may be unable to update crate dependencies following this policy.

Dependencies can be pinned to a version as old as your compiler, e.g. =0.1.2. Lockfiles may be updated with cargo update -p crate_foo --precise 0.1.2 where version 0.1.2 is old enough to ensure compatibility.

Related discussions/prs

Hopefully better tools to deal with MSRV will become available, as there is not general agreement about how handle this issue currently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment