|
| 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() |
0 commit comments