| # 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. |