# 0.12.2
## Changed
- Reverted the change to `AABB::new_empty` while still avoiding overflow panics applying selections on empty trees ([PR](https://github.com/georust/rstar/pull/184)
# 0.12.1 **YANKED**
## Added
- Provide selection methods based on internal iteration ([PR](https://github.com/georust/rstar/pull/164))
- Add ObjectRef combinator to build tree referencing objects elsewhere ([PR](https://github.com/georust/rstar/pull/178))
## Changed
- Switched to unstable sort for envelopes and node reinsertion ([PR](https://github.com/georust/rstar/pull/160))
- Use a more tame value for `AABB::new_empty` to avoid overflow panics applying selections on empty trees ([PR](https://github.com/georust/rstar/pull/162))
- Avoid infinite recursion due to numerical instability when computing the number of clusters ([PR](https://github.com/georust/rstar/pull/166))
# 0.12.0
## Added
- Add optional support for the [mint](https://docs.rs/mint/0.5.9/mint/index.html) 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](https://github.com/georust/rstar/pull/143))
# 0.11.0
## Added
- Add `CachedEnvelope` combinator which simplifies memoizing envelope computations. ([PR](https://github.com/georust/rstar/pull/118))
- `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](https://github.com/georust/rstar/pull/124))
# 0.10.0
## Added
- Added method `RTree::drain()`.
- Changed license field to [SPDX 2.1 license expression](https://spdx.dev/spdx-specification-21-web-version/#h.jxpfx0ykyb60)
## 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](https://github.com/georust/rstar/pull/103))
# 0.9.3
## Changed
- Removed dependency on `pdqselect` ([PR](https://github.com/georust/rstar/pull/85))
- 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](https://github.com/georust/rstar/pull/83))
- Updated `heapless` dependency to 0.7 to make use of const generics. ([PR](https://github.com/georust/rstar/pull/87))
# 0.9.2
- Add `RTree::drain_*` methods to remove and drain selected items. ([PR](https://github.com/georust/rstar/pull/77))
- 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](https://github.com/georust/rstar/pull/77))
# 0.9.1
## Added
- A generic container for a geometry and associated data: `GeomWithData` ([PR](https://github.com/georust/rstar/pull/74))
# 0.9.0
## Added
- `RTree::nearest_neighbors` method based on
[spade crate's implementation](https://github.com/Stoeoef/spade)
## Changed
- Fix floating point inconsistency in `min_max_dist_2` ([PR](https://github.com/georust/rstar/pull/40)).
- 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
# 0.8.3
## Changed
- Move crate ownership to the georust organization
## Fixed
- Update dependencies to remove heapless 0.5, which has a known vulnerability
# 0.8.2 - 2020-08-01
## Fixed:
- Fixed a rare panic when calling `insert` (See #45)
# 0.8.1 - 2020-06-18
## Changed:
- Fine tuned nearest neighbor iterator inline capacity (see #39). This should boost performance in some cases.
# 0.8.0 - 2020-05-25
## 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
# 0.7.1 - 2020-01-16
## Changed:
- `RTree::intersection_candidates_with_other_tree` can now calculate intersections of trees of different item types (see #23)
# 0.7.0 - 2019-11-25
## Added:
- `RTree::remove_with_selection_function`
- `RTree::pop_nearest_neighbor`
- Added CHANGELOG.md