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 2026Releases
latest 26-
0.13.024 May 2026Release notes
Open source →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_2andnearest_neighbors_with_distance_2methods (PR). - Added
rootdoc examples and traversal docs - Implemented
RTreeObjectforArc<T>andRc<T> - Added
Envelope::is_empty. (PR) - New
AABB::from_centerutility constructor - New
AABB::from_boundsutility constructor
Fixed
- Fix excessive memory retention in
bulk_loadfromVec::split_offover-capacity - Fix transcription error in implementation of OMT bulk loading leading to nodes which are too large.
Changed
- BREAKING Made
RStarmethods takePointandEnvelopeas 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_parametersofrstar/src/params.rs
-
0.12.205 Nov 2024Release notes
Open source →Changed
- Reverted the change to
AABB::new_emptywhile still avoiding overflow panics applying selections on empty trees (PR)
- Reverted the change to
-
0.12.104 Nov 2024 withdrawnRelease notes
Open source →Added
- Provide selection methods based on internal iteration (PR)
- Add ObjectRef combinator to build tree referencing objects elsewhere (PR)
Changed
-
0.12.028 Jan 2024Release notes
Open source →Added
- Add optional support for the mint crate
- Implemented
IntoIterforRTree, i.e. added a owning iterator - Added cached envelope bulk load benchmark
- Implemented
HashforAABB,Line, andRectangle, provided thePointused implementsHashitself - Implemented
DefaultforDefaultParams
Changed
- Fixed a stack overflow error in
DrainIterator::next - Clarified that the distance measure in
distance_2is not restricted to euclidean distance - updated to
heapless=0.8 - Updated CI config to use merge queue (PR)
-
0.11.031 May 2023Release notes
Open source →Added
- Add
CachedEnvelopecombinator which simplifies memoizing envelope computations. (PR) Pointis now implemented as const generic for any length ofRTreeNumarray
Changed
- Increase our MSRV to Rust 1.63 following that of the
geocrate. (PR)
- Add
-
0.10.031 Jan 2023Release notes
Open source →Added
- Added method
RTree::drain(). - Changed license field to SPDX 2.1 license expression
Changed
- fixed all clippy lint issues
- Fixed error when setting MIN_SIZE = 1 in
RTreeParamsand added assert for positive MIN_SIZE - BREAKING: Removed the
Copybound fromPointandEnvelope. (PR)
- Added method
-
0.9.306 Apr 2022 -
0.9.218 Nov 2021Release notes
Open source →- Add
RTree::drain_*methods to remove and drain selected items. (PR) - Add trait
Pointfor tuples containing elements of the same type, up to nine dimensions. - Pinned
pdqselectto 0.1.0 as 0.1.1 has switched to the 2021 edition
Changed
- Expose all iterator types in
crate::iteratorsmodule (PR)
- Add
-
0.9.105 Aug 2021Release notes
Open source →Added
- A generic container for a geometry and associated data:
GeomWithData(PR)
- A generic container for a geometry and associated data:
-
0.9.007 Jul 2021Release notes
Open source →Added
RTree::nearest_neighborsmethod based on spade crate's implementation
Changed
- Fix floating point inconsistency in
min_max_dist_2(PR). - BREAKING:
Point::generatefunction now accepts aimpl FnMut. Custom implementations ofPointmust change to acceptimpl FnMutinstead ofimpl Fn. Callers ofPoint::generateshould 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
-
0.8.418 Nov 2021Nothing published for this version
-
0.8.327 Apr 2021Release notes
Open source →Changed
- Move crate ownership to the georust organization
Fixed
- Update dependencies to remove heapless 0.5, which has a known vulnerability
-
0.8.201 Aug 2020 -
0.8.119 Jun 2020Release notes
Open source →Changed:
- Fine tuned nearest neighbor iterator inline capacity (see #39). This should boost performance in some cases.
-
0.8.025 May 2020Release notes
Open source →Fixed:
- Bugfix:
RTree::locate_with_selection_function_mutsometimes returned too many elements for small trees.
Changed:
- Deprecated
RTree::nearest_neighbor_iter_with_distance. The name is misleading, useRTree::nearest_neighbor_iter_with_distance_2instead. - Some performance improvements, see #38 and #35
Added
- Added
nearest_neighbor_iter_with_distance_2#31
- Bugfix:
-
0.7.116 Jan 2020Release notes
Open source →Changed:
RTree::intersection_candidates_with_other_treecan now calculate intersections of trees of different item types (see #23)
-
0.7.025 Nov 2019Release notes
Open source →Added:
RTree::remove_with_selection_functionRTree::pop_nearest_neighbor- Added CHANGELOG.md
-
0.6.016 Nov 2019Nothing published for this version
-
0.5.115 Sep 2019Nothing published for this version
-
0.5.028 Jul 2019Nothing published for this version
-
0.4.030 May 2019Nothing published for this version
-
0.3.009 Apr 2019Nothing published for this version
-
0.2.030 Dec 2018Nothing published for this version
-
0.1.221 Dec 2018 withdrawnNothing published for this version
-
0.1.117 Dec 2018Nothing published for this version
-
0.1.022 Nov 2018Nothing published for this version