]>
Commit | Line | Data |
---|---|---|
0a29b90c FG |
1 | Recent Changes (arrayvec) |
2 | ------------------------- | |
3 | ||
4 | - 0.5.2 | |
5 | ||
6 | - Add `is_empty` methods for ArrayVec and ArrayString by @nicbn | |
7 | - Implement `TryFrom<Slice>` for ArrayVec by @paulkernfeld | |
8 | - Add `unstable-const-fn` to make `new` methods const by @m-ou-se | |
9 | - Run miri in CI and a few related fixes by @RalfJung | |
10 | - Fix outdated comment by @Phlosioneer | |
11 | - Move changelog to a separate file by @Luro02 | |
12 | - Remove deprecated `Error::description` by @AnderEnder | |
13 | - Use pointer method `add` by @hbina | |
14 | ||
15 | - 0.5.1 | |
16 | ||
17 | - Add `as_ptr`, `as_mut_ptr` accessors directly on the `ArrayVec` by @tbu- | |
18 | (matches the same addition to `Vec` which happened in Rust 1.37). | |
19 | - Add method `ArrayString::len` (now available directly, not just through deref to str). | |
20 | - Use raw pointers instead of `&mut [u8]` for encoding chars into `ArrayString` | |
21 | (uninit best practice fix). | |
22 | - Use raw pointers instead of `get_unchecked_mut` where the target may be | |
23 | uninitialized everywhere relevant in the ArrayVec implementation | |
24 | (uninit best practice fix). | |
25 | - Changed inline hints on many methods, mainly removing inline hints | |
26 | - `ArrayVec::dispose` is now deprecated (it has no purpose anymore) | |
27 | ||
28 | - 0.4.12 | |
29 | ||
30 | - Use raw pointers instead of `get_unchecked_mut` where the target may be | |
31 | uninitialized everywhere relevant in the ArrayVec implementation. | |
32 | ||
33 | - 0.5.0 | |
34 | ||
35 | - Use `MaybeUninit` (now unconditionally) in the implementation of | |
36 | `ArrayVec` | |
37 | - Use `MaybeUninit` (now unconditionally) in the implementation of | |
38 | `ArrayString` | |
39 | - The crate feature for serde serialization is now named `serde`. | |
40 | - Updated the `Array` trait interface, and it is now easier to use for | |
41 | users outside the crate. | |
42 | - Add `FromStr` impl for `ArrayString` by @despawnerer | |
43 | - Add method `try_extend_from_slice` to `ArrayVec`, which is always | |
44 | effecient by @Thomasdezeeuw. | |
45 | - Add method `remaining_capacity` by @Thomasdezeeuw | |
46 | - Improve performance of the `extend` method. | |
47 | - The index type of zero capacity vectors is now itself zero size, by | |
48 | @clarfon | |
49 | - Use `drop_in_place` for truncate and clear methods. This affects drop order | |
50 | and resume from panic during drop. | |
51 | - Use Rust 2018 edition for the implementation | |
52 | - Require Rust 1.36 or later, for the unconditional `MaybeUninit` | |
53 | improvements. | |
54 | ||
55 | - 0.4.11 | |
56 | ||
57 | - In Rust 1.36 or later, use newly stable `MaybeUninit`. This extends the | |
58 | soundness work introduced in 0.4.9, we are finally able to use this in | |
59 | stable. We use feature detection (build script) to enable this at build | |
60 | time. | |
61 | ||
62 | - 0.4.10 | |
63 | ||
64 | - Use `repr(C)` in the `union` version that was introduced in 0.4.9, to | |
65 | allay some soundness concerns. | |
66 | ||
67 | - 0.4.9 | |
68 | ||
69 | - Use `union` in the implementation on when this is detected to be supported | |
70 | (nightly only for now). This is a better solution for treating uninitialized | |
71 | regions correctly, and we'll use it in stable Rust as soon as we are able. | |
72 | When this is enabled, the `ArrayVec` has no space overhead in its memory | |
73 | layout, although the size of the vec should not be relied upon. (See [#114](https://github.com/bluss/arrayvec/pull/114)) | |
74 | - `ArrayString` updated to not use uninitialized memory, it instead zeros its | |
75 | backing array. This will be refined in the next version, since we | |
76 | need to make changes to the user visible API. | |
77 | - The `use_union` feature now does nothing (like its documentation foretold). | |
78 | ||
79 | ||
80 | - 0.4.8 | |
81 | ||
82 | - Implement Clone and Debug for `IntoIter` by @clarcharr | |
83 | - Add more array sizes under crate features. These cover all in the range | |
84 | up to 128 and 129 to 255 respectively (we have a few of those by default): | |
85 | ||
86 | - `array-size-33-128` | |
87 | - `array-size-129-255` | |
88 | ||
89 | - 0.4.7 | |
90 | ||
91 | - Fix future compat warning about raw pointer casts | |
92 | - Use `drop_in_place` when dropping the arrayvec by-value iterator | |
93 | - Decrease mininum Rust version (see docs) by @jeehoonkang | |
94 | ||
95 | - 0.3.25 | |
96 | ||
97 | - Fix future compat warning about raw pointer casts | |
98 | ||
99 | - 0.4.6 | |
100 | ||
101 | - Fix compilation on 16-bit targets. This means, the 65536 array size is not | |
102 | included on these targets. | |
103 | ||
104 | - 0.3.24 | |
105 | ||
106 | - Fix compilation on 16-bit targets. This means, the 65536 array size is not | |
107 | included on these targets. | |
108 | - Fix license files so that they are both included (was fixed in 0.4 before) | |
109 | ||
110 | - 0.4.5 | |
111 | ||
112 | - Add methods to `ArrayString` by @DenialAdams: | |
113 | ||
114 | - `.pop() -> Option<char>` | |
115 | - `.truncate(new_len)` | |
116 | - `.remove(index) -> char` | |
117 | ||
118 | - Remove dependency on crate odds | |
119 | - Document debug assertions in unsafe methods better | |
120 | ||
121 | - 0.4.4 | |
122 | ||
123 | - Add method `ArrayVec::truncate()` by @niklasf | |
124 | ||
125 | - 0.4.3 | |
126 | ||
127 | - Improve performance for `ArrayVec::extend` with a lower level | |
128 | implementation (#74) | |
129 | - Small cleanup in dependencies (use no std for crates where we don't need more) | |
130 | ||
131 | - 0.4.2 | |
132 | ||
133 | - Add constructor method `new` to `CapacityError`. | |
134 | ||
135 | - 0.4.1 | |
136 | ||
137 | - Add `Default` impl to `ArrayString` by @tbu- | |
138 | ||
139 | - 0.4.0 | |
140 | ||
141 | - Reformed signatures and error handling by @bluss and @tbu-: | |
142 | ||
143 | - `ArrayVec`'s `push, insert, remove, swap_remove` now match `Vec`'s | |
144 | corresponding signature and panic on capacity errors where applicable. | |
145 | - Add fallible methods `try_push, insert` and checked methods | |
146 | `pop_at, swap_pop`. | |
147 | - Similar changes to `ArrayString`'s push methods. | |
148 | ||
149 | - Use a local version of the `RangeArgument` trait | |
150 | - Add array sizes 50, 150, 200 by @daboross | |
151 | - Support serde 1.0 by @daboross | |
152 | - New method `.push_unchecked()` by @niklasf | |
153 | - `ArrayString` implements `PartialOrd, Ord` by @tbu- | |
154 | - Require Rust 1.14 | |
155 | - crate feature `use_generic_array` was dropped. | |
156 | ||
157 | - 0.3.23 | |
158 | ||
159 | - Implement `PartialOrd, Ord` as well as `PartialOrd<str>` for | |
160 | `ArrayString`. | |
161 | ||
162 | - 0.3.22 | |
163 | ||
164 | - Implement `Array` for the 65536 size | |
165 | ||
166 | - 0.3.21 | |
167 | ||
168 | - Use `encode_utf8` from crate odds | |
169 | - Add constructor `ArrayString::from_byte_string` | |
170 | ||
171 | - 0.3.20 | |
172 | ||
173 | - Simplify and speed up `ArrayString`’s `.push(char)`- | |
174 | ||
175 | - 0.3.19 | |
176 | ||
177 | - Add new crate feature `use_generic_array` which allows using their | |
178 | `GenericArray` just like a regular fixed size array for the storage | |
179 | of an `ArrayVec`. | |
180 | ||
181 | - 0.3.18 | |
182 | ||
183 | - Fix bounds check in `ArrayVec::insert`! | |
184 | It would be buggy if `self.len() < index < self.capacity()`. Take note of | |
185 | the push out behavior specified in the docs. | |
186 | ||
187 | - 0.3.17 | |
188 | ||
189 | - Added crate feature `use_union` which forwards to the nodrop crate feature | |
190 | - Added methods `.is_full()` to `ArrayVec` and `ArrayString`. | |
191 | ||
192 | - 0.3.16 | |
193 | ||
194 | - Added method `.retain()` to `ArrayVec`. | |
195 | - Added methods `.as_slice(), .as_mut_slice()` to `ArrayVec` and `.as_str()` | |
196 | to `ArrayString`. | |
197 | ||
198 | - 0.3.15 | |
199 | ||
200 | - Add feature std, which you can opt out of to use `no_std` (requires Rust 1.6 | |
201 | to opt out). | |
202 | - Implement `Clone::clone_from` for ArrayVec and ArrayString | |
203 | ||
204 | - 0.3.14 | |
205 | ||
206 | - Add `ArrayString::from(&str)` | |
207 | ||
208 | - 0.3.13 | |
209 | ||
210 | - Added `DerefMut` impl for `ArrayString`. | |
211 | - Added method `.simplify()` to drop the element for `CapacityError`. | |
212 | - Added method `.dispose()` to `ArrayVec` | |
213 | ||
214 | - 0.3.12 | |
215 | ||
216 | - Added ArrayString, a fixed capacity analogy of String | |
217 | ||
218 | - 0.3.11 | |
219 | ||
220 | - Added trait impls Default, PartialOrd, Ord, Write for ArrayVec | |
221 | ||
222 | - 0.3.10 | |
223 | ||
224 | - Go back to using external NoDrop, fixing a panic safety bug (issue #3) | |
225 | ||
226 | - 0.3.8 | |
227 | ||
228 | - Inline the non-dropping logic to remove one drop flag in the | |
229 | ArrayVec representation. | |
230 | ||
231 | - 0.3.7 | |
232 | ||
233 | - Added method .into_inner() | |
234 | - Added unsafe method .set_len() |