crefft Source 2026.10.4

Tested Version Matrix

crefft > Languages > Rust > Tested Version Matrix

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in BCP 14 RFC 2119 RFC 8174 when, and only when, they appear in all capitals, as shown here.

This guide is the single table of the toolchain, crate, executable, and action versions that every Rust guide quotes, with the date they were verified. The toolchain, lint, formatting, and pre-commit rules in the Rust Style Guide apply and are not repeated here. Every entry was current on 8 September 2026.

Every version below was current on crates.io, the Rust release channel, or the action’s tag list on 8 September 2026, and the Rust examples across the Rust guides were compiled against them with cargo check, cargo test, and cargo clippy -- -D warnings on Rust 1.98.1.

Library requirements are written as caret ranges, which is what a manifest SHOULD contain; the exact release tested is stated beside each. Executables and actions are pinned exactly, because nothing unifies them.

Toolchain

ComponentTestedNotes
Rust stable1.98.1 (2026-09-01)rust-toolchain.toml channel
Rust nightlynightly-2026-09-01Miri, cargo-fuzz, nightly rustfmt
Edition2024Stable since Rust 1.85.0
MSRV used in examples1.94.0Highest rust-version in the pinned graph (SQLx 0.9.0)

Libraries

CrateRequirementTestedDeclared MSRV
serde1.01.0.2291.56
syn3.0.53.0.51.71
quote1.0.471.0.471.71
proc-macro21.0.1071.0.1071.71
trybuild1.0.1211.0.1211.88
darling0.24.10.24.11.88.0
tokio1.53.11.53.11.71
smol2.0.22.0.21.63
cucumber0.23.00.23.01.88
reqwest0.13.40.13.41.85.0
loom0.7.20.7.21.65
unicode-normalization0.1.250.1.25 (Unicode 17.0.0)1.36
icu2.3.12.3.11.88
sqlx0.9.00.9.01.94.0
proptest1.11.01.11.01.85
criterion0.8.20.8.21.86
wasm-bindgen0.2.1280.2.1281.77
wasm-bindgen-test0.3.780.3.781.77
web-sys0.3.1050.3.1051.77
js-sys0.3.1050.3.1051.77
serde-wasm-bindgen0.6.50.6.5not declared
console_error_panic_hook0.1.70.1.7not declared
libfuzzer-sys0.4.130.4.13not declared

Executable Tools

Installed with cargo install <tool> --version <exact> --locked.

ToolPin
cargo-audit0.22.2 (--features=fix)
cargo-deny0.20.2
cargo-vet0.10.2
cargo-llvm-cov0.9.1
cargo-tarpaulin0.37.2
cargo-nextest0.9.143
cargo-fuzz0.13.2
afl0.18.2
cargo-mutants27.1.0
cargo-semver-checks0.50.0
wasm-pack0.15.0
wasm-opt0.116.1
twiggy0.8.0

GitHub Actions

Pinned by full commit SHA; see Pinning Actions.

ActionSHAVersion
actions/checkout3d3c42e5aac5ba805825da76410c181273ba90b1v7.0.1
actions/cache55cc8345863c7cc4c66a329aec7e433d2d1c52a9v6.1.0
actions/upload-artifact043fb46d1a93c77aae656e7c1c64a875d1fc6a0av7.0.1
dtolnay/rust-toolchain683b588c487a69d01f6c6ddf40f036ff682cc2c8v1
Swatinem/rust-cache6323deb102c322ba6fcbdcafc7e3dddab59af2b6v2.9.2

Maintaining this matrix is a scheduled task, not a one-off. Dependabot or Renovate MUST cover both cargo and github-actions ecosystems so the pins here are proposed for review rather than discovered when they break.

See Also