# Changelog ## 0.12.0 (unreleased) Contributors to this version: Joseph Siddons (@josidd) ### Internal changes * Added changelog (!26). ## 0.11.2 (2025-02-27) Contributors to this version: Joseph Siddons (@josidd) ### Bug fixes * Removed debug print statement from `OctTree.len` and `QuadTree.len` (!23). ## 0.11.1 (2025-02-26) Contributors to this version: Joseph Siddons (@josidd) ### Bug fixes * Fixed testing of `QuadTree.len` and `OctTree.len` - compare output only to records that are added (!21). ### Internal changes * Removed pinned dependency version numbers (!21). ## 0.11.0 (2025-02-26) Contributors to this version: Joseph Siddons (@josidd) ### New features and enhancements * `QuadTree` and `OctTree` classes now have `len` method to return the number of `Record`s (!19). ## 0.10.1 (2025-02-26) Contributors to this version: Joseph Siddons (@josidd) ### Internal changes * Formatted and cleaned code using `ruff check` (!17). ## 0.10.0 (2024-12-12) Contributors to this version: Joseph Siddons (@josidd) ### Internal changes * Added documentation (!16). ## 0.9.0 (2024-12-12) Contributors to this version: Joseph Siddons (@josidd) ### New features and enhancements * Added `GreatCircle` class for intersecting great circles (!15) ## 0.8.0 (2024-11-27) Contributors to this version: Joseph Siddons (@josidd) ### New features and enhancements * `QuadTree` and `OctTree` classes now have `remove` method to remove a `Record` (!14) ## 0.7.0 (2024-11-21) Contributors to this version: Joseph Siddons (@josidd) ### Internal changes * Type annotations corrected to support python 3.9 (!11) ## 0.6.0 (2024-10-15) Contributors to this version: Joseph Siddons (@josidd) ### Breaking changes * `Rectangle` and `SpaceTimeRectangle` classes are now defined by the bounding box, rather than centre and ranges (!9). ### Bug fixes * Account for `Rectangle` classes fully inside another `Rectangle` in intersection check. ## 0.5.0 (2024-10-10) Contributors to this version: Joseph Siddons (@josidd) ### New features and enhancements * Perform a second query with longitude 0 -> 360 to handle wrapping in `QuadTree` and `OctTree` classes (!8). * Add option to fix longitude to -180 -> 180 in `Record` and `SpaceTimeRecord` classes (!8). * Account for wrapping at -180 -> 180 in `Rectangle` and `SpaceTimeRecord` classes (!8). * Added option to test list is sorted in `find_neighbours` (!7). ### Bug fixes * `Rectangle` and `SpaceTimeRectangle` classes now perform an additional distance check at edges if the box crosses the equator (!8). ### Internal changes * `Record`, `SpaceTimeRecord`, `Rectangle`, and `SpaceTimeRectangle` classes are now `dataclasses` (!8). * `Record` and `SpaceTimeRecord` raise an error if latitude is out of bounds (!8). * Added additional test for `KDTree` to test neighbours over the poles (!8). * Added examples to the README (!6). ## 0.4.3 (2024-10-04) Contributors to this version: Joseph Siddons (@josidd) ### New features and enhancements * `KDTree` now returns a list of neighbours (!5). ### Bug fixes * Prevent potential infinite loop in `KDTree` if multiple `Record`s have the same `lon` and `lat` (!5). * Split `KDTree` on index rather than median (!5). ### Internal changes * Added additional tests for `KDTree` (!5). ## 0.4.2 (2024-10-03) Contributors to this version: Joseph Siddons (@josidd) ### Bug fixes * Return False if query point is not in the `KDTree` (!4). * Increment `split_index` if the next index is above the median (!4). ## 0.4.1 (2024-10-03) Contributors to this version: Joseph Siddons (@josidd) ### New features and enhancements * Added example notebooks. ### Bug fixes * Account for longitude wrapping in `KDTree` class (!3). ## 0.4.0 (2024-10-03) Contributors to this version: Joseph Siddons (@josidd) ### New features and enhancements * `KDTree` implemented utilising haversine distances. * `Record` and `SpaceTimeRecord` classes now have `distance` method. ## 0.3.0 (2024-09-25) Contributors to this version: Joseph Siddons (@josidd) ### New features and enhancements * Can now query `QuadTree` and `OctTree` objects with an `Ellipse` or `SpaceTimeEllipse` object (!2). ## 0.2.0 (2024-09-24) Contributors to this version: Joseph Siddons (@josidd) ### New features and enhancements * Added functions for finding nearest neighbour in a sorted 1d array (!1). ## 0.1.0 (2024-09-24) Contributors to this version: Joseph Siddons (@josidd) ### Announcements * Initial Release. ### New features and enhancements * `QuadTree` and `OctTree` classes with `Record`, `Rectangle`, `SpaceTimeRecord`, `SpaceTimeRectangle` classes. * Add haversine distance function.