PackageTrack
Sign in Get early access

binary-heap-plus

Enhanced version of std::collections::BinaryHeap that supports max, min, and custom-order heaps.

0.5.0 8.6M downloads/mo #3382 most downloaded on crates.io sekineh/binary-heap-plus-rs

What this package is like to depend on

Last release 4 years ago

no release in 18 months

Ships fairly regularly

a new release about every 12 months

Nearly every release is documented

notes for 12 of 13 stable releases

Nothing withdrawn

no release was ever pulled

8 years old

13 releases · first in 2018

0 releases in the last 12 months

see the full history below

Release timeline

13 releases · May 2018 to Sep 2022
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 13
  1. 0.5.0 30 Sep 2022
    Release notes

    Added

    • #[must_use] attribute to many methods, porting and extending several rust-lang/rust PRs
    • Method shrink_to(), ported from rust-lang/rust
    • Implementation of From<[T; N]> for BinaryHeap<T>, ported from rust-lang/rust#84111
    • Links to referenced items in the documenation
    • Example of a min-heap, ported from rust-lang/rust#60451
    • Documentation of time complexities of several methods, ported from rust-lang/rust#60952

    Changed

    • Migrate to Rust 2021 Edition
    • Increase MSRV (minimum supported rust version) to rust 1.56.0.
    • Implement From<BinaryHeap<T, C>> for Vec<T> instead of Into<Vec<T>> for BinaryHeap<T, C>
    • Port rust-lang/rust#77435 improvement to rebuild heuristic of BinaryHeap::append()
    • Use italics with big-O notation in documentation, ported from rust-lang/rust#71167
    • Relax trait bound C: Compare<T> on BinaryHeap<T, C> struct and certain methods, in part ported from rust-lang/rust#58421
    • Synchronize internal implementation details with std::collections::BinaryHeap in Rust 1.62.0
    Open source →
  2. 0.4.1 06 Jan 2021
    Release notes

    bump to v0.4.1. (revert rand crate due to MSRV)

    Open source →
    Release notes

    Added

    • Performance improvement (#28)
      • Port rust-lang/rust#78857 - Improve BinaryHeap performance
    Open source →
  3. 0.4.0 29 Sep 2020
    Release notes

    Added

    • Performance improvement (#27)
      • Avoid sift_down for unmutated PeekMut (rust#75974)

    Changed

    • Bump MSRV (minimum supported rust version) to rust 1.32.0.
    Open source →
  4. 0.3.1 24 Sep 2020
    Release notes

    Added

    • generic constructor from_vec_cmp_raw().
    • replace_cmp() which replace the comparator of heap and its unsafe version replace_cmp_raw().
    Open source →
  5. 0.3.0 08 Jul 2020
    Release notes

    Added

    • Quickstart section in the doc
    • .into_iter_sorted() which returns the values in heap order. (#13)
      • Note: .into_iter() returns the values in arbitrary order. There is a good reason (ex. make .extend() efficient) for std to do that, it was surprising to some people.

    Changed

    • Migrate to Rust 2018 Edition.
    • Bump MSRV (minimum supported rust version) to rust 1.31.1.
    • [CI] Switched to Github actions.
    • [CI] travis is removed because it was unreliable.
    • [CI] appveyor is removed because it's slow.
    Open source →
  6. 0.2.0 27 May 2019
    Release notes

    Changed

    • [COMPATIBILITY] Use Compare trait from compare crate instead of our own definition. Most users should not be affected by this. TIP: External Compare<T> impls needs to be updated to use Fn instead of FnMut.
    • [COMPATIBILITY] rename feature serde1 to serde in order to comply with the guideline: https://rust-lang-nursery.github.io/api-guidelines/interoperability.html#c-serde
    • Refactor ctor impl.
    Open source →
  7. 0.1.6 21 May 2019
    Release notes

    Added

    • generic constructor from_vec() and from_vec_cmp().

    Changed

    • Refactor other ctor to call above methods.
    Open source →
  8. 0.1.5 20 May 2019
    Release notes

    Added

    • serde1 feature which adds Serialize/Deserialize
    Open source →
  9. 0.1.4 18 May 2018

    Nothing published for this version

  10. 0.1.3 17 May 2018
    Release notes
    • Add comprehensive CI based on trust CI template v0.1.2
    • README.md tweaks.
    Open source →
  11. 0.1.2 14 May 2018
    Release notes

    Cargo.toml: add keywrods and category.

    Open source →
    Release notes
    • Cargo.toml tweaks
    Open source →
  12. 0.1.1 14 May 2018
    Release notes
    • Initial tag
    Open source →
  13. 0.1.0 14 May 2018
    Release notes

    Cargo.toml: add description and license.

    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