• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Minimum Supported Rust Version (MSRV)
2
3This crate is guaranteed to compile on all stable Rust versions going back to
4the version stated as MSRV in the README. It *might* compile with even older versions but
5that may change in any new patch release.
6
7## How the MSRV will be upgraded
8
9For `critical-section`, we do not consider upgrading the MSRV a strictly breaking change as defined by
10[SemVer](https://semver.org).
11
12We follow these rules when upgrading it:
13
14- We will not update the MSRV on any patch release: \_.\_.*Z*.
15- We may upgrade the MSRV on any *major* or *minor* release: *X*.*Y*.\_.
16- We may upgrade the MSRV in any preliminary version release (e.g. an `-alpha` release) as
17  these serve as preparation for the final release.
18- MSRV upgrades will be clearly stated in the changelog.
19
20This applies both to `0._._` releases as well as `>=1._._` releases.
21
22For example:
23
24For a given `x.y.z` release, we may upgrade the MSRV on `x` and `y` releases but not on `z` releases.
25
26If your MSRV upgrade policy differs from this, you are advised to specify the
27`critical-section` dependency in your `Cargo.toml` accordingly.
28
29See the [Rust Embedded Working Group MSRV RFC](https://github.com/rust-embedded/wg/blob/master/rfcs/0523-msrv-2020.md)
30for more background information and reasoning.
31