Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Version Matrix

Tested configurations for the five published lean-rs crates. Configurations outside these tables are unsupported, even if they happen to compile.

Lean toolchain window

Supported window: Lean 4.26.0–4.29.1 plus the 4.30.0-rc2 release candidate (seven entries). Authoritative list, including lean.h SHA-256 digests, lives in crates/lean-rs-sys/src/supported.rs. Releases that ship a byte-identical lean.h share one entry. CI verifies every row × {ubuntu-latest, macos-latest} cell. The header is platform-independent; digests are identical across the two target triples.

Extending the window is the bump procedure. Untested versions are not supported.

The bundled Lake packages under crates/lean-rs/shims/ and crates/lean-rs-host/shims/, plus fixtures/lean and fixtures/interop-shims, use the same toolchain window. lean-rs-worker uses the same window because its child process loads the host stack and fixture/capability dylibs built against that toolchain. The reusable interop release contract is documented in docs/architecture/14-interop-release-contract.md.

lean-rs-sys symbol coverage

pub const REQUIRED_SYMBOLS in crates/lean-rs-sys/src/lib.rs enumerates the 87 LEAN_EXPORT’d symbols the crate’s extern "C" blocks declare. tests/linkage.rs resolves every entry against libleanshared at link time on every version × OS cell; the parallel test in lean-toolchain imports the same set via lean_rs_sys::REQUIRED_SYMBOLS. All 87 symbols are present in every release in the window (SupportedToolchain::missing_symbols is empty for every entry).

Rust

FieldValue
MSRV1.91 (from [workspace.package].rust-version)
Channelstable (pinned by rust-toolchain.toml)
Captured at releaserustc 1.95.0 (59807616e 2026-04-14)

The MSRV is the floor a downstream consumer can rely on; the CI release matrix runs on the current stable.

Platforms

PlatformTripleStatus
Ubuntu Latest (GitHub Actions)x86_64-linux-gnusupported, CI
macOS Latest (GitHub Actions)aarch64-apple-darwinsupported, CI

Explicitly unsupported (do not file as bugs without a compatibility-decision proposal):

See also

For how to run the benchmarks and detect regressions, see docs/performance.md. For the frozen public API of each crate, see docs/api-review/.