|
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