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.
0.9.5 - 2024-09-13
Advise::is_supported
andUncheckedAdvice::is_supported
. Linux only. @xzfc- Documentation improvements. @RalfJung @betelgeuse @ADSteele916
0.9.4 - 2024-01-25
- The
libc
crate >= 0.2.151 is required now.
- Build on Android with an older
libc
crate.
0.9.3 - 2023-12-19
- Build on Android.
0.9.2 - 2023-12-17
- Build on FreeBSD.
0.9.1 - 2023-12-16
- Added
MmapOptions::huge
method to support mapping hugetlb. Linux only. @ollie-etl @oliverbunting
0.9.0 - 2023-10-03
- The
Advice
struct was split into two enums:Advice
andUncheckedAdvice
.
Advice
can be passed to safeadvise
andadvise_range
methods. AndUncheckedAdvice
can be passed to unsafeunchecked_advise
andunchecked_advise_range
methods.
@adamreichold
0.8.0 - 2023-09-25
- The
Advice
type is a struct and not an enum now. @adamreichold
- Some of the
Advise
variants were unsound and now requireunsafe
to be constructed. @adamreichold
0.7.1 - 2023-06-24
- Mapping beyond 4GB offset on 32 bit glibc. Linux-only. @lvella
0.7.0 - 2023-06-08
Mmap::remap
,MmapMut::remap
andMmapRaw::remap
. Linux-only. @PhantomicalAdvice::PopulateRead
andAdvice::PopulateWrite
. Linux-only. @Jesse-Bakker
- libc crate >= 0.2.143 is required now.
0.6.2 - 2023-05-24
- Alignment for empty files on Windows. @timvisee
0.6.1 - 2023-05-10
- Add
MmapOptions::map_raw_read_only
to avoid intermediate invalidMmap
instances. @adamreichold
0.6.0 - 2023-05-09
lock()
andunlock
methods require&self
and not&mut self
now. @timvisee
0.5.10 - 2023-02-22
MmapOptions::map_anon
accounts forpopulate
on Linux now. @jsgf
0.5.9 - 2023-02-17
From<Mmap> for MmapRaw
andFrom<MmapMut> for MmapRaw
. @swlynch99Mmap::advise_range
,MmapMut::advise_range
,MmapRaw::advise_range
. @ho-229
0.5.8 - 2022-11-09
MmapRaw::advise
,MmapRaw::lock
andMmapRaw::unlock
. @diwic- Improve
MmapMut::make_exec
documentation.
0.5.7 - 2022-08-15
- Simplify file size retrieving code. @saethlin
0.5.6 - 2022-08-11
- Memory locking and unlocking. See
Mmap::lock
,Mmap::unlock
,MmapMut::lock
andMmapMut::unlock
. @vmx
0.5.5 - 2022-07-09
- Limit mapping length to
isize::MAX
to prevent undefined behavior on callingstd::slice::from_raw_parts
. Technically affects only 32-bit systems. @adamreichold
0.5.4 - 2022-06-04
- Add madvice operations specific to Darwin. @turbocool3r
- Implement common traits for the
Advice
enum. @nyurik
- Make stub implementation Infallible. @coolreader18
- Use
tempfile
crate instead oftempdir
in tests. @alexanderkjall
0.5.3 - 2022-02-10
Mmap::advise
andMmapMut::advise
. @nyurik
0.5.2 - 2022-01-10
flush
,flush_async
,flush_range
andflush_async_range
toMmapRaw
matching the corresponding methods onMmapMut
. @cberner
0.5.1 - 2022-01-09
- Explicitly call
fstat64
on Linux, emscripten and l4re targets. @adamreichold
0.5.0 - 2021-09-19
MmapOptions
accepts any type that supportsRawHandle
/RawFd
returning now. This allows usingmemmap2
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
- (win) Use
std::os::windows::io::AsRawHandle
directly, without relying onstd::fs::File
. @adamreichold - Do not panic when failing to release resources in Drop impls. @adamreichold
0.4.0 - 2021-09-16
- Optional
StableDeref
support. @SimonSapin
- Mapping of zero-sized files is no longer an error. @SimonSapin
- MSRV changed from 1.31 to 1.36
0.3.1 - 2021-08-15
- Integer overflow during file length calculation on 32bit targets.
- Stub implementation. @Mrmaxmeier
0.3.0 - 2021-06-10
MmapOptions
allows mapping using Unix descriptors and not onlystd::fs::File
now. @mripard
0.2.3 - 2021-05-24
- Allow compilation on unsupported platforms.
The code will panic on access just like in
std
. @jcaesar
0.2.2 - 2021-04-03
MmapOptions::populate
. @adamreichold
- Fix alignment computation for
flush_async
to matchflush
. @adamreichold
0.2.1 - 2021-02-08
MmapOptions::map_raw
andMmapRaw
. @diwic
0.2.0 - 2020-12-19
- MSRV is 1.31 now (edition 2018).
- Make anonymous memory maps private by default on unix. @CensoredUsername
- Add
map_copy_read_only
. @zseri
- Fork memmap-rs.
- Use
LICENSE-APACHE
instead ofREADME.md
for some tests since it's immutable.
winapi
dependency. memmap-rs/pull/89