Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 8, 2023

This PR contains the following updates:

Package Type Update Change
heapless dependencies minor 0.7 -> 0.9

Release Notes

rust-embedded/heapless (heapless)

v0.9.2

  • 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

v0.9.1

Compare Source

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.

v0.9.0

Compare Source

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.

v0.8.0

Compare Source

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!


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/heapless-0.x branch from 4eb113b to 01cd85c Compare May 1, 2024 10:39
@renovate renovate bot changed the title Update Rust crate heapless to 0.8 Update Rust crate heapless to 0.8.0 May 1, 2024
@renovate renovate bot force-pushed the renovate/heapless-0.x branch from 01cd85c to 565e5b4 Compare May 5, 2024 10:29
@renovate renovate bot changed the title Update Rust crate heapless to 0.8.0 Update Rust crate heapless to 0.8 May 5, 2024
@renovate renovate bot force-pushed the renovate/heapless-0.x branch from 565e5b4 to 127ba8f Compare April 28, 2025 22:12
@renovate renovate bot changed the title Update Rust crate heapless to 0.8 Update Rust crate heapless to 0.9 Apr 28, 2025
@renovate renovate bot force-pushed the renovate/heapless-0.x branch from 127ba8f to d3d4cba Compare April 29, 2025 20:26
@renovate renovate bot changed the title Update Rust crate heapless to 0.9 Update Rust crate heapless to 0.8 Apr 29, 2025
@renovate renovate bot force-pushed the renovate/heapless-0.x branch from d3d4cba to a3df3f0 Compare August 20, 2025 14:49
@renovate renovate bot changed the title Update Rust crate heapless to 0.8 Update Rust crate heapless to 0.9 Aug 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant