Skip to content

MSRV policy #96

@bavshin-f5

Description

@bavshin-f5

The MSRV policy of this project is a compromise between getting the necessary Rust features and supporting system toolchains (available from the package manager) in various operating systems.

Current MSRV

1.81.0

Benefits we could get from the recent Rust releases (as per https://releases.rs/)

1.89.0

  • NonNull::from_ref/NonNull::from_mut
  • CStr::display
  • Allow storing format_args!() in a variable

1.88.0

  • if_let_chains
  • impl Default for * const/mut T

1.85.0

  • 2024 Edition

1.84.0

  • strict provenance APIs

1.83.0

  • const_refs_to_static

1.82.0

  • addr_of(_mut)! macros and the newly stabilized &raw (const|mut) are now safe to use with all static items
  • Stabilize &raw const and &raw mut operators
  • Stabilize nested field access in offset_of!
Previous versions

1.81.0

  • error_in_core (could be useful for planned no_std conversion)

1.80.0

  • Stabilize LazyCell
  • Stabilize lots of NonNull methods

1.79.0

  • RHEL 9.5 system toolchain
  • Propagate temporary lifetime extension into if and match expressions.
  • Stabilize <*const T>::is_aligned and <*mut T>::is_aligned
    (I intend to use these for assertions, even though we assumed that everything coming out of ngx_p(c)alloc is sufficiently aligned. Certain Rust types require 16-byte alignment)
  • MSRV-aware cargo add (but not the MSRV-aware resolver)

1.78.0

  • MSRV for wasmtime v26

1.77.0

  • C-string literals
  • cargo:: syntax in the buildscripts

1.76.0

  • Stabilized ptr::{from_ref, from_mut}

1.75.0

  • Stabilize async fn and return-position impl Trait in traits
  • Stabilized mem::zeroed in const contexts
  • Stabilized several pointer arithmetic methods

1.71.0

  • We currently need this to build

1.63.0

  • Debian 12 (stable) system toolchain. Let's not do that.

Rust toolchain versions in various operating systems as of 2025-06-18

system release rustc
RHEL 8,9,10 1.84.1
Debian 12 (stable) 1.63.0
13 1.85.0
Ubuntu 22.04,24.04 1.75.0 (rust-all), 1.81.0 (rust-1.81-all)
SLES 15 1.87.0
Alpine 3.20 1.78.0
3.21 1.83.0
Amazon 2 1.85.0
2023 1.85.0
FreeBSD 13 quarterly 1.85.1
OpenBSD 7.7 1.86.0
NetBSD 9 1.83.0
Solaris 11.4.81 CBE 1.78.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions