PackageTrack
Sign in Get early access

heapless

`static` friendly data structures that don't require dynamic memory allocation

0.9.3 125M downloads/mo #711 most downloaded on crates.io rust-embedded/heapless

What this package is like to depend on

Last release 3 months ago

30 Apr 2026

Release timing varies

gaps range from 3 weeks to 1.4 years

Nearly every release is documented

notes for 52 of 53 stable releases

3 versions withdrawn

withdrawn after publishing

9 years old

56 releases · first in 2017

2 releases in the last 12 months

see the full history below

Release timeline

56 releases · Apr 2017 to Apr 2026
2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 56
  1. 0.9.3 30 Apr 2026
    Release notes Open source →
    Release notes
    • Fixed unsoundness in Deque::clear, HistoryBuf::clear and IndexMap::clear in the context of panicking drop implementations.
    • Added from_bytes_truncating_at_nul to CString
    • Added CString::{into_bytes, into_bytes_with_nul, into_string}
    • Added pop_front_if and pop_back_if to Deque
    • Made Vec::from_array const.
    • Fixed long division being instroduced by the const-erasure in spsc
    • spsc: Fix integer overflow in iterators when N > usize::MAX/2 and the queue loops.
    • spsc: Fix integer overflow leading to a panic in len when N == usize::MAX and debug assertions are enabled.
    Open source →
    Release notes
    • Fixed unsoundness in Deque::clear, HistoryBuf::clear and IndexMap::clear in the context of panicking drop implementations.
    • Added from_bytes_truncating_at_nul to CString
    • Added CString::{into_bytes, into_bytes_with_nul, into_string}
    • Added pop_front_if and pop_back_if to Deque
    • Made Vec::from_array const.
    Open source →
  2. 0.9.2 12 Nov 2025
    Release notes Open source →
    Release notes
    • Added from_bytes_truncating_at_nul to CString
    • Added missing ?Sized bounds in PartialEq implementations
    • Make PartialEq implementation for DequeInner and HistoryBufInner generic over the storage of the RHS
    • Minor fixes to module docs.
    • Make MSRV of 1.87.0 explicit.
    • Implement Default for CapacityError.
    • Implement defmt::Format for CapacityError.
    • Implement TryFrom for Deque from array.
    • Switch from serde to serde_core for enabling faster compilations.
    • Implement Zeroize trait for all data structures with the zeroize feature to securely clear sensitive data from memory.
    • Added truncate to Deque
    • Added retain to Deque
    • Added retain_mut to Deque
    • Added into_raw to Box
    • Added from_raw to Box
    • Added FusedIterator to vec::IntoIter, deque::IntoIter, index_map::IntoIter and linear_map::IntoIter.
    • Added ExactSizeIterator to vec::IntoIter, deque::IntoIter, index_map::IntoIter and linear_map::IntoIter.
    • Added DoubleEndedIterator to vec::IntoIter and deque::IntoIter.
    • Deprecate mpmc (see #583)
    • Fixed initialization of the ArcBlock<T> and BoxBlock<T> types, fixing possible Undefined Behavior
    Open source →
  3. 0.9.1 20 Aug 2025
    Release notes Open source →
    Release notes

    Added

    • Added String::insert and String::insert_str.

    Added

    • Added optional embedded_io::Write impl for Vec.

    Changed

    • bytes::BufMut is now implemented on VecInner.
    • Removed generic from history_buf::OldestOrdered.
    • Made LenType opt-in.
    • Minor fixes to pool::boxed docs.
    • Add missing Debug derive to vec::IntoIter.
    • Removed generic from spsc::Consumer, spsc::Producer and spsc::Iter.
    • Added LinearMap::entry() API.
    • Added LinearMap::retain().

    Fixed

    • CI now uses flags specified in Cargo.toml for rustdoc tests.
    • Fixed clippy lints.
    • Fixed the memory layout of the internal UnionNode<T> type, fixing possible Undefined Behaviour.

    Removed

    • Removed invalid bytes::Buf implementation.
    • Removed DefaultLenType struct.
    Open source →
  4. 0.9.0 28 Apr 2025 withdrawn
    Release notes Open source →
    Release notes

    Added

    • Added bytes::Buf and bytes::BufMut implementations for Vec.
    • Added format macro.
    • Added String::from_utf16.
    • Added is_full, recent_index, oldest, and oldest_index to HistoryBuffer
    • Added is_full to BinaryHeap
    • Added is_full to IndexMap
    • Added is_full to IndexSet
    • Added is_full to LinearMap
    • Added infallible conversions from arrays to Vec.
    • Added Vec::spare_capacity_mut.
    • Added Extend impls for Deque.
    • Added Deque::make_contiguous.
    • Added VecView, the !Sized version of Vec.
    • Added pool implementations for 64-bit architectures.
    • Added IntoIterator implementation for LinearMap
    • Added Deque::{get, get_mut, get_unchecked, get_unchecked_mut}.
    • Added serde::Serialize and serde::Deserialize implementations to HistoryBuffer.
    • Added Vec::drain.
    • Added String::drain.
    • Implemented DoubleEndedIterator for OldestOrdered.
    • Added std Entry methods to indexmap Entry.
    • Added StringView, the !Sized version of String.
    • Added BinaryHeapView, the !Sized version of BinaryHeap.
    • Added MpMcQueueView, the !Sized version of MpMcQueue.
    • Added LinearMapView, the !Sized version of LinearMap.
    • Added HistoryBufferView, the !Sized version of HistoryBuffer.
    • Added DequeView, the !Sized version of Deque.
    • Added QueueView, the !Sized version of Queue.
    • Added SortedLinkedListView, the !Sized version of SortedLinkedList.
    • Added implementation of Borrow and BorrowMut for String and Vec.
    • Added Deque::{swap, swap_unchecked, swap_remove_front, swap_remove_back}.
    • Make String::from_utf8_unchecked const.
    • Implemented PartialEq and Eq for Deque.
    • Added alloc feature to enable alloc-Vec interoperability.
    • Added TryFrom<alloc::vec::Vec> impl for Vec.
    • Added TryFrom<Vec> impl for alloc::vec::Vec.
    • Added truncate to IndexMap.
    • Added get_index and get_index_mut to IndexMap.
    • Added String::uDisplay.
    • Added CString.
    • Added LenT generic to Vec<T, N> and VecView<T> to save memory when using a sane capacity value.
    • Added the index_set module.
    • Added the index_map module.
    • Migrated Idx generic for SortedLinkedList to use the new LenType trait, allowing for Idx inference.
    • Added similar LenT generic to String.
    • Optimize size of zero capacity Vec<T, 0> to be 0 bytes

    Changed

    • Updated defmt from 0.3 to 1.0.1
      • Changed the feature name from defmt-03 to defmt.
    • Changed the error type of these methods from () to CapacityError.
      • String::push_str
      • String::push
      • Vec::extend_from_slice
      • Vec::from_slice
      • Vec::resize_default
      • Vec::resize
    • Renamed FromUtf16Error::DecodeUtf16Error to FromUtf16Error::DecodeUtf16.
    • Changed stable_deref_trait to a platform-dependent dependency.
    • Changed SortedLinkedList::pop return type from Result<T, ()> to Option<T> to match std::vec::pop.
    • Vec::capacity is no longer a const function.
    • Relaxed bounds on PartialEq for IndexMap from V: Eq to V1: PartialEq<V2>.
    • Relaxed bounds on PartialEq for LinearMap from V: PartialEq to V1: PartialEq<V2>.
    • The FnvIndexSet type is now inside the index_set module.
    • The IndexSetIter type is now inside the index_set module and has been renamed to Iter.
    • The Bucket type is now inside the index_map module.
    • The Entry type is now inside the index_map module.
    • The FnvIndexMap type is now inside the index_map module.
    • The IndexMapIter type is now inside the index_map module and has been renamed to Iter.
    • The IndexMapIterMut type is now inside the index_map module and has been renamed to IterMut.
    • The IndexMapKeys type is now inside the index_map module and has been renamed to Keys.
    • The OccupiedEntry type is now inside the index_map module.
    • The Pos type is now inside the index_map module.
    • The VacantEntry type is now inside the index_map module.
    • The VacantEntry type is now inside the index_map module.
    • The IndexMapValues type is now inside the index_map module and has been renamed to Values.
    • The IndexMapValuesMut type is now inside the index_map module and has been renamed to ValuesMut.
    • The histbuf module has been renamed to history_buf.
    • The HistoryBuffer type has been renamed to HistoryBuf.
    • The HistoryBufferView type has been renamed to HistoryBufView.
    • The OwnedHistBufStorage type has been renamed to OwnedHistoryBufStorage.
    • The ViewHistBufStorage type has been renamed to ViewHistoryBufStorage.
    • The MpMcQueue type has been renamed to Queue.
    • The MpMcQueueView type has been renamed to QueueView.
    • The MpMcQueueInner type has been renamed to QueueInner.
    • Remove Q* type aliases for MpMcQueue, and rename it to just Queue
    • Changed Queue::split to be const.

    Fixed

    • Fixed bug in IndexMap::truncate that left the map in an inconsistent state.
    • Fixed compilation on thumbv6m-none-eabi without portable-atomic feature.
    • Fixed clippy lints.
    • Fixed {arc,box,object}_pool! emitting clippy lints.
    • Fixed the list of implemented data structures in the crate docs, by adding Deque, HistoryBuffer and SortedLinkedList to the list.
    • Fixed MpMcQueue with mpmc_large feature.
    • Fix missing Drop for MpMcQueue

    Removed

    • Vec::storage_capacity has been removed and Vec::capacity must be used instead.
    • Removed sorted_linked_list::Iter and sorted_linked_list::IterInner.
    • Removed sorted_linked_list::FindMut and sorted_linked_list::FindMutInner.
    • The Q2, Q4, Q8, Q16, Q32 and Q64 aliases for MpMcQueue have been removed.
    • doc_auto_cfg feature which was merged into doc_cfg. Presence of the feature led to doc build failures on nightly.
    Open source →
  5. 0.8.0 08 Nov 2023
    Release notes

    Added

    • Add Clone and PartialEq implementations to HistoryBuffer.
    • Added an object pool API. see the pool::object module level doc for details
    • Add HistoryBuffer::as_slices()
    • Implemented retain for IndexMap and IndexSet.
    • Recover StableDeref trait for pool::object::Object and pool::boxed::Box.
    • Add polyfills for ESP32S2
    • Added String::from_utf8 and String::from_utf8_unchecked.

    Changed

    • updated from edition 2018 to edition 2021
    • [breaking-change] IndexMap and IndexSet now require that keys implement the core::hash::Hash trait instead of the hash32::Hash (v0.2.0) trait
    • move pool::singleton::Box to the pool::box module
    • renamed pool::singleton::Pool to BoxPool and moved it into the pool::box module
    • move pool::singleton::arc::Arc to the pool::arc module
    • renamed pool::singleton::arc::Pool to ArcPool and moved it into the pool::arc module
    • [breaking-change] changed the target support of memory pool API to only support 32-bit x86 and a subset of ARM targets. See the module level documentation of the pool module for details
    • relax trait requirements on IndexMap and IndexSet.
    • export IndexSet and IndexMap iterator types.
    • [breaking-change] export IndexMapKeys, IndexMapValues and IndexMapValuesMut iterator types.
    • [breaking-change] this crate now uses portable-atomic v1.0 instead of atomic-polyfill for emulating CAS instructions on targets where they're not natively available.
    • [breaking-change] From<&str> for String was replaced with TryFrom<&str> because the From trait must not fail.
    • [breaking-change] Renamed Cargo features
      • defmt-impl is now defmt-03
      • ufmt-impl is now ufmt
      • cas is removed, atomic polyfilling is now opt-in via the portable-atomic feature.
    • Vec::as_mut_slice is now a public method.
    • ufmt functions are annotated with inline.

    Fixed

    • Fixed a dropping_references warning in LinearMap.
    • Fixed IndexMap entry API returning wrong slot after an insert on vacant entry. (#360)

    Removed

    • [breaking-change] this crate no longer has a Minimum Supported Rust Version (MSRV) guarantee and should be used with the latest stable version of the Rust toolchain.

    • [breaking-change] removed the Init and Uninint type states from pool::singleton::Box

    • [breaking-change] removed the following pool::singleton::Box methods: freeze, forget and init

    • [breaking-change] removed the pool::singleton::arc::ArcInner type

    • [breaking-change] removed support for attributes from pool! and arc_pool!

    Open source →
  6. 0.7.17 04 Dec 2023

    Nothing published for this version

  7. 0.7.16 09 Aug 2022
    Release notes

    Added

    • add more PartialEq implementations to Vec where Vec is the RHS

    Changed

    Fixed

    • clarify in the docs that the capacity heapless::String is in bytes, not characters
    • Fixed some broken links in the documentation.
    Open source →
  8. 0.7.15 05 Jul 2022
    Release notes

    Added

    • Added Vec::insert(index, element)
    • Added Vec::remove(index)
    • Added Vec::retain(f)
    • Added Vec::retain_mut(f)
    Open source →
  9. 0.7.14 15 Jun 2022
    Release notes

    Added

    • Added support for AVR architecture.

    Fixed

    • IndexSet and IndexMap's default method now compile time checks that their capacity is a power of two.
    Open source →
  10. 0.7.13 16 May 2022
    Release notes

    Added

    • Added into_vec to BinaryHeap
    Open source →
  11. 0.7.12 12 May 2022
    Release notes

    Added

    • Added support for AVR architecture.
    • Add entry API to IndexMap
    • Implement IntoIterator trait for Indexmap
    • Implement FromIterator for String
    • Add first and last methods to IndexMap and IndexSet
    • Add pop_{front_back}_unchecked methods to Deque

    Changed

    • Optimize the codegen of Vec::clone
    • riscv32i and riscv32imc targets unconditionally (e.g. build --no-default-features) depends on atomic-polyfill

    Fixed

    • Inserting an item that replaces an already present item will no longer fail with an error
    Open source →
  12. 0.7.11 09 May 2022
    Release notes

    Fixed

    • Fixed pool example in docstring.
    • Fixed undefined behavior in Vec::truncate(), Vec::swap_remove_unchecked(), and Hole::move_to() (internal to the binary heap implementation).
    • Fixed BinaryHeap elements are being dropped twice
    Open source →
  13. 0.7.10 21 Jan 2022
    Release notes

    Fixed

    • cargo test can now run on non-x86 hosts

    Added

    • Added OldestOrdered iterator for HistoryBuffer

    Changed

    • atomic-polyfill is now enabled and used for cas atomic emulation on riscv targets
    Open source →
  14. 0.7.9 16 Dec 2021
    Release notes

    Fixed

    • Fix IndexMap and IndexSet bounds
    • Make IndexSet::new() a const fn
    Open source →
  15. 0.7.8 11 Nov 2021
    Release notes

    Added

    • A span of defmt versions is now supported (0.2 and 0.3)
    Open source →
  16. 0.7.7 22 Sep 2021
    Release notes

    Fixed

    • Fixed so Pool is Sync on ARMv6
    Open source →
  17. 0.7.6 21 Sep 2021
    Release notes

    Added

    • Added ArcPool
    • Added Debug impl for Deque

    Fixed

    • ZSTs in Pool now works correctly
    • Some MIRI errors were resolved
    • Allow pool! on thumbv6
    • Fixed possible UB in Pool on x86
    Open source →
  18. 0.7.5 16 Aug 2021
    Release notes

    Added

    • Added SortedLinkedList
    • Added Vec::is_empty, one does not need to go through a slice anymore

    Changed

    • Vec::pop_unchecked is now public
    Open source →
  19. 0.7.4 06 Aug 2021
    Release notes

    Added

    • Implement Default for MpMcQueue, Queue and HistoryBuffer
    • Implement PartialOrd and Ord for Vec and String

    Fixed

    • Fixed comments in SPSC
    Open source →
  20. 0.7.3 01 Jul 2021
    Release notes

    Added

    • Added Deque

    Changed

    • Box::freeze is deprecated due to possibility of undefined behavior.
    Open source →
  21. 0.7.2 30 Jun 2021
    Release notes

    Added

    • Added new Vec::into_array method
    • Added const-asserts to all data structures
    Open source →
  22. 0.7.1 23 May 2021
    Release notes

    Changed

    • MPMC is now more generic

    Added

    • defmt for Vec and String
    Open source →
  23. 0.7.0 02 May 2021
    Release notes

    Changed

    • [breaking-change] Converted all data structures to use the const generics MVP
    • [breaking-change] HistoryBuffer is now working with const constructors and non-Copy data
    • [breaking-change] HistoryBuffer::as_slice and others now only return initialized values
    • Added missing Deref, AsRef and Debug for HistoryBuffer
    • [breaking-change] MultiCore/SingleCore and Uxx is now removed from spsc::Queue
    • [breaking-change] spsc::Queue is now usize only
    • [breaking-change] spsc::Queue now sacrifices one element for correctness (see issue #207), i.e. it creates an N - 1 sized queue instead of the old that generated an size N queue
    • [breaking-change] String has had utf8 related methods removed as this can be done via str
    • [breaking-change] No data structures implement AsSlice traits any more, now using AsRef and AsMut as they work with any size of array now

    Fixed

    • Pool and MPMC now works on thumbv6m
    • IndexMap::new() is now a const-fn
    Open source →
  24. 0.6.1 02 Mar 2021
    Release notes

    Fixed

    • Security issue.
    Open source →
  25. 0.6.0 03 Feb 2021
    Release notes

    Changed

    • [breaking-change] The version of the generic-array dependency has been bumped to v0.14.2.
    Open source →
  26. 0.5.6 22 Sep 2020
    Release notes

    Added

    • Added as_mut_vec for String
    • Added set_len for Vec
    • Performance improvements in histbuf

    Fixed

    • Producer was made Send for single core applications
    Open source →
  27. 0.5.5 04 May 2020
    Release notes

    Added

    • Added HistoryBuffer
    • Added extra methods to Vec: from_slice, starts_with, ends_with
    • Optional ufmt support for String and Vec
    • Added pool support for bare-metal armebv7r- targets
    • Added Sync to pool for x86
    Open source →
  28. 0.5.4 06 Apr 2020
    Release notes

    Added

    • Added StableDeref implementation for pool::Box and pool::singleton::Box.
    Open source →
  29. 0.5.3 27 Jan 2020
    Release notes

    Added

    • Extend the ARMv7-A Pool support to the bare-metal armv7a- targets.
    Open source →
  30. 0.5.2 15 Jan 2020
    Release notes

    Fixed

    • Fixed incorrect overflow behavior in computation of capacities
    • Fixed edge case in mpmc::Queue::dqueue that led to an infinite loop
    • IndexMap and LinerMap are now deserialized as maps, rather than as sequences
    • Fixed compilation of this crates on built-in targets that don't have CAS instructions

    Changed

    • spsc::Queue iterators now implement the double ended iterator trait

    Added

    • opt-out cas feature to disable parts of the API that use CAS instructions. Useful if using a custom (i.e. not built-in) rustc target that does not have CAS instructions.

    • singleton Pool support on ARMv7-A devices

    Open source →
  31. 0.5.1 29 Aug 2019
    Release notes

    Added

    • Added armv8 support
    • Added Queue::peek
    • Added BinaryHeap::peek_mut
    Open source →
  32. 0.5.0 11 Jul 2019
    Release notes

    Added

    • Pool now implements the Sync trait when targeting ARMv7-R.

    • Most data structures can now be constructed in "const context" (e.g. static [mut] variables) using a newtype in heapless::i.

    • Pool has gained a grow_exact method to more efficiently use statically allocated memory.

    • The pool! macro now accepts attributes.

    • mpmc::Q* a family of fixed capacity multiple-producer multiple-consumer lock-free queues.

    Changed

    • [breaking-change] binary_heap::Kind is now a sealed trait.

    Removed

    • [breaking-change] The "smaller-atomics" feature has been removed. It is now always enabled.

    • [breaking-change] The "min-const-fn" feature has been removed. It is now always enabled.

    • [breaking-change] The MSRV has been bumped to Rust 1.36.0.

    • [breaking-change] The version of the generic-array dependency has been bumped to v0.13.0.

    Open source →
  33. 0.5.0-alpha.2 22 May 2019 pre-release withdrawn

    Nothing published for this version

  34. 0.5.0-alpha.1 21 May 2019 pre-release withdrawn

    Nothing published for this version

  35. 0.4.4 02 May 2019
    Release notes

    Added

    • Implemented PartialEq, PartialOrd, Eq, Ord and Hash for pool::Box and pool::singleton::Box.

    Fixed

    • Fixed UB in our internal, stable re-implementation of core::mem::MaybeUninit that occurred when using some of our data structures with types that implement Drop.
    Open source →
  36. 0.4.3 22 Apr 2019
    Release notes

    Added

    • Added a memory pool that's lock-free and interrupt-safe on the ARMv7-M architecture.

    • IndexMap have gained Eq and PartialEq implementations.

    Open source →
  37. 0.4.2 12 Feb 2019
    Release notes

    Added

    • All containers now implement Clone

    • spsc::Queue now implements Debug, Hash, PartialEq and Eq

    • LinearMap now implements Debug, FromIterator, IntoIter, PartialEq, Eq and Default

    • BinaryHeap now implements Debug and Default

    • String now implements FromStr, Hash, From<uxx> and Default

    • Vec now implements Hash and Default

    • A "serde" Cargo feature that when enabled adds a serde::Serialize and serde::Deserialize implementations to each collection.

    Open source →
  38. 0.4.1 16 Dec 2018
    Release notes

    Changed

    • Add a new type parameter to spsc::Queue that indicates whether the queue is only single-core safe, or multi-core safe. By default the queue is multi-core safe; this preserves the current semantics. New unsafe constructors have been added to create the single-core variant.
    Open source →
  39. 0.4.0 19 Oct 2018
    Release notes

    Changed

    • [breaking-change] All Cargo features are disabled by default. This crate now compiles on stable by default.

    • [breaking-change] RingBuffer has been renamed to spsc::Queue. The ring_buffer module has been renamed to spsc.

    • [breaking-change] The bounds on spsc::Queue have changed.

    Removed

    • [breaking-change] The sealed Uxx trait has been removed from the public API.
    Open source →
  40. 0.3.7 19 Aug 2018
    Release notes

    Added

    • Implemented IntoIterator and FromIterator for Vec
    • ready methods to ring_buffer::{Consumer,Producer}
    • An opt-out "const-fn" Cargo feature that turns const functions into normal functions when disabled.
    • An opt-out "smaller-atomics" Cargo feature that removes the ability to shrink the size of RingBuffer when disabled.

    Changed

    • This crate now compiles on stable when both the "const-fn" and "smaller-atomics" features are disabled.

    Fixed

    • The RingBuffer.len function
    • Compilation on recent nightlies
    Open source →
  41. 0.3.6 04 May 2018
    Release notes

    Fixed

    • The capacity of RingBuffer. It should be the requested capacity plus not twice that plus one.
    Open source →
  42. 0.3.5 03 May 2018
    Release notes

    Added

    • RingBuffer.enqueue_unchecked an unchecked version of RingBuffer.enqueue
    Open source →
  43. 0.3.4 28 Apr 2018
    Release notes

    Added

    • BinaryHeap.pop_unchecked an unchecked version of BinaryHeap.pop
    Open source →
  44. 0.3.3 28 Apr 2018
    Release notes

    Added

    • BinaryHeap.push_unchecked an unchecked version of BinaryHeap.push
    Open source →
  45. 0.3.2 27 Apr 2018
    Release notes

    Added

    • A re-export of generic_array::ArrayLength, for convenience.
    Open source →
  46. 0.3.1 23 Apr 2018
    Release notes

    Added

    • Fixed capacity implementations of IndexMap and IndexSet.
    • A Extend implementation to Vec
    • More PartialEq implementations to Vec
    Open source →
  47. 0.3.0 21 Apr 2018
    Release notes

    Changed

    • [breaking-change] The capacity of all data structures must now be specified using type level integers (cf. typenum). See documentation for details.

    • [breaking-change] BufferFullError has been removed in favor of (a) returning ownership of the item that couldn't be added to the collection (cf. Vec.push), or (b) returning the unit type when the argument was not consumed (cf. Vec.extend_from_slice).

    Open source →
  48. 0.2.7 20 Apr 2018
    Release notes

    Added

    • Unchecked methods to dequeue and enqueue items into a RingBuffer via the Consumer and Producer end points.

    Changed

    • RingBuffer now has a generic index type, which default to usize for backward compatibility. Changing the index type to u8 or u16 reduces the footprint of the RingBuffer but limits its maximum capacity (254 and 65534, respectively).
    Open source →
  49. 0.2.6 19 Apr 2018
    Release notes

    Added

    • A BinaryHeap implementation. BinaryHeap is a priority queue implemented with a binary heap.
    Open source →
  50. 0.2.5 13 Apr 2018
    Release notes

    Fixed

    • Dereferencing heapless::Vec no longer incurs in a bounds check.
    Open source →
  51. 0.2.4 12 Mar 2018
    Release notes

    Fixed

    • LinerMap::new is now a const fn
    Open source →
  52. 0.2.3 11 Mar 2018
    Release notes

    Added

    • A swap_remove method to Vec
    • A LinearMap implementation. LinearMap is a map / dict backed by an array and that performs lookups via linear search.
    Open source →
  53. 0.2.2 01 Mar 2018
    Release notes

    Added

    • Fixed size version of std::String
    Open source →
  54. 0.2.1 21 Dec 2017
    Release notes

    Added

    • Vec now implements both fmt::Debug, PartialEq and Eq.

    • resize and resize_default methods to Vec.

    Open source →
  55. 0.2.0 22 Nov 2017
    Release notes

    Added

    • A single producer single consumer mode to RingBuffer.

    • A truncate method to Vec.

    Changed

    • [breaking-change] Both Vec::new and RingBuffer::new no longer require an initial value. The signature of new is now const fn() -> Self.

    • [breaking-change] The error type of all operations that may fail has changed from () to BufferFullError.

    • Both RingBuffer and Vec now support arrays of any size for their backup storage.

    Open source →
  56. 0.1.0 27 Apr 2017
    Release notes
    • Initial release
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive