PackageTrack
Sign in Get early access

rstar

An R*-tree spatial index

0.13.0 40M downloads/mo #1434 most downloaded on crates.io georust/rstar

What this package is like to depend on

Last release 3 months ago

24 May 2026

Release timing varies

gaps range from 4 weeks to 1.6 years

Most releases are documented

notes for 15 of 24 stable releases

2 versions withdrawn

withdrawn after publishing

8 years old

26 releases · first in 2018

1 release in the last 12 months

see the full history below

Release timeline

26 releases · Nov 2018 to May 2026
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 26
  1. 0.13.0 24 May 2026
    Release notes

    Make a breaking release to get accumulated fixes and additions out to…

    Open source →
    Release notes

    Added

    • Added missing re-exports of nearest neighbor iterators so they can be named in downstream crates. (PR)
    • Added nearest neighbor search with distance squared: nearest_neighbor_with_distance_2 and nearest_neighbors_with_distance_2 methods (PR).
    • Added root doc examples and traversal docs
    • Implemented RTreeObject for Arc<T> and Rc<T>
    • Added Envelope::is_empty. (PR)
    • New AABB::from_center utility constructor
    • New AABB::from_bounds utility constructor

    Fixed

    • Fix excessive memory retention in bulk_load from Vec::split_off over-capacity
    • Fix transcription error in implementation of OMT bulk loading leading to nodes which are too large.

    Changed

    • BREAKING Made RStar methods take Point and Envelope as owned values where it makes sense (PR)
    • Fix Clippy warning (surfaced in Rust 1.89) related to lifetime elision
    • MSRV is now 1.85 (released on 2025-02-20 and shipped in Debian Trixie)
    • Fix incorrect assertion message in verify_parameters of rstar/src/params.rs
    Open source →
  2. 0.12.2 05 Nov 2024
    Release notes

    Fix for buggy 0.12.1 release

    Open source →
    Release notes

    Changed

    • Reverted the change to AABB::new_empty while still avoiding overflow panics applying selections on empty trees (PR)
    Open source →
  3. 0.12.1 04 Nov 2024 withdrawn
    Release notes

    Added

    • Provide selection methods based on internal iteration (PR)
    • Add ObjectRef combinator to build tree referencing objects elsewhere (PR)

    Changed

    • Switched to unstable sort for envelopes and node reinsertion (PR)
    • Use a more tame value for AABB::new_empty to avoid overflow panics applying selections on empty trees (PR)
    • Avoid infinite recursion due to numerical instability when computing the number of clusters (PR)
    Open source →
  4. 0.12.0 28 Jan 2024
    Release notes

    Added

    • Add optional support for the mint crate
    • Implemented IntoIter for RTree, i.e. added a owning iterator
    • Added cached envelope bulk load benchmark
    • Implemented Hash for AABB, Line, and Rectangle, provided the Point used implements Hash itself
    • Implemented Default for DefaultParams

    Changed

    • Fixed a stack overflow error in DrainIterator::next
    • Clarified that the distance measure in distance_2 is not restricted to euclidean distance
    • updated to heapless=0.8
    • Updated CI config to use merge queue (PR)
    Open source →
  5. 0.11.0 31 May 2023
    Release notes

    MSRV bump and bulk-loading perf improvements

    Open source →
    Release notes

    Added

    • Add CachedEnvelope combinator which simplifies memoizing envelope computations. (PR)
    • Point is now implemented as const generic for any length of RTreeNum array

    Changed

    • Increase our MSRV to Rust 1.63 following that of the geo crate. (PR)
    Open source →
  6. 0.10.0 31 Jan 2023
    Release notes

    Prepare for v0.10.0 release

    Open source →
    Release notes

    Added

    Changed

    • fixed all clippy lint issues
    • Fixed error when setting MIN_SIZE = 1 in RTreeParams and added assert for positive MIN_SIZE
    • BREAKING: Removed the Copy bound from Point and Envelope. (PR)
    Open source →
  7. 0.9.3 06 Apr 2022
    Release notes

    MSRV: 1.5.1, no-std support

    Open source →
    Release notes

    Changed

    • Removed dependency on pdqselect (PR)
    • New minimal supported rust version (MSRV): 1.51.0
    • Replace all usages of std with core & alloc to make rstar fit for no_std. (PR)
    • Updated heapless dependency to 0.7 to make use of const generics. (PR)
    Open source →
  8. 0.9.2 18 Nov 2021
    Release notes
    • Add RTree::drain_* methods to remove and drain selected items. (PR)
    • Add trait Point for tuples containing elements of the same type, up to nine dimensions.
    • Pinned pdqselect to 0.1.0 as 0.1.1 has switched to the 2021 edition

    Changed

    • Expose all iterator types in crate::iterators module (PR)
    Open source →
  9. 0.9.1 05 Aug 2021
    Release notes

    Added generic geomwithdata container

    Open source →
    Release notes

    Added

    • A generic container for a geometry and associated data: GeomWithData (PR)
    Open source →
  10. 0.9.0 07 Jul 2021
    Release notes

    Added

    Changed

    • Fix floating point inconsistency in min_max_dist_2 (PR).
    • BREAKING: Point::generate function now accepts a impl FnMut. Custom implementations of Point must change to accept impl FnMut instead of impl Fn. Callers of Point::generate should not require changes.
    • Update CI images to Stable Rust 1.50 and 1.51
    • Run clippy, rustfmt, update manifest to reflect ownership changes
    • Update Criterion and rewrite deprecated benchmark functions
    • Remove unused imports
    • Remove executable bit from files
    • Fix typos, modernize links
    Open source →
  11. 0.8.4 18 Nov 2021

    Nothing published for this version

  12. 0.8.3 27 Apr 2021
    Release notes

    Changed

    • Move crate ownership to the georust organization

    Fixed

    • Update dependencies to remove heapless 0.5, which has a known vulnerability
    Open source →
  13. 0.8.2 01 Aug 2020
    Release notes

    Fixed:

    • Fixed a rare panic when calling insert (See #45)
    Open source →
  14. 0.8.1 19 Jun 2020
    Release notes

    Changed:

    • Fine tuned nearest neighbor iterator inline capacity (see #39). This should boost performance in some cases.
    Open source →
  15. 0.8.0 25 May 2020
    Release notes

    Fixed:

    • Bugfix: RTree::locate_with_selection_function_mut sometimes returned too many elements for small trees.

    Changed:

    • Deprecated RTree::nearest_neighbor_iter_with_distance. The name is misleading, use RTree::nearest_neighbor_iter_with_distance_2 instead.
    • Some performance improvements, see #38 and #35

    Added

    • Added nearest_neighbor_iter_with_distance_2 #31
    Open source →
  16. 0.7.1 16 Jan 2020
    Release notes

    Changed:

    • RTree::intersection_candidates_with_other_tree can now calculate intersections of trees of different item types (see #23)
    Open source →
  17. 0.7.0 25 Nov 2019
    Release notes

    Added:

    • RTree::remove_with_selection_function
    • RTree::pop_nearest_neighbor
    • Added CHANGELOG.md
    Open source →
  18. 0.6.0 16 Nov 2019

    Nothing published for this version

  19. 0.5.1 15 Sep 2019

    Nothing published for this version

  20. 0.5.0 28 Jul 2019

    Nothing published for this version

  21. 0.4.0 30 May 2019

    Nothing published for this version

  22. 0.3.0 09 Apr 2019

    Nothing published for this version

  23. 0.2.0 30 Dec 2018

    Nothing published for this version

  24. 0.1.2 21 Dec 2018 withdrawn

    Nothing published for this version

  25. 0.1.1 17 Dec 2018

    Nothing published for this version

  26. 0.1.0 22 Nov 2018

    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