blob: ec0056a3a4b54ec2e9c8ca3bc72ff6bf9d314392 [file] [log] [blame] [view]
# Minimum Supported Rust Version (MSRV)
This crate is guaranteed to compile on all stable Rust versions going back to
the version stated as MSRV in the README. It *might* compile with even older versions but
that may change in any new patch release.
## How the MSRV will be upgraded
For `critical-section`, we do not consider upgrading the MSRV a strictly breaking change as defined by
[SemVer](https://semver.org).
We follow these rules when upgrading it:
- We will not update the MSRV on any patch release: \_.\_.*Z*.
- We may upgrade the MSRV on any *major* or *minor* release: *X*.*Y*.\_.
- We may upgrade the MSRV in any preliminary version release (e.g. an `-alpha` release) as
these serve as preparation for the final release.
- MSRV upgrades will be clearly stated in the changelog.
This applies both to `0._._` releases as well as `>=1._._` releases.
For example:
For a given `x.y.z` release, we may upgrade the MSRV on `x` and `y` releases but not on `z` releases.
If your MSRV upgrade policy differs from this, you are advised to specify the
`critical-section` dependency in your `Cargo.toml` accordingly.
See the [Rust Embedded Working Group MSRV RFC](https://github.com/rust-embedded/wg/blob/master/rfcs/0523-msrv-2020.md)
for more background information and reasoning.