PackageTrack
Sign in Get early access

region

Cross-platform virtual memory API

4.0.0 18M downloads/mo #2185 most downloaded on crates.io darfink/region-rs

What this package is like to depend on

Last release 16 days ago

07 Aug 2026

Release timing varies

gaps range from 1 weeks to 2.6 years

Some releases are documented

notes for 10 of 23 stable releases

Nothing withdrawn

no release was ever pulled

10 years old

23 releases · first in 2016

1 release in the last 12 months

see the full history below

Release timeline

23 releases · Nov 2016 to Aug 2026
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 23
  1. 4.0.0 07 Aug 2026
    Release notes

    Breaking modernization: no_std, edition 2024, MSRV 1.85, provenance cleanup, unsafe unlock, and Error::SystemCall(i32) with richer std conversion.

    Open source →
    Release notes

    Added

    • Added an explicit MSRV of Rust 1.85.
    • Added #![no_std] support with an optional std feature (enabled by default). The crate always uses core/alloc instead of assuming the standard library.
    • Added GNU/Hurd support via the Linux /proc/self/maps query backend. CI compile-checks Hurd with nightly -Zbuild-std=core,alloc because prebuilt rust-std is unavailable via rustup.
    • Added Redox OS support for allocation / protection / locking. Region querying is not available there yet and returns Error::UnmappedRegion.
    • Added Region::max_protection().
    • Added Allocation::is_empty().
    • Under the std feature, Error::SystemCall displays via std::io::Error and converts with From<Error> for std::io::Error / Error::into_os_error().
    • Added a Windows-only regression covering large Protection::NONE address-space reservations.

    Changed

    • 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:

      • bumped actions/checkout to v6 and migrated BSD jobs to CPA custom shell (cpa.sh)
      • added Hurd compile coverage via nightly -Zbuild-std=core,alloc
      • moved Android to compile-check coverage while cross linking is broken
      • replaced unmaintained actions-rs/* usage
      • updated checkout / toolchain / Pages deploy actions
      • added an explicit MSRV CI job
      • refreshed runner / BSD matrix versions

    Removed

    • Dropped the ancient MIPS CI target that required a pinned Rust 1.52 toolchain.

    Fixed

    • Fixed Clippy / documentation lint noise that blocked modern toolchains.
    • Fixed Windows system-info caching to avoid static mut on recent Rust.
    Open source →
  2. 3.0.2 25 Mar 2024
    Release notes

    docs: update version to 3.0.2

    Open source →
    Release notes

    Removed

    • Removed explicit support for OpenBSD < 7.x (req libc locking)

    Fixed

    • Dropped explicit versioning of libc version.
    Open source →
  3. 3.0.1 10 Mar 2024
    Release notes

    docs: update version to 3.0.1

    Open source →
    Release notes

    Added

    • Added support for NetBSD.
    • Added support for non-standard UNIX flags w/ Protection::from_bits_*.

    Changed

    • Replaced deprecated winapi with windows-sys.
    • Replaced deprecated mach with mach2.

    Fixed

    • Fixed query to recursively query pages on macOS.
    • Fixed MAP_JIT to be set when allocating (R)WX pages on macOS (aarch64).
    Open source →
  4. 3.0.0 05 Aug 2021
    Release notes

    docs: update version to 3.0.0

    Open source →
    Release notes

    Added

    • Added support for OpenBSD.
    • Added support for Illumos.
    • Added support for memory allocations (alloc & alloc_at).
    • Added QueryIter for lazily iterating regions.
    • Added inline annotation where applicable.

    Changed

    • Addresses are now defined as *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.

    Removed

    • Removed page::size_from_range.
    • Removed deprecated functionality.
    Open source →
  5. 2.2.0 28 May 2020
    Release notes

    (cargo-release) region version 2.2.0

    Open source →
  6. 2.1.2 20 Jun 2019
    Release notes

    (cargo-release) version 2.1.2

    Open source →
  7. 2.1.1 11 Jun 2019
    Release notes

    (cargo-release) version 2.1.1

    Open source →
  8. 2.1.0 10 Jun 2019
    Release notes

    (cargo-release) version 2.1.0

    Open source →
  9. 2.0.0 03 Jan 2019
    Release notes

    (cargo-release) version 2.0.0

    Open source →
  10. 1.0.0 23 Oct 2018
    Release notes

    (cargo-release) version 1.0.0

    Open source →
  11. 0.3.0 04 May 2018

    Nothing published for this version

  12. 0.2.0 06 Mar 2018

    Nothing published for this version

  13. 0.1.1 15 Jan 2018

    Nothing published for this version

  14. 0.1.0 15 Jan 2018

    Nothing published for this version

  15. 0.0.9 14 Sep 2017

    Nothing published for this version

  16. 0.0.8 13 Jul 2017

    Nothing published for this version

  17. 0.0.7 13 Jun 2017

    Nothing published for this version

  18. 0.0.6 10 Jun 2017

    Nothing published for this version

  19. 0.0.5 04 Dec 2016

    Nothing published for this version

  20. 0.0.4 03 Dec 2016

    Nothing published for this version

  21. 0.0.3 30 Nov 2016

    Nothing published for this version

  22. 0.0.2 06 Nov 2016

    Nothing published for this version

  23. 0.0.1 06 Nov 2016

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive