PackageTrack
Sign in Get early access

range-set-blaze

Integer sets as fast, sorted integer ranges; Maps with integer-range keys; Full set operations

0.6.1 5.0M downloads/mo #4535 most downloaded on crates.io CarlKCarlK/range-set-blaze

What this package is like to depend on

Last release 1 months ago

11 Jul 2026

Ships unpredictably

gaps range from 8 days to 13 months

Some releases are documented

notes for 13 of 24 stable releases

Nothing withdrawn

no release was ever pulled

3 years old

33 releases · first in 2023

8 releases in the last 12 months

see the full history below

Release timeline

33 releases · Apr 2023 to Jul 2026
2024 2025 2026
Release Pre-release

Releases

latest 33
  1. 0.6.1 11 Jul 2026
    Release notes

    Added

    • Added experimental floating-point range support through the float_experimental feature for f32/f64, and the float_nightly_experimental feature for f16/f128. Finite supports finite values with zero canonicalized to +0.0, while Total supports all floating-point values in total order, including NaNs, infinities, and signed zero. Both provide constructors, range operations, and after/before navigation APIs.
    Open source →
  2. 0.6.0 27 Jun 2026
    Release notes

    Fix wasm-pack test command syntax for improved compatibility

    Open source →
    Release notes

    Added

    • AssumeSortedStarts now verifies, in debug builds only, that the ranges it is given actually have sorted starts, panicking with a clear message otherwise. Release builds are unaffected (zero runtime cost). (PR #29)

    Breaking

    • AssumeSortedStarts regains a leading type parameter: AssumeSortedStarts<I> -> AssumeSortedStarts<T, I>. Most AssumeSortedStarts::new(iter) calls are unchanged due to inference; explicit type aliases/annotations may need updating.
    Open source →
  3. 0.5.1 26 Jun 2026
    Release notes

    Update rand package versions to 0.8.6 and 0.9.4 in Cargo.lock

    Open source →
    Release notes

    Added

    • Implemented SortedStarts/SortedDisjoint (and the *Map equivalents) for applicable core::iter/std::iter adapter types whose iterators cannot break the sorted-disjoint invariants, so these standard iterators can be used directly with the library's operators (PR #27).
    • Added a combinator to turn an Option<SortedDisjoint> into a SortedDisjoint via FlatMap/Flatten.

    Notes

    Open source →
  4. 0.5.0 06 Mar 2026
    Release notes

    Changed

    • Removed redundant struct-level trait bounds across iterator/map/set wrapper structs and kept
      constraints on impls/usage sites where needed.

    Breaking

    • AssumeSortedStarts and AssumePrioritySortedStartsMap now take fewer generic parameters.
      • AssumeSortedStarts<T, I> -> AssumeSortedStarts<I>
      • AssumePrioritySortedStartsMap<T, VR, I> -> AssumePrioritySortedStartsMap<I>
    • Migration note: calls like AssumeSortedStarts::new(iter) and
      AssumePrioritySortedStartsMap::new(iter) are typically unchanged due to inference; explicit
      type aliases/annotations may need updates.
    Open source →
    Release notes

    Changed

    • Removed redundant struct-level trait bounds across iterator/map/set wrapper structs and kept constraints on impls/usage sites where needed.

    Breaking

    • AssumeSortedStarts and AssumePrioritySortedStartsMap now take fewer generic parameters.
      • AssumeSortedStarts<T, I> -> AssumeSortedStarts<I>
      • AssumePrioritySortedStartsMap<T, VR, I> -> AssumePrioritySortedStartsMap<I>
    • Migration note: calls like AssumeSortedStarts::new(iter) and AssumePrioritySortedStartsMap::new(iter) are typically unchanged due to inference; explicit type aliases/annotations may need updates.
    Open source →
  5. 0.4.4 25 Feb 2026
    Release notes

    Parallelize check-all, skip benches locally, and fix SIMD/example reg…

    Open source →
    Release notes

    Changed

    • RangeSetBlaze::ranges_insert and RangeMapBlaze::ranges_insert now accept any RangeBounds<T>, not just RangeInclusive<T> (issue #24).
    Open source →
  6. 0.4.3 25 Feb 2026
    Release notes

    Update lockfile for 0.4.3

    Open source →
    Release notes

    Changed

    • Improved local CI ergonomics and speed:
      • cargo check-all now runs independent checks in parallel
      • local check-all test target now uses --lib --tests --examples to skip slow benches
    • Updated from_slice SIMD imports/bounds for compatibility with current Rust nightly APIs.
    • Updated examples/nine_rules_maps assertions to match right-to-left precedence semantics.
    Open source →
  7. 0.4.2 01 Feb 2026
    Release notes
    • Fix SIMD compatibility for nightly: remove LaneCount/SupportedLaneCount
    • Update from_slice feature for Rust nightly post-2026-01-28
    • Remove obsolete LaneCount and SupportedLaneCount trait bounds
    • Update documentation and examples
    • Bump version to 0.4.2
    • Add developer tooling and fix clippy warnings
    • Add justfile for local CI testing
    • Add CONTRIBUTING.md developer guide
    • Update README.md with contributing section
    • Fix clippy::unnecessary_option_map_or_else in integer.rs
    Open source →
    Release notes

    Changed

    • Updated from_slice feature for compatibility with Rust nightly (post-2026-01-28)
      • Removed obsolete LaneCount and SupportedLaneCount trait bounds from SIMD code
      • Lane count constraints now compiler-enforced (max 64 lanes, power-of-two only)
      • Requires recent Rust nightly for from_slice feature
      • No functional changes; purely a compatibility update
    Open source →
  8. 0.4.1 27 Oct 2025
    Release notes
    • Implemented RangeOnce<T>, a zero-allocation adapter that yields 0 or 1 non-empty inclusive ranges.

      • RangeOnce implements SortedStarts<T> and SortedDisjoint<T>, providing a sound and ergonomic way to work with single ranges.

      • Example:

        &a & RangeOnce::new(15, 35);
        &a | RangeOnce::new(22, 25);  
        
      • Empty ranges (start > end) now produce an empty iterator, preserving all invariants.

    • Added From<RangeInclusive<T>> for RangeSetBlaze, allowing direct conversion of single ranges:

      RangeSetBlaze::from(5..=10);
      RangeSetBlaze::from(5..=4); // yields empty set
      
    Open source →
  9. 0.3.0 28 May 2025
    Release notes
    • Changed precedence of RangeMapBlaze to always be right-to-left.
    Open source →
  10. 0.2.0 14 May 2025
    Release notes
    • Added support for maps, RangeMapBlaze.
    • Add support for char, IpAddV4, and IpAddV6 integer-like types.
    • Some breaking changes in the rest of the package to improve the API and performance.
    Open source →
  11. 0.2.0-alpha3 12 May 2025 pre-release

    Nothing published for this version

  12. 0.2.0-alpha1 01 May 2024 pre-release

    Nothing published for this version

  13. 0.1.16 09 Mar 2024
    Release notes
    • Added RangeSetBlaze::from_sorted_starts
    • Added documentation for SortedStarts and AssumeSortedStarts
    • Changed CheckSortedDisjoint::new to support IntoIterator
    • Changed AssumeSortedStarts::new to support IntoIterator
    Open source →
  14. 0.1.16-alpha1 02 Mar 2024 pre-release

    Nothing published for this version

  15. 0.1.15 10 Feb 2024
    Release notes
    • Added DoubleEndedIterator when iterating integer elements. Thanks to enh.
    Open source →
  16. 0.1.14 19 Dec 2023
    Release notes

    Changed

    • Added optional from_slice cargo feature and support for a new RangeSetBlaze::from_slice constructor. The feature uses SIMD and requires Rust nightly.
    Open source →
  17. 0.1.14-beta.4 19 Dec 2023 pre-release

    Nothing published for this version

  18. 0.1.14-beta.2 19 Dec 2023 pre-release

    Nothing published for this version

  19. 0.1.14-beta.1 19 Dec 2023 pre-release

    Nothing published for this version

  20. 0.1.13 13 Nov 2023

    Nothing published for this version

  21. 0.1.13-beta.3 25 Oct 2023 pre-release

    Nothing published for this version

  22. 0.1.13-beta.2 25 Oct 2023 pre-release

    Nothing published for this version

  23. 0.1.13-beta 25 Oct 2023 pre-release

    Nothing published for this version

  24. 0.1.9 29 Jun 2023

    Nothing published for this version

  25. 0.1.8 29 Jun 2023

    Nothing published for this version

  26. 0.1.7 29 Jun 2023

    Nothing published for this version

  27. 0.1.6 02 Jun 2023

    Nothing published for this version

  28. 0.1.5 23 May 2023

    Nothing published for this version

  29. 0.1.4 12 Apr 2023

    Nothing published for this version

  30. 0.1.3 12 Apr 2023

    Nothing published for this version

  31. 0.1.2 06 Apr 2023

    Nothing published for this version

  32. 0.1.1 01 Apr 2023

    Nothing published for this version

  33. 0.1.0 01 Apr 2023

    Nothing published for this version

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