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
Releases
latest 36-
0.9.1122 Jun 2026Release notes
Open source →- Fix unchecked pointer arithmatic in
advice_range,unchecked_advise_range,flush_rangeandflush_async_range. - Bump the MSRV from 1.63 to 1.65.
Release notes
Open source →Fixed
- Fix unchecked pointer arithmatic in
advice_range,unchecked_advise_range,flush_rangeandflush_async_range.
Changed
- Bump the MSRV from 1.63 to 1.65.
- Fix unchecked pointer arithmatic in
-
0.9.1015 Feb 2026Release notes
Open source →Fixed
- Fix compilation on AIX targets. @xingxue-ibm
Changed
- Return
ErrorKind::Unsupportedon unsupported platforms to allow reliable runtime detection. @daxpedda
-
0.9.921 Oct 2025Release notes
Open source →Fixed
- Fix compilation on visionOS (and other apple operating systems). @sinkingsugar
- Do not assume
isize::MAXfits in au64. @ThomasHabets
-
0.9.822 Aug 2025 -
0.9.713 Jul 2025Release notes
Open source →Fixed
- Fix incomplete validation of mapping length, which could lead to violation of safety requirements of
slice::from_raw_partson 32-bit platforms. @nabijaczleweli
- Fix incomplete validation of mapping length, which could lead to violation of safety requirements of
-
0.9.513 Sep 2024Release notes
Open source →Added
Advise::is_supportedandUncheckedAdvice::is_supported. Linux only. @xzfc- Documentation improvements. @RalfJung @betelgeuse @ADSteele916
-
0.9.425 Jan 2024Release notes
Open source →Changed
- The
libccrate >= 0.2.151 is required now.
Fixed
- Build on Android with an older
libccrate.
- The
-
0.9.319 Dec 2023 -
0.9.217 Dec 2023 withdrawn -
0.9.116 Dec 2023 withdrawnRelease notes
Open source →Changed
- Added
MmapOptions::hugemethod to support mapping hugetlb. Linux only. @ollie-etl @oliverbunting
- Added
-
0.9.003 Oct 2023Release notes
Open source →Changed
- The
Advicestruct was split into two enums:AdviceandUncheckedAdvice.<br>Advicecan be passed to safeadviseandadvise_rangemethods. AndUncheckedAdvicecan be passed to unsafeunchecked_adviseandunchecked_advise_rangemethods.<br> @adamreichold
- The
-
0.8.025 Sep 2023Release notes
Open source →Changed
- The
Advicetype is a struct and not an enum now. @adamreichold
Fixed
- Some of the
Advisevariants were unsound and now requireunsafeto be constructed. @adamreichold
- The
-
0.7.124 Jun 2023 -
0.7.008 Jun 2023Release notes
Open source →Added
Mmap::remap,MmapMut::remapandMmapRaw::remap. Linux-only. @PhantomicalAdvice::PopulateReadandAdvice::PopulateWrite. Linux-only. @Jesse-Bakker
Changed
- libc crate >= 0.2.143 is required now.
-
0.6.224 May 2023 -
0.6.110 May 2023Release notes
Open source →Added
- Add
MmapOptions::map_raw_read_onlyto avoid intermediate invalidMmapinstances. @adamreichold
- Add
-
0.6.009 May 2023Release notes
Open source →Changed
lock()andunlockmethods require&selfand not&mut selfnow. @timvisee
-
0.5.1022 Feb 2023 -
0.5.917 Feb 2023Release notes
Open source →Added
From<Mmap> for MmapRawandFrom<MmapMut> for MmapRaw. @swlynch99Mmap::advise_range,MmapMut::advise_range,MmapRaw::advise_range. @ho-229
-
0.5.809 Nov 2022Release notes
Open source →Added
MmapRaw::advise,MmapRaw::lockandMmapRaw::unlock. @diwic- Improve
MmapMut::make_execdocumentation.
-
0.5.715 Aug 2022 -
0.5.611 Aug 2022Release notes
Open source →Added
- Memory locking and unlocking. See
Mmap::lock,Mmap::unlock,MmapMut::lockandMmapMut::unlock. @vmx
- Memory locking and unlocking. See
-
0.5.509 Jul 2022Release notes
Open source →Fixed
- Limit mapping length to
isize::MAXto prevent undefined behavior on callingstd::slice::from_raw_parts. Technically affects only 32-bit systems. @adamreichold
- Limit mapping length to
-
0.5.404 Jun 2022Release notes
Open source →Added
- Add madvice operations specific to Darwin. @turbocool3r
- Implement common traits for the
Adviceenum. @nyurik
Changed
- Make stub implementation Infallible. @coolreader18
- Use
tempfilecrate instead oftempdirin tests. @alexanderkjall
-
0.5.310 Feb 2022 -
0.5.210 Jan 2022Release notes
Open source →Added
flush,flush_async,flush_rangeandflush_async_rangetoMmapRawmatching the corresponding methods onMmapMut. @cberner
-
0.5.109 Jan 2022Release notes
Open source →Fixed
- Explicitly call
fstat64on Linux, emscripten and l4re targets. @adamreichold
- Explicitly call
-
0.5.019 Sep 2021Release notes
Open source →Added
MmapOptionsaccepts any type that supportsRawHandle/RawFdreturning now. This allows usingmemmap2not 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::AsRawHandledirectly, without relying onstd::fs::File. @adamreichold - Do not panic when failing to release resources in Drop impls. @adamreichold
-
0.4.016 Sep 2021Release notes
Open source →Added
- Optional
StableDerefsupport. @SimonSapin
Changed
- Mapping of zero-sized files is no longer an error. @SimonSapin
- MSRV changed from 1.31 to 1.36
- Optional
-
0.3.115 Aug 2021Release notes
Open source →Fixed
- Integer overflow during file length calculation on 32bit targets.
- Stub implementation. @Mrmaxmeier
-
0.3.010 Jun 2021Release notes
Open source →Changed
MmapOptionsallows mapping using Unix descriptors and not onlystd::fs::Filenow. @mripard
-
0.2.324 May 2021Release notes
Open source →Added
- Allow compilation on unsupported platforms.
The code will panic on access just like in
std. @jcaesar
- Allow compilation on unsupported platforms.
The code will panic on access just like in
-
0.2.203 Apr 2021Release notes
Open source →Added
MmapOptions::populate. @adamreichold
Fixed
- Fix alignment computation for
flush_asyncto matchflush. @adamreichold
-
0.2.108 Feb 2021 -
0.2.019 Dec 2020Release notes
Open source →Changed
- MSRV is 1.31 now (edition 2018).
- Make anonymous memory maps private by default on unix. @CensoredUsername
- Add
map_copy_read_only. @zseri
-
0.1.018 Jan 2020Release notes
Open source →Added
- Fork memmap-rs.
Changed
- Use
LICENSE-APACHEinstead ofREADME.mdfor some tests since it's immutable.
Removed
winapidependency. memmap-rs/pull/89