All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Advise::is_supported and UncheckedAdvice::is_supported. Linux only. @xzfclibc crate >= 0.2.151 is required now.libc crate.MmapOptions::huge method to support mapping hugetlb. Linux only. @ollie-etl @oliverbuntingAdvice struct was split into two enums: Advice and UncheckedAdvice.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.Advice type is a struct and not an enum now. @adamreicholdAdvise variants were unsound and now require unsafe to be constructed. @adamreicholdMmap::remap, MmapMut::remap and MmapRaw::remap. Linux-only. @PhantomicalAdvice::PopulateRead and Advice::PopulateWrite. Linux-only. @Jesse-BakkerMmapOptions::map_raw_read_only to avoid intermediate invalid Mmap instances. @adamreicholdlock() and unlock methods require &self and not &mut self now. @timviseeMmapOptions::map_anon accounts for populate on Linux now. @jsgfFrom<Mmap> for MmapRaw and From<MmapMut> for MmapRaw. @swlynch99Mmap::advise_range, MmapMut::advise_range, MmapRaw::advise_range. @ho-229MmapRaw::advise, MmapRaw::lock and MmapRaw::unlock. @diwicMmapMut::make_exec documentation.Mmap::lock, Mmap::unlock, MmapMut::lock and MmapMut::unlock. @vmxisize::MAX to prevent undefined behavior on calling std::slice::from_raw_parts. Technically affects only 32-bit systems. @adamreicholdAdvice enum. @nyuriktempfile crate instead of tempdir in tests. @alexanderkjallMmap::advise and MmapMut::advise. @nyurikflush, flush_async, flush_range and flush_async_range to MmapRaw matching the corresponding methods on MmapMut. @cbernerfstat64 on Linux, emscripten and l4re targets. @adamreicholdMmapOptions 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. @adamreicholdstd::os::windows::io::AsRawHandle directly, without relying on std::fs::File. @adamreicholdStableDeref support. @SimonSapinMmapOptions allows mapping using Unix descriptors and not only std::fs::File now. @mripardstd. @jcaesarMmapOptions::populate. @adamreicholdflush_async to match flush. @adamreicholdMmapOptions::map_raw and MmapRaw. @diwicmap_copy_read_only. @zseriLICENSE-APACHE instead of README.md for some tests since it's immutable.winapi dependency. memmap-rs/pull/89