1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235
|
# Change Log
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
## [Unreleased]
## [0.9.4] - 2024-01-25
### Changed
- The `libc` crate >= 0.2.151 is required now.
### Fixed
- Build on Android with an older `libc` crate.
## [0.9.3] - 2023-12-19
### Fixed
- Build on Android.
## [0.9.2] - 2023-12-17
### Fixed
- Build on FreeBSD.
## [0.9.1] - 2023-12-16
### Changed
- Added `MmapOptions::huge` method to support mapping hugetlb. Linux only.
[@ollie-etl](https://github.com/ollie-etl)
[@oliverbunting](https://github.com/oliverbunting)
## [0.9.0] - 2023-10-03
### 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](https://github.com/adamreichold)
## [0.8.0] - 2023-09-25
### Changed
- The `Advice` type is a struct and not an enum now.
[@adamreichold](https://github.com/adamreichold)
### Fixed
- Some of the `Advise` variants were unsound and now require `unsafe` to be constructed.
[@adamreichold](https://github.com/adamreichold)
## [0.7.1] - 2023-06-24
### Fixed
- Mapping beyond 4GB offset on 32 bit glibc. Linux-only.
[@lvella](https://github.com/lvella)
## [0.7.0] - 2023-06-08
### Added
- `Mmap::remap`, `MmapMut::remap` and `MmapRaw::remap`. Linux-only.
[@Phantomical](https://github.com/Phantomical)
- `Advice::PopulateRead` and `Advice::PopulateWrite`. Linux-only.
[@Jesse-Bakker](https://github.com/Jesse-Bakker)
### Changed
- libc crate >= 0.2.143 is required now.
## [0.6.2] - 2023-05-24
### Fixed
- Alignment for empty files on Windows.
[@timvisee](https://github.com/timvisee)
## [0.6.1] - 2023-05-10
### Added
- Add `MmapOptions::map_raw_read_only` to avoid intermediate invalid `Mmap` instances.
[@adamreichold](https://github.com/adamreichold)
## [0.6.0] - 2023-05-09
### Changed
- `lock()` and `unlock` methods require `&self` and not `&mut self` now.
[@timvisee](https://github.com/timvisee)
## [0.5.10] - 2023-02-22
### Added
- `MmapOptions::map_anon` accounts for `populate` on Linux now.
[@jsgf](https://github.com/jsgf)
## [0.5.9] - 2023-02-17
### Added
- `From<Mmap> for MmapRaw` and `From<MmapMut> for MmapRaw`.
[@swlynch99](https://github.com/swlynch99)
- `Mmap::advise_range`, `MmapMut::advise_range`, `MmapRaw::advise_range`.
[@ho-229](https://github.com/ho-229)
## [0.5.8] - 2022-11-09
### Added
- `MmapRaw::advise`, `MmapRaw::lock` and `MmapRaw::unlock`.
[@diwic](https://github.com/diwic)
- Improve `MmapMut::make_exec` documentation.
## [0.5.7] - 2022-08-15
### Changed
- Simplify file size retrieving code.
[@saethlin](https://github.com/saethlin)
## [0.5.6] - 2022-08-11
### Added
- Memory locking and unlocking. See `Mmap::lock`, `Mmap::unlock`,
`MmapMut::lock` and `MmapMut::unlock`.
[@vmx](https://github.com/vmx)
## [0.5.5] - 2022-07-09
### 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](https://github.com/adamreichold)
## [0.5.4] - 2022-06-04
### Added
- Add madvice operations specific to Darwin. [@turbocool3r](https://github.com/turbocool3r)
- Implement common traits for the `Advice` enum. [@nyurik](https://github.com/nyurik)
### Changed
- Make stub implementation Infallible. [@coolreader18](https://github.com/coolreader18)
- Use `tempfile` crate instead of `tempdir` in tests.
[@alexanderkjall](https://github.com/alexanderkjall)
## [0.5.3] - 2022-02-10
### Added
- `Mmap::advise` and `MmapMut::advise`. [@nyurik](https://github.com/nyurik)
## [0.5.2] - 2022-01-10
### Added
- `flush`, `flush_async`, `flush_range` and `flush_async_range` to `MmapRaw` matching
the corresponding methods on `MmapMut`.
[@cberner](https://github.com/cberner)
## [0.5.1] - 2022-01-09
### Fixed
- Explicitly call `fstat64` on Linux, emscripten and l4re targets.
[@adamreichold](https://github.com/adamreichold)
## [0.5.0] - 2021-09-19
### 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](https://github.com/async-rs/async-std) one.
[@adamreichold](https://github.com/adamreichold)
- (unix) Memoize page size to avoid repeatedly calling into sysconf machinery.
[@adamreichold](https://github.com/adamreichold)
### Changed
- (win) Use `std::os::windows::io::AsRawHandle` directly, without relying on `std::fs::File`.
[@adamreichold](https://github.com/adamreichold)
- Do not panic when failing to release resources in Drop impls.
[@adamreichold](https://github.com/adamreichold)
## [0.4.0] - 2021-09-16
### Added
- Optional [`StableDeref`](https://github.com/storyyeller/stable_deref_trait) support.
[@SimonSapin](https://github.com/SimonSapin)
### Changed
- Mapping of zero-sized files is no longer an error.
[@SimonSapin](https://github.com/SimonSapin)
- MSRV changed from 1.31 to 1.36
## [0.3.1] - 2021-08-15
### Fixed
- Integer overflow during file length calculation on 32bit targets.
- Stub implementation. [@Mrmaxmeier](https://github.com/Mrmaxmeier)
## [0.3.0] - 2021-06-10
### Changed
- `MmapOptions` allows mapping using Unix descriptors and not only `std::fs::File` now.
[@mripard](https://github.com/mripard)
## [0.2.3] - 2021-05-24
### Added
- Allow compilation on unsupported platforms.
The code will panic on access just like in `std`.
[@jcaesar](https://github.com/jcaesar)
## [0.2.2] - 2021-04-03
### Added
- `MmapOptions::populate`. [@adamreichold](https://github.com/adamreichold)
### Fixed
- Fix alignment computation for `flush_async` to match `flush`.
[@adamreichold](https://github.com/adamreichold)
## [0.2.1] - 2021-02-08
### Added
- `MmapOptions::map_raw` and `MmapRaw`. [@diwic](https://github.com/diwic)
## [0.2.0] - 2020-12-19
### Changed
- MSRV is 1.31 now (edition 2018).
- Make anonymous memory maps private by default on unix. [@CensoredUsername](https://github.com/CensoredUsername)
- Add `map_copy_read_only`. [@zseri](https://github.com/zseri)
## 0.1.0 - 2020-01-18
### Added
- Fork [memmap-rs](https://github.com/danburkert/memmap-rs).
### Changed
- Use `LICENSE-APACHE` instead of `README.md` for some tests since it's immutable.
### Removed
- `winapi` dependency. [memmap-rs/pull/89](https://github.com/danburkert/memmap-rs/pull/89)
[Unreleased]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.9.4...HEAD
[0.9.4]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.9.3...v0.9.4
[0.9.3]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.9.2...v0.9.3
[0.9.2]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.9.1...v0.9.2
[0.9.1]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.9.0...v0.9.1
[0.9.0]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.8.0...v0.9.0
[0.8.0]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.7.1...v0.8.0
[0.7.1]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.7.0...v0.7.1
[0.7.0]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.6.2...v0.7.0
[0.6.2]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.6.1...v0.6.2
[0.6.1]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.6.0...v0.6.1
[0.6.0]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.5.10...v0.6.0
[0.5.10]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.5.9...v0.5.10
[0.5.9]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.5.8...v0.5.9
[0.5.8]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.5.7...v0.5.8
[0.5.7]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.5.6...v0.5.7
[0.5.6]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.5.5...v0.5.6
[0.5.5]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.5.4...v0.5.5
[0.5.4]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.5.3...v0.5.4
[0.5.3]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.5.2...v0.5.3
[0.5.2]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.5.1...v0.5.2
[0.5.1]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.5.0...v0.5.1
[0.5.0]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.4.0...v0.5.0
[0.4.0]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.3.1...v0.4.0
[0.3.1]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.3.0...v0.3.1
[0.3.0]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.2.3...v0.3.0
[0.2.3]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.2.2...v0.2.3
[0.2.2]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.2.1...v0.2.2
[0.2.1]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.2.0...v0.2.1
[0.2.0]: https://github.com/RazrFalcon/memmap2-rs/compare/v0.1.0...v0.2.0
|