NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2294 most downloaded on crates.io
Cross-platform virtual memory API
Last release 15 days ago
23 Sep 2026
Release timing varies
gaps range from 1 weeks to 2.6 years
Some releases are documented
notes for 11 of 24 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
24 releases · first in 2016
Widened the mach2 requirement from 0.4 to >=0.4.2, <0.8 (macOS & iOS), allowing dependents to share a single mach2 version.
mach2 requirement from 0.4 to >=0.4.2, <0.8 (macOS & iOS),
allowing dependents to share a single mach2 version.libc & mach2 without their default (std) features.ptr_as_ptr violations on FreeBSD, NetBSD & Windows.Breaking modernization: no_std, edition 2024, MSRV 1.85, provenance cleanup, unsafe unlock, and Error::SystemCall(i32) with richer std conversion.
Breaking modernization: no_std, edition 2024, MSRV 1.85, provenance cleanup, unsafe unlock, and Error::SystemCall(i32) with richer std conversion.
#![no_std] support with an optional std feature (enabled by
default). The crate always uses core/alloc instead of assuming the
standard library./proc/self/maps query backend. CI compile-checks Hurd with nightly -Zbuild-std=core,alloc because prebuilt rust-std is unavailable via rustup.Error::UnmappedRegion.Region::max_protection().Allocation::is_empty().std feature, Error::SystemCall displays via std::io::Error
and converts with From<Error> for std::io::Error /
Error::into_os_error().Protection::NONE address-space
reservations.OpenBSD now uses libc::kinfo_vmentry / KVE_* instead of a local copy (thanks @devnexen; closes #20).
Bumped the crate edition from 2018 to 2024.
Upgraded bitflags to 2.x.
Widened the Windows dependency to windows-sys = ">=0.52, <=0.61".
Updated libc and retained mach2.
Adopted strict-provenance pointer helpers throughout the crate.
Made unlock unsafe.
Changed Error::SystemCall to carry a raw OS error code (i32) instead of
std::io::Error, so system-call failures remain representable without std.
With std enabled, display/conversion still go through io::Error.
On Windows, alloc(..., Protection::NONE) now reserves address space without
committing pages.
Modernized GitHub Actions workflows:
actions/checkout to v6 and migrated BSD jobs to CPA custom shell (cpa.sh)-Zbuild-std=core,allocactions-rs/* usagestatic mut on recent Rust.One column per quarter.
docs: update version to 3.0.2
docs: update version to 3.0.2
libc version.docs: update version to 3.0.1
docs: update version to 3.0.1
Protection::from_bits_*.winapi with windows-sys.mach with mach2.query to recursively query pages on macOS.MAP_JIT to be set when allocating (R)WX pages on macOS (aarch64).docs: update version to 3.0.0
docs: update version to 3.0.0
alloc & alloc_at).QueryIter for lazily iterating regions.inline annotation where applicable.*const T (instead of *const u8).Region state has been internalized, now exposed via methods.Error enumerations have been altered.query_iter now returns an iterator.page::size_from_range.(cargo-release) region version 2.2.0
(cargo-release) region version 2.2.0
(cargo-release) version 2.1.2
(cargo-release) version 2.1.2
(cargo-release) version 2.1.1
(cargo-release) version 2.1.1
(cargo-release) version 2.1.0
(cargo-release) version 2.1.0
(cargo-release) version 2.0.0
(cargo-release) version 2.0.0
(cargo-release) version 1.0.0
(cargo-release) version 1.0.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →