|
2 | 2 |
|
3 | 3 | ## Upcoming version
|
4 | 4 |
|
5 |
| -## [v0.16.0] |
| 5 | +## \[v0.16.0\] |
6 | 6 |
|
7 | 7 | ### Added
|
8 | 8 |
|
9 |
| -- [[#287](https://github.com/rust-vmm/vm-memory/pull/287)] Support for RISC-V 64-bit platform. |
10 |
| -- [[#299](https://github.com/rust-vmm/vm-memory/pull/299)] atomic_bitmap: support enlarging the bitmap. |
| 9 | +- \[[#287](https://github.com/rust-vmm/vm-memory/pull/287)\] Support for RISC-V 64-bit platform. |
| 10 | +- \[[#299](https://github.com/rust-vmm/vm-memory/pull/299)\] atomic_bitmap: support enlarging the bitmap. |
11 | 11 |
|
12 | 12 | ### Changed
|
13 | 13 |
|
14 |
| -- [[#278](https://github.com/rust-vmm/vm-memory/pull/278) Remove `GuestMemoryIterator` trait, |
| 14 | +- \[[#278](https://github.com/rust-vmm/vm-memory/pull/278) Remove `GuestMemoryIterator` trait, |
15 | 15 | and instead have GuestMemory::iter() return `impl Iterator`.
|
16 | 16 |
|
17 |
| -## [v0.15.0] |
| 17 | +## \[v0.15.0\] |
18 | 18 |
|
19 | 19 | ### Added
|
20 |
| -- [[#270](https://github.com/rust-vmm/vm-memory/pull/270)] atomic_bitmap: add capability to reset bits range |
21 |
| -- [[#285](https://github.com/rust-vmm/vm-memory/pull/285)] Annotated modules in lib.rs to indicate their feature |
| 20 | + |
| 21 | +- \[[#270](https://github.com/rust-vmm/vm-memory/pull/270)\] atomic_bitmap: add capability to reset bits range |
| 22 | +- \[[#285](https://github.com/rust-vmm/vm-memory/pull/285)\] Annotated modules in lib.rs to indicate their feature |
22 | 23 | dependencies such that it is reflected in the docs, enhancing documentation clarity for users.
|
23 | 24 |
|
24 | 25 | ### Changed
|
25 |
| -- [[#275](https://github.com/rust-vmm/vm-memory/pull/275)] Fail builds on non 64-bit platforms. |
| 26 | + |
| 27 | +- \[[#275](https://github.com/rust-vmm/vm-memory/pull/275)\] Fail builds on non 64-bit platforms. |
| 28 | + |
26 | 29 | ### Fixed
|
27 |
| -- [[#279](https://github.com/rust-vmm/vm-memory/pull/279)] Remove restriction from `read_volatile_from` and `write_volatile_into` |
| 30 | + |
| 31 | +- \[[#279](https://github.com/rust-vmm/vm-memory/pull/279)\] Remove restriction from `read_volatile_from` and `write_volatile_into` |
28 | 32 | that made it copy data it chunks of 4096.
|
29 | 33 |
|
30 | 34 | ### Removed
|
| 35 | + |
31 | 36 | ### Deprecated
|
32 | 37 |
|
33 |
| -## [v0.14.0] |
| 38 | +## \[v0.14.0\] |
34 | 39 |
|
35 | 40 | ### Added
|
36 |
| -- [[#266](https://github.com/rust-vmm/vm-memory/pull/266)] Derive `Debug` for several |
| 41 | + |
| 42 | +- \[[#266](https://github.com/rust-vmm/vm-memory/pull/266)\] Derive `Debug` for several |
37 | 43 | types that were missing it.
|
38 | 44 |
|
39 | 45 | ### Changed
|
40 |
| -- [[#274](https://github.com/rust-vmm/vm-memory/pull/274)] Drop `Default` as requirement for `ByteValued`. |
41 | 46 |
|
42 |
| -## [v0.13.1] |
| 47 | +- \[[#274](https://github.com/rust-vmm/vm-memory/pull/274)\] Drop `Default` as requirement for `ByteValued`. |
| 48 | + |
| 49 | +## \[v0.13.1\] |
43 | 50 |
|
44 | 51 | ### Added
|
45 | 52 |
|
46 |
| -- [[#256](https://github.com/rust-vmm/vm-memory/pull/256)] Implement `WriteVolatile` |
| 53 | +- \[[#256](https://github.com/rust-vmm/vm-memory/pull/256)\] Implement `WriteVolatile` |
47 | 54 | for `std::io::Stdout`.
|
48 |
| -- [[#256](https://github.com/rust-vmm/vm-memory/pull/256)] Implement `WriteVolatile` |
| 55 | +- \[[#256](https://github.com/rust-vmm/vm-memory/pull/256)\] Implement `WriteVolatile` |
49 | 56 | for `std::vec::Vec`.
|
50 |
| -- [[#256](https://github.com/rust-vmm/vm-memory/pull/256)] Implement `WriteVolatile` |
| 57 | +- \[[#256](https://github.com/rust-vmm/vm-memory/pull/256)\] Implement `WriteVolatile` |
51 | 58 | for `Cursor<&mut [u8]>`.
|
52 |
| -- [[#256](https://github.com/rust-vmm/vm-memory/pull/256)] Implement `ReadVolatile` |
| 59 | +- \[[#256](https://github.com/rust-vmm/vm-memory/pull/256)\] Implement `ReadVolatile` |
53 | 60 | for `Cursor<T: AsRef[u8]>`.
|
54 | 61 |
|
55 |
| -## [v0.13.0] |
| 62 | +## \[v0.13.0\] |
56 | 63 |
|
57 | 64 | ### Added
|
58 |
| -- [[#247]](https://github.com/rust-vmm/vm-memory/pull/247) Add `ReadVolatile` and |
| 65 | + |
| 66 | +- [\[#247\]](https://github.com/rust-vmm/vm-memory/pull/247) Add `ReadVolatile` and |
59 | 67 | `WriteVolatile` traits which are equivalents of `Read`/`Write` with volatile
|
60 | 68 | access semantics.
|
61 | 69 |
|
62 | 70 | ### Changed
|
63 | 71 |
|
64 |
| -- [[#247]](https://github.com/rust-vmm/vm-memory/pull/247) Deprecate |
| 72 | +- [\[#247\]](https://github.com/rust-vmm/vm-memory/pull/247) Deprecate |
65 | 73 | `Bytes::{read_from, read_exact_from, write_to, write_all_to}`. Instead use
|
66 | 74 | `ReadVolatile`/`WriteVolatile`, which do not incur the performance penalty
|
67 | 75 | of copying to hypervisor memory due to `Read`/`Write` being incompatible
|
68 | 76 | with volatile semantics (see also #217).
|
69 | 77 |
|
70 |
| - |
71 |
| -## [v0.12.2] |
| 78 | +## \[v0.12.2\] |
72 | 79 |
|
73 | 80 | ### Fixed
|
74 |
| -- [[#251]](https://github.com/rust-vmm/vm-memory/pull/251): Inserted checks |
| 81 | + |
| 82 | +- [\[#251\]](https://github.com/rust-vmm/vm-memory/pull/251): Inserted checks |
75 | 83 | that verify that the value returned by `VolatileMemory::get_slice` is of
|
76 | 84 | the correct length.
|
77 | 85 |
|
78 | 86 | ### Deprecated
|
79 |
| -- [[#244]](https://github.com/rust-vmm/vm-memory/pull/241) Deprecate volatile |
| 87 | + |
| 88 | +- [\[#244\]](https://github.com/rust-vmm/vm-memory/pull/241) Deprecate volatile |
80 | 89 | memory's `as_ptr()` interfaces. The new interfaces to be used instead are:
|
81 | 90 | `ptr_guard()` and `ptr_guard_mut()`.
|
82 | 91 |
|
83 |
| -## [v0.12.1] |
| 92 | +## \[v0.12.1\] |
84 | 93 |
|
85 | 94 | ### Fixed
|
86 |
| -- [[#241]](https://github.com/rust-vmm/vm-memory/pull/245) mmap_xen: Don't drop |
| 95 | + |
| 96 | +- [\[#241\]](https://github.com/rust-vmm/vm-memory/pull/245) mmap_xen: Don't drop |
87 | 97 | the FileOffset while in use #245
|
88 | 98 |
|
89 |
| -## [v0.12.0] |
| 99 | +## \[v0.12.0\] |
90 | 100 |
|
91 | 101 | ### Added
|
92 |
| -- [[#241]](https://github.com/rust-vmm/vm-memory/pull/241) Add Xen memory |
| 102 | + |
| 103 | +- [\[#241\]](https://github.com/rust-vmm/vm-memory/pull/241) Add Xen memory |
93 | 104 | mapping support: Foreign and Grant. Add new API for accessing pointers to
|
94 | 105 | volatile slices, as `as_ptr()` can't be used with Xen's Grant mapping.
|
95 |
| -- [[#237]](https://github.com/rust-vmm/vm-memory/pull/237) Implement `ByteValued` for `i/u128`. |
| 106 | +- [\[#237\]](https://github.com/rust-vmm/vm-memory/pull/237) Implement `ByteValued` for `i/u128`. |
96 | 107 |
|
97 |
| -## [v0.11.0] |
| 108 | +## \[v0.11.0\] |
98 | 109 |
|
99 | 110 | ### Added
|
100 |
| -- [[#216]](https://github.com/rust-vmm/vm-memory/pull/216) Add `GuestRegionMmap::from_region`. |
| 111 | + |
| 112 | +- [\[#216\]](https://github.com/rust-vmm/vm-memory/pull/216) Add `GuestRegionMmap::from_region`. |
101 | 113 |
|
102 | 114 | ### Fixed
|
103 |
| -- [[#217]](https://github.com/rust-vmm/vm-memory/pull/217) Fix vm-memory internally |
104 |
| - taking rust-style slices to guest memory in ways that could potentially cause |
| 115 | + |
| 116 | +- [\[#217\]](https://github.com/rust-vmm/vm-memory/pull/217) Fix vm-memory internally |
| 117 | + taking rust-style slices to guest memory in ways that could potentially cause |
105 | 118 | undefined behavior. Removes/deprecates various `as_slice`/`as_slice_mut` methods
|
106 |
| - whose usage violated rust's aliasing rules, as well as an unsound |
| 119 | + whose usage violated rust's aliasing rules, as well as an unsound |
107 | 120 | `impl<'a> VolatileMemory for &'a mut [u8]`.
|
108 | 121 |
|
109 |
| -## [v0.10.0] |
| 122 | +## \[v0.10.0\] |
110 | 123 |
|
111 | 124 | ### Changed
|
112 |
| -- [[#208]](https://github.com/rust-vmm/vm-memory/issues/208) Updated |
| 125 | + |
| 126 | +- [\[#208\]](https://github.com/rust-vmm/vm-memory/issues/208) Updated |
113 | 127 | vmm-sys-util dependency to v0.11.0
|
114 |
| -- [[#203]](https://github.com/rust-vmm/vm-memory/pull/203) Switched to Rust |
| 128 | +- [\[#203\]](https://github.com/rust-vmm/vm-memory/pull/203) Switched to Rust |
115 | 129 | edition 2021.
|
116 | 130 |
|
117 |
| -## [v0.9.0] |
| 131 | +## \[v0.9.0\] |
118 | 132 |
|
119 | 133 | ### Fixed
|
120 | 134 |
|
121 |
| -- [[#195]](https://github.com/rust-vmm/vm-memory/issues/195): |
| 135 | +- [\[#195\]](https://github.com/rust-vmm/vm-memory/issues/195): |
122 | 136 | `mmap::check_file_offset` is doing the correct size validation for block and
|
123 | 137 | char devices as well.
|
124 | 138 |
|
125 | 139 | ### Changed
|
126 | 140 |
|
127 |
| -- [[#198]](https://github.com/rust-vmm/vm-memory/pull/198): atomic: enable 64 |
| 141 | +- [\[#198\]](https://github.com/rust-vmm/vm-memory/pull/198): atomic: enable 64 |
128 | 142 | bit atomics on ppc64le and s390x.
|
129 |
| -- [[#200]](https://github.com/rust-vmm/vm-memory/pull/200): docs: enable all |
| 143 | +- [\[#200\]](https://github.com/rust-vmm/vm-memory/pull/200): docs: enable all |
130 | 144 | features in `docs.rs`.
|
131 |
| -- [[#199]](https://github.com/rust-vmm/vm-memory/issues/199): Update the way |
| 145 | +- [\[#199\]](https://github.com/rust-vmm/vm-memory/issues/199): Update the way |
132 | 146 | the dependencies are pulled such that we don't end up with incompatible
|
133 | 147 | versions.
|
134 | 148 |
|
135 |
| -## [v0.8.0] |
| 149 | +## \[v0.8.0\] |
136 | 150 |
|
137 | 151 | ### Fixed
|
138 | 152 |
|
139 |
| -- [[#190]](https://github.com/rust-vmm/vm-memory/pull/190): |
| 153 | +- [\[#190\]](https://github.com/rust-vmm/vm-memory/pull/190): |
140 | 154 | `VolatileSlice::read/write` when input slice is empty.
|
141 | 155 |
|
142 |
| -## [v0.7.0] |
| 156 | +## \[v0.7.0\] |
143 | 157 |
|
144 | 158 | ### Changed
|
145 | 159 |
|
146 |
| -- [[#176]](https://github.com/rust-vmm/vm-memory/pull/176): Relax the trait |
| 160 | +- [\[#176\]](https://github.com/rust-vmm/vm-memory/pull/176): Relax the trait |
147 | 161 | bounds of `Bytes` auto impl for `T: GuestMemory`
|
148 |
| -- [[#178]](https://github.com/rust-vmm/vm-memory/pull/178): |
| 162 | +- [\[#178\]](https://github.com/rust-vmm/vm-memory/pull/178): |
149 | 163 | `MmapRegion::build_raw` no longer requires that the length of the region is a
|
150 | 164 | multiple of the page size.
|
151 | 165 |
|
152 |
| -## [v0.6.0] |
| 166 | +## \[v0.6.0\] |
153 | 167 |
|
154 | 168 | ### Added
|
155 | 169 |
|
156 |
| - - [[#160]](https://github.com/rust-vmm/vm-memory/pull/160): Add `ArcRef` and `AtomicBitmapArc` bitmap |
157 |
| - backend implementations. |
158 |
| - - [[#149]](https://github.com/rust-vmm/vm-memory/issues/149): Implement builder for MmapRegion. |
159 |
| - - [[#140]](https://github.com/rust-vmm/vm-memory/issues/140): Add dirty bitmap tracking abstractions. |
| 170 | +- [\[#160\]](https://github.com/rust-vmm/vm-memory/pull/160): Add `ArcRef` and `AtomicBitmapArc` bitmap |
| 171 | + backend implementations. |
| 172 | +- [\[#149\]](https://github.com/rust-vmm/vm-memory/issues/149): Implement builder for MmapRegion. |
| 173 | +- [\[#140\]](https://github.com/rust-vmm/vm-memory/issues/140): Add dirty bitmap tracking abstractions. |
160 | 174 |
|
161 |
| -### Deprecated |
| 175 | +### Deprecated |
162 | 176 |
|
163 |
| - - [[#133]](https://github.com/rust-vmm/vm-memory/issues/8): Deprecate `GuestMemory::with_regions()`, |
164 |
| - `GuestMemory::with_regions_mut()`, `GuestMemory::map_and_fold()`. |
| 177 | +- [\[#133\]](https://github.com/rust-vmm/vm-memory/issues/8): Deprecate `GuestMemory::with_regions()`, |
| 178 | + `GuestMemory::with_regions_mut()`, `GuestMemory::map_and_fold()`. |
165 | 179 |
|
166 |
| -## [v0.5.0] |
| 180 | +## \[v0.5.0\] |
167 | 181 |
|
168 | 182 | ### Added
|
169 | 183 |
|
170 |
| -- [[#8]](https://github.com/rust-vmm/vm-memory/issues/8): Add GuestMemory method to return an Iterator |
171 |
| -- [[#120]](https://github.com/rust-vmm/vm-memory/pull/120): Add is_hugetlbfs() to GuestMemoryRegion |
172 |
| -- [[#126]](https://github.com/rust-vmm/vm-memory/pull/126): Add VolatileSlice::split_at() |
173 |
| -- [[#128]](https://github.com/rust-vmm/vm-memory/pull/128): Add VolatileSlice::subslice() |
| 184 | +- [\[#8\]](https://github.com/rust-vmm/vm-memory/issues/8): Add GuestMemory method to return an Iterator |
| 185 | +- [\[#120\]](https://github.com/rust-vmm/vm-memory/pull/120): Add is_hugetlbfs() to GuestMemoryRegion |
| 186 | +- [\[#126\]](https://github.com/rust-vmm/vm-memory/pull/126): Add VolatileSlice::split_at() |
| 187 | +- [\[#128\]](https://github.com/rust-vmm/vm-memory/pull/128): Add VolatileSlice::subslice() |
174 | 188 |
|
175 |
| -## [v0.4.0] |
| 189 | +## \[v0.4.0\] |
176 | 190 |
|
177 | 191 | ### Fixed
|
178 | 192 |
|
179 |
| -- [[#100]](https://github.com/rust-vmm/vm-memory/issues/100): Performance |
| 193 | +- [\[#100\]](https://github.com/rust-vmm/vm-memory/issues/100): Performance |
180 | 194 | degradation after fixing [#95](https://github.com/rust-vmm/vm-memory/pull/95).
|
181 |
| -- [[#122]](https://github.com/rust-vmm/vm-memory/pull/122): atomic, |
| 195 | +- [\[#122\]](https://github.com/rust-vmm/vm-memory/pull/122): atomic, |
182 | 196 | Cargo.toml: Update for arc-swap 1.0.0.
|
183 | 197 |
|
184 |
| -## [v0.3.0] |
| 198 | +## \[v0.3.0\] |
185 | 199 |
|
186 | 200 | ### Added
|
187 | 201 |
|
188 |
| -- [[#109]](https://github.com/rust-vmm/vm-memory/pull/109): Added `build_raw` to |
| 202 | +- [\[#109\]](https://github.com/rust-vmm/vm-memory/pull/109): Added `build_raw` to |
189 | 203 | `MmapRegion` which can be used to operate on externally created mappings.
|
190 |
| -- [[#101]](https://github.com/rust-vmm/vm-memory/pull/101): Added `check_range` for |
| 204 | +- [\[#101\]](https://github.com/rust-vmm/vm-memory/pull/101): Added `check_range` for |
191 | 205 | GuestMemory which could be used to validate a range of guest memory.
|
192 |
| -- [[#115]](https://github.com/rust-vmm/vm-memory/pull/115): Add methods for atomic |
| 206 | +- [\[#115\]](https://github.com/rust-vmm/vm-memory/pull/115): Add methods for atomic |
193 | 207 | access to `Bytes`.
|
194 | 208 |
|
195 | 209 | ### Fixed
|
196 | 210 |
|
197 |
| -- [[#93]](https://github.com/rust-vmm/vm-memory/issues/93): DoS issue when using |
| 211 | +- [\[#93\]](https://github.com/rust-vmm/vm-memory/issues/93): DoS issue when using |
198 | 212 | virtio with rust-vmm/vm-memory.
|
199 |
| -- [[#106]](https://github.com/rust-vmm/vm-memory/issues/106): Asserts trigger |
200 |
| - on zero-length access. |
| 213 | +- [\[#106\]](https://github.com/rust-vmm/vm-memory/issues/106): Asserts trigger |
| 214 | + on zero-length access. |
201 | 215 |
|
202 | 216 | ### Removed
|
203 | 217 |
|
204 | 218 | - `integer-atomics` is no longer a distinct feature of the crate.
|
205 | 219 |
|
206 |
| -## [v0.2.0] |
| 220 | +## \[v0.2.0\] |
207 | 221 |
|
208 | 222 | ### Added
|
209 | 223 |
|
210 |
| -- [[#76]](https://github.com/rust-vmm/vm-memory/issues/76): Added `get_slice` and |
| 224 | +- [\[#76\]](https://github.com/rust-vmm/vm-memory/issues/76): Added `get_slice` and |
211 | 225 | `as_volatile_slice` to `GuestMemoryRegion`.
|
212 |
| -- [[#82]](https://github.com/rust-vmm/vm-memory/issues/82): Added `Clone` bound |
| 226 | +- [\[#82\]](https://github.com/rust-vmm/vm-memory/issues/82): Added `Clone` bound |
213 | 227 | for `GuestAddressSpace::T`, the return value of `GuestAddressSpace::memory()`.
|
214 |
| -- [[#88]](https://github.com/rust-vmm/vm-memory/issues/88): Added `as_bytes` for |
| 228 | +- [\[#88\]](https://github.com/rust-vmm/vm-memory/issues/88): Added `as_bytes` for |
215 | 229 | `ByteValued` which can be used for reading into POD structures from
|
216 | 230 | raw bytes.
|
217 | 231 |
|
218 |
| -## [v0.1.0] |
| 232 | +## \[v0.1.0\] |
219 | 233 |
|
220 | 234 | ### Added
|
221 | 235 |
|
|
0 commit comments