Skip to content

Latest commit

 

History

History
114 lines (78 loc) · 3.92 KB

RELEASES.md

File metadata and controls

114 lines (78 loc) · 3.92 KB

Releases

0.2.8 (2026-10-06)

  • Added retain_back methods to RingMap and RingSet.

0.2.7 (2026-09-04)

  • Fix item hygiene in map and set macros. Previously, an internal const CAP could shadow the same name in the caller's namespace.
  • Allow const initialization of empty ringmap_with_default! and ringset_with_default!. The hasher may also be omitted if it's inferrable.

0.2.6 (2026-08-28)

  • Simplify comparisons where Equivalent isn't needed (Q = K).
  • Unify index assertions for bounds checks.
  • Fix (or expect) clippy lints.

0.2.5 (2026-04-09)

  • MSRV: Rust 1.85.0 or later is now required.
  • Updated the hashbrown dependency to 0.17.
  • Made more map::Slice methods const: new_mut, first_mut, last_mut, split_at_mut, split_at_mut_checked, split_first_mut, split_last_mut

0.2.4 (2026-04-02)

  • Made some Slice methods const:
    • map::Slice::{first,last,split_at,split_at_checked,split_first,split_last}
    • set::Slice::{first,last,split_at,split_at_checked,split_first,split_last}

0.2.3 (2026-01-08)

  • Added RingMap::get_range, get_range_mut, range, and range_mut.
  • Added RingSet::get_range and range.

0.2.2 (2026-01-07)

  • Added map::Slice::split_at_checked and split_at_mut_checked.
  • Added set::Slice::split_at_checked.

0.2.1 (2025-11-20)

  • Simplified a lot of internals using hashbrown's new bucket API.

0.2.0 (2025-10-18)

  • MSRV: Rust 1.82.0 or later is now required.
  • Error types now implement core::error::Error.
  • Added pop_back_if and pop_front_if methods to RingMap and RingSet.
  • Deprecated map and set insert_full in favor of push_back and push_front.
  • Added new Entry back/front methods and deprecated the old:
    • insert => push_back, push_front
    • insert_entry => push_back_entry, push_front_entry
    • or_default => or_push_back_default, or_push_front_default
    • or_insert => or_push_back, or_push_front
    • or_insert_with => or_push_back_with, or_push_front_with
    • or_insert_with_key => or_push_back_with_key, or_push_front_with_key

0.1.8 (2025-09-18)

  • Updated the hashbrown dependency to version 0.16.

0.1.7 (2025-09-15)

  • Switched the "serde" feature to depend on serde_core, improving build parallelism in cases where other dependents have enabled "serde/derive".

0.1.6 (2025-09-08)

  • Added a get_key_value_mut method to RingMap.
  • Removed the unnecessary Ord bound on insert_sorted_by methods.

0.1.5 (2025-08-22)

  • Added insert_sorted_by and insert_sorted_by_key methods to RingMap, RingSet, and VacantEntry, like customizable versions of insert_sorted.
  • Added is_sorted, is_sorted_by, and is_sorted_by_key methods to RingMap and RingSet, as well as their Slice counterparts.
  • Added sort_by_key and sort_unstable_by_key methods to RingMap and RingSet, as well as parallel counterparts.
  • Added replace_index methods to RingMap, RingSet, and VacantEntry to replace the key (or set value) at a given index.
  • Added optional sval serialization support.

0.1.4 (2025-06-26)

  • Added extract_if methods to RingMap and RingSet, similar to the methods for HashMap and HashSet with ranges like Vec::extract_if.
  • Added more #[track_caller] annotations to functions that may panic.

0.1.3 (2025-04-04)

  • Added a get_disjoint_mut method to RingMap, matching Rust 1.86's HashMap method.
  • Added a get_disjoint_indices_mut method to RingMap and map::Slice, matching Rust 1.86's get_disjoint_mut method on slices.

0.1.2 (2025-03-10)

  • Added ringmap_with_default! and ringset_with_default! to be used with alternative hashers, especially when using the crate without std.
  • Implemented PartialEq between each Slice and []/arrays.

0.1.1 (2025-01-29)

  • Optimized the branch behavior of the iterators.

0.1.0 (2025-01-21)

  • Initial release, based on indexmap v2.7.1.