NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #212 most downloaded on crates.io
A vector with fixed capacity, backed by an array (it can be stored on the stack too). Implements fixed capacity ArrayVec and ArrayString.
Last release 3 months ago
02 Jul 2026
Release timing varies
gaps range from 2 weeks to 1.8 years
Some releases are documented
notes for 15 of 57 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
57 releases · first in 2015
Fix tests on 32-bit architectures by skipping them by @decathorpe #312.
Fix lifetime warning by @niklasf #305
One column per quarter.
Fix no-std build #274
Add as_ptr and as_mut_ptr to ArrayString @YuhanLiin #260
as_ptr and as_mut_ptr to ArrayString @YuhanLiin #260as_slice, as_mut_slice methods to IntoIter by @clarfonthey #224Add feature zeroize to support the Zeroize trait by @elichai
Zeroize trait by @elichaiUse track_caller on multiple methods like push and similar, for capacity overflows by @kornelski
Add .as_mut_str() to ArrayString by @clarfonthey
.as_mut_str() to ArrayString by @clarfontheyremaining_capacity to ArrayString by @bhgomeszero_filled constructor by @c410-f3rretain by @TennyZhuang and @niklasfconst by @bhgomes:
Add new ArrayVec methods .take() and .into_inner_unchecked() by @conradludgate
.take() and .into_inner_unchecked() by @conradludgateclone_from now uses truncate when needed by @a1phyrThe deprecated feature flag unstable-const-fn was removed, since it's not needed
fn new_const is now the way to const-construct arrayvec and arraystring,
and fn new has been reverted to a regular "non-const" function.
This works around performance issue #182, where the const fn version did not
optimize well. Change by @bluss with thanks to @rodrimati1992 and @niklasf
for analyzing the problem.
The deprecated feature flag unstable-const-fn was removed, since it's not needed
Optimize .retain() by using the same algorithm as in std, change by @niklasf,
issue #174. Original optimization in Rust std by @oxalica in rust-lang/rust/pull/81126
…and the feature flag unstable-const-fn is now deprecated. by @rodrimati1992
The ArrayVec::new and ArrayString::new constructors are properly
const fns on stable and the feature flag unstable-const-fn is now deprecated.
by @rodrimati1992
Small fix to the capacity check macro by @Xaeroxe
Typo fix in documentation by @cuviper
Small code cleanup by @bluss
The const generics release 🎉. Arrayvec finally implements what it wanted to implement, since its first version: a vector backed by an array, with gene
The const generics release 🎉. Arrayvec finally implements what it wanted to implement, since its first version: a vector backed by an array, with generic parameters for the arbitrary element type and backing array capacity.
The New type syntax is ArrayVec<T, CAP> where CAP is the arrayvec capacity.
For arraystring the syntax is ArrayString<CAP>.
Length is stored internally as u32; this limits the maximum capacity. The size
of the ArrayVec or ArrayString structs for the same capacity may grow
slightly compared with the previous version (depending on padding requirements
for the element type). Change by @bluss.
Arrayvec's .extend() and FromIterator/.collect() to arrayvec now
panic if the capacity of the arrayvec is exceeded. Change by @bluss.
Arraystring now implements TryFrom<&str> and TryFrom<fmt::Arguments> by
@c410-f3r
Minimum supported rust version is Rust 1.51
Remove deprecated Error::description by @AnderEnder
is_empty methods for ArrayVec and ArrayString by @nicbnTryFrom<Slice> for ArrayVec by @paulkernfeldunstable-const-fn to make new methods const by @m-ou-seError::description by @AnderEnderadd by @hbinaArrayVec::dispose is now deprecated (it has no purpose anymore)
as_ptr, as_mut_ptr accessors directly on the ArrayVec by @tbu-
(matches the same addition to Vec which happened in Rust 1.37).ArrayString::len (now available directly, not just through deref to str).&mut [u8] for encoding chars into ArrayString
(uninit best practice fix).get_unchecked_mut where the target may be
uninitialized everywhere relevant in the ArrayVec implementation
(uninit best practice fix).ArrayVec::dispose is now deprecated (it has no purpose anymore)Use MaybeUninit (now unconditionally) in the implementation of ArrayVec
MaybeUninit (now unconditionally) in the implementation of
ArrayVecMaybeUninit (now unconditionally) in the implementation of
ArrayStringserde.Array trait interface, and it is now easier to use for
users outside the crate.FromStr impl for ArrayString by @despawnerertry_extend_from_slice to ArrayVec, which is always
efficient by @Thomasdezeeuw.remaining_capacity by @Thomasdezeeuwextend method.drop_in_place for truncate and clear methods. This affects drop order
and resume from panic during drop.MaybeUninit
improvements.Use raw pointers instead of get_unchecked_mut where the target may be uninitialized everywhere relevant in the ArrayVec implementation.
get_unchecked_mut where the target may be
uninitialized everywhere relevant in the ArrayVec implementation.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →