PackageTrack
Sign in Get early access

memmap2

Cross-platform Rust API for memory-mapped file IO

0.9.11 317M downloads/mo #346 most downloaded on crates.io RazrFalcon/memmap2-rs

What this package is like to depend on

Last release 2 months ago

22 Jun 2026

Release timing varies

gaps range from 8 days to 10 months

Nearly every release is documented

notes for 34 of 34 stable releases

2 versions withdrawn

withdrawn after publishing

7 years old

36 releases · first in 2020

3 releases in the last 12 months

see the full history below

Release timeline

36 releases · Jan 2020 to Jun 2026
2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 36
  1. 0.9.11 22 Jun 2026
    Release notes
    • Fix unchecked pointer arithmatic in advice_range, unchecked_advise_range, flush_range and flush_async_range.
    • Bump the MSRV from 1.63 to 1.65.
    Open source →
    Release notes

    Fixed

    • Fix unchecked pointer arithmatic in advice_range, unchecked_advise_range, flush_range and flush_async_range.

    Changed

    • Bump the MSRV from 1.63 to 1.65.
    Open source →
  2. 0.9.10 15 Feb 2026
    Release notes

    Fixed

    Changed

    • Return ErrorKind::Unsupported on unsupported platforms to allow reliable runtime detection. @daxpedda
    Open source →
  3. 0.9.9 21 Oct 2025
    Release notes

    Fixed

    • Fix compilation on visionOS (and other apple operating systems). @sinkingsugar
    • Do not assume isize::MAX fits in a u64. @ThomasHabets
    Open source →
  4. 0.9.8 22 Aug 2025
    Release notes

    Added

    • MmapOptions::no_reserve_swap. @nhtyy
    Open source →
  5. 0.9.7 13 Jul 2025
    Release notes

    Fixed

    • Fix incomplete validation of mapping length, which could lead to violation of safety requirements of slice::from_raw_parts on 32-bit platforms. @nabijaczleweli
    Open source →
  6. 0.9.5 13 Sep 2024
    Release notes

    Added

    Open source →
  7. 0.9.4 25 Jan 2024
    Release notes

    Changed

    • The libc crate >= 0.2.151 is required now.

    Fixed

    • Build on Android with an older libc crate.
    Open source →
  8. 0.9.3 19 Dec 2023
    Release notes

    Fixed

    • Build on Android.
    Open source →
  9. 0.9.2 17 Dec 2023 withdrawn
    Release notes

    Fixed

    • Build on FreeBSD.
    Open source →
  10. 0.9.1 16 Dec 2023 withdrawn
    Release notes

    Changed

    Open source →
  11. 0.9.0 03 Oct 2023
    Release notes

    Changed

    • The Advice struct was split into two enums: Advice and UncheckedAdvice.<br> Advice can be passed to safe advise and advise_range methods. And UncheckedAdvice can be passed to unsafe unchecked_advise and unchecked_advise_range methods.<br> @adamreichold
    Open source →
  12. 0.8.0 25 Sep 2023
    Release notes

    Changed

    Fixed

    • Some of the Advise variants were unsound and now require unsafe to be constructed. @adamreichold
    Open source →
  13. 0.7.1 24 Jun 2023
    Release notes

    Fixed

    • Mapping beyond 4GB offset on 32 bit glibc. Linux-only. @lvella
    Open source →
  14. 0.7.0 08 Jun 2023
    Release notes

    Added

    • Mmap::remap, MmapMut::remap and MmapRaw::remap. Linux-only. @Phantomical
    • Advice::PopulateRead and Advice::PopulateWrite. Linux-only. @Jesse-Bakker

    Changed

    • libc crate >= 0.2.143 is required now.
    Open source →
  15. 0.6.2 24 May 2023
    Release notes

    Fixed

    • Alignment for empty files on Windows. @timvisee
    Open source →
  16. 0.6.1 10 May 2023
    Release notes

    Added

    • Add MmapOptions::map_raw_read_only to avoid intermediate invalid Mmap instances. @adamreichold
    Open source →
  17. 0.6.0 09 May 2023
    Release notes

    Changed

    • lock() and unlock methods require &self and not &mut self now. @timvisee
    Open source →
  18. 0.5.10 22 Feb 2023
    Release notes

    Added

    • MmapOptions::map_anon accounts for populate on Linux now. @jsgf
    Open source →
  19. 0.5.9 17 Feb 2023
    Release notes

    Added

    • From<Mmap> for MmapRaw and From<MmapMut> for MmapRaw. @swlynch99
    • Mmap::advise_range, MmapMut::advise_range, MmapRaw::advise_range. @ho-229
    Open source →
  20. 0.5.8 09 Nov 2022
    Release notes

    Added

    • MmapRaw::advise, MmapRaw::lock and MmapRaw::unlock. @diwic
    • Improve MmapMut::make_exec documentation.
    Open source →
  21. 0.5.7 15 Aug 2022
    Release notes

    Changed

    • Simplify file size retrieving code. @saethlin
    Open source →
  22. 0.5.6 11 Aug 2022
    Release notes

    Added

    • Memory locking and unlocking. See Mmap::lock, Mmap::unlock, MmapMut::lock and MmapMut::unlock. @vmx
    Open source →
  23. 0.5.5 09 Jul 2022
    Release notes

    Fixed

    • Limit mapping length to isize::MAX to prevent undefined behavior on calling std::slice::from_raw_parts. Technically affects only 32-bit systems. @adamreichold
    Open source →
  24. 0.5.4 04 Jun 2022
    Release notes

    Added

    • Add madvice operations specific to Darwin. @turbocool3r
    • Implement common traits for the Advice enum. @nyurik

    Changed

    Open source →
  25. 0.5.3 10 Feb 2022
    Release notes

    Added

    • Mmap::advise and MmapMut::advise. @nyurik
    Open source →
  26. 0.5.2 10 Jan 2022
    Release notes

    Added

    • flush, flush_async, flush_range and flush_async_range to MmapRaw matching the corresponding methods on MmapMut. @cberner
    Open source →
  27. 0.5.1 09 Jan 2022
    Release notes

    Fixed

    • Explicitly call fstat64 on Linux, emscripten and l4re targets. @adamreichold
    Open source →
  28. 0.5.0 19 Sep 2021
    Release notes

    Added

    • MmapOptions accepts any type that supports RawHandle/RawFd returning now. This allows using memmap2 not only with Rust std types, but also with async-std one. @adamreichold
    • (unix) Memoize page size to avoid repeatedly calling into sysconf machinery. @adamreichold

    Changed

    • (win) Use std::os::windows::io::AsRawHandle directly, without relying on std::fs::File. @adamreichold
    • Do not panic when failing to release resources in Drop impls. @adamreichold
    Open source →
  29. 0.4.0 16 Sep 2021
    Release notes

    Added

    Changed

    • Mapping of zero-sized files is no longer an error. @SimonSapin
    • MSRV changed from 1.31 to 1.36
    Open source →
  30. 0.3.1 15 Aug 2021
    Release notes

    Fixed

    • Integer overflow during file length calculation on 32bit targets.
    • Stub implementation. @Mrmaxmeier
    Open source →
  31. 0.3.0 10 Jun 2021
    Release notes

    Changed

    • MmapOptions allows mapping using Unix descriptors and not only std::fs::File now. @mripard
    Open source →
  32. 0.2.3 24 May 2021
    Release notes

    Added

    • Allow compilation on unsupported platforms. The code will panic on access just like in std. @jcaesar
    Open source →
  33. 0.2.2 03 Apr 2021
    Release notes

    Added

    Fixed

    • Fix alignment computation for flush_async to match flush. @adamreichold
    Open source →
  34. 0.2.1 08 Feb 2021
    Release notes

    Added

    • MmapOptions::map_raw and MmapRaw. @diwic
    Open source →
  35. 0.2.0 19 Dec 2020
    Release notes

    Changed

    • MSRV is 1.31 now (edition 2018).
    • Make anonymous memory maps private by default on unix. @CensoredUsername
    • Add map_copy_read_only. @zseri
    Open source →
  36. 0.1.0 18 Jan 2020
    Release notes

    Added

    Changed

    • Use LICENSE-APACHE instead of README.md for some tests since it's immutable.

    Removed

    Open source →

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