ros-rolling-nanoflann (1.11.0-1resolute) resolute; urgency=high

  * Merge pull request #309 <https://github.com/jlblancoc/nanoflann/issues/309> from jlblancoc/feat/incremental-index-save-load
    Add saveIndex()/loadIndex() to the incremental k-d tree index
  * Tests: cover loadIndex()'s remaining validation branches
    Version mismatch, type-size mismatch, dimensionality mismatch, and
    truncated/EOF node data, each isolated by corrupting exactly the field the
    corresponding check inspects. Addresses the patch-coverage gaps left by the
    previous commit.
  * Add saveIndex()/loadIndex() to the incremental k-d tree index
    KDTreeSingleIndexIncrementalAdaptor could not previously be persisted:
    it never populates the base class's root_node_/vAcc_, so the inherited
    saveIndex()/loadIndex() were silent no-ops for it.
    Serialize the tree topology explicitly, field by field, instead of a
    raw struct byte-dump (safe regardless of DIM being compile-time fixed
    or runtime): per node, only ptIdx, divfeat, deleted, treeDeleted and
    child-presence bits are written. Bounding box, subtree_size,
    invalid_count, the coordinate cache and parent links are all
    structural invariants, so they are recomputed on load instead of
    trusted from the file. Uses a magic number distinct from the static
    index's SAVE_MAGIC so loading the wrong kind of file fails fast.
    The multithreaded KDTreeSingleIndexIncrementalAdaptorMT variant gets
    forwarding saveIndex()/loadIndex() that block on any in-flight
    background rebuild first.
  * Merge pull request #308 <https://github.com/jlblancoc/nanoflann/issues/308> from icyveins7/master
    Fix: correct SearchParams->SearchParameters and other data types in examples/example_with_cmake
  * Apply clang-format-14 to example_with_cmake fix
    Co-Authored-By: Claude Sonnet 5 <mailto:noreply@anthropic.com>
  * fix: correct SearchParams->SearchParameters and other data types in examples/example_with_cmake
    was probably missed when they changed type names in a4fac39
  * Update README with new build status badges
  * Fix arm64 badge link for ROS 2 Lyrical
  * docs: fix rolling URIs
  * docs: extend badge tables
  * Contributors: Jose Luis Blanco-Claraco, icyveins7

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Thu, 30 Jul 2026 22:00:00 -0000

ros-rolling-nanoflann (1.10.1-1resolute) resolute; urgency=high

  * Merge pull request #303 <https://github.com/jlblancoc/nanoflann/issues/303> from jlblancoc/refactor/tests-smaller-files
    refactor: unit tests into smaller files
  * refactor: unit tests into smaller files
  * CHANGELOG: ported to rst format for ROS tools compatibility
  * doc: update outdated COPYING dates
  * docs: add readme build badges
  * docs: add ROS build farm badge table to README
  * Add ROS package.xml and integrate BUILD_TESTING for ROS build farm
    - package.xml: plain cmake build_type, BSD-2-Clause, libgtest-dev test_depend
    - CMakeLists.txt: include(CTest), use BUILD_TESTING guard, auto-select
    system GTest when ROS_VERSION env is set
    - tests/CMakeLists.txt: remove redundant project(), rename test target to
    nanoflann_unit_tests to avoid collisions in workspaces
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Mon, 08 Jun 2026 22:00:00 -0000

ros-rolling-nanoflann (1.10.0-1resolute) resolute; urgency=high

  * New: Incremental self-balancing dynamic k-d tree index (``KDTreeSingleIndexIncrementalAdaptor``), both single-threaded and multithreaded variants (#302 <https://github.com/jlblancoc/nanoflann/pull/302>).
  * Performance: Hoist point-length computation out of search inner loops (#301 <https://github.com/jlblancoc/nanoflann/pull/301>).
  * Refactor: Deduplicate tree builders, harden Eigen adaptor ownership, centralize DIM dispatch with ``if constexpr`` (#297 <https://github.com/jlblancoc/nanoflann/pull/297>, #299 <https://github.com/jlblancoc/nanoflann/pull/299>, #300 <https://github.com/jlblancoc/nanoflann/pull/300>).
  * Fix: ``SO2_Adaptor`` now returns absolute angular distance instead of signed (#298 <https://github.com/jlblancoc/nanoflann/pull/298>).
  * Fix: ``saveIndex``/``loadIndex`` now include a magic+version+type-size header and throw on mismatch (#295 <https://github.com/jlblancoc/nanoflann/pull/295>).
  * Fix: ``KDTreeSingleIndexDynamicAdaptor_`` saveIndex/loadIndex infinite recursion (#290 <https://github.com/jlblancoc/nanoflann/pull/290>).
  * Fix: loadIndex reading past EOF for empty indices (#287 <https://github.com/jlblancoc/nanoflann/pull/287>).
  * Fix: duplicate-entry growth on removePoint/addPoints re-add cycles (#285 <https://github.com/jlblancoc/nanoflann/pull/285>).
  * Fix: divideTree assertion failure with dynamic adaptor removePoint/addPoints (#283 <https://github.com/jlblancoc/nanoflann/pull/283>).
  * CI: Added Windows (MSVC + clang-cl) and macOS (14+15) workflows; extended tested C++ standards.
  * Docs: Consolidated macro list and documented threading guarantees.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Fri, 05 Jun 2026 22:00:00 -0000

ros-rolling-nanoflann (1.8.0-1resolute) resolute; urgency=high

  * Performance: Minor performance optimization changes (#271 <https://github.com/jlblancoc/nanoflann/issues/271>).
  * New API: ``findWithinBox()`` (#272 <https://github.com/jlblancoc/nanoflann/pull/272>).
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Sat, 15 Nov 2025 23:00:00 -0000

ros-rolling-nanoflann (1.7.1-1resolute) resolute; urgency=high

  * Fix: ``ResultSets::worstDist()``: fix a potential access to negative index in array (did not happen in practice, but static analysis tools correctly detected this possibility).
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Fri, 14 Mar 2025 23:00:00 -0000

ros-rolling-nanoflann (1.7.0-1resolute) resolute; urgency=high

  * API: ``ResultSets::worstDist()``: clarified the meaning of its return value; now returns the actual worst distance in the found set (only if set is full).
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Sun, 02 Feb 2025 23:00:00 -0000

ros-rolling-nanoflann (1.6.3-1resolute) resolute; urgency=high

  * cmake_required_version bumped to 3.10.
  * clang-format version bumped to 14.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Mon, 06 Jan 2025 23:00:00 -0000

ros-rolling-nanoflann (1.6.2-1resolute) resolute; urgency=high

  * Fix: ``middleSplit_`` for same points (#250 <https://github.com/jlblancoc/nanoflann/pull/250>).
  * Fix: Build warnings.
  * Contributors: Jose Luis Blanco-Claraco, yzabalotski

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Sun, 03 Nov 2024 23:00:00 -0000

ros-rolling-nanoflann (1.6.1-1resolute) resolute; urgency=high

  * Add conan install instructions.
  * Add multiple thread kdtree build support for ``KDTreeEigenMatrixAdaptor`` (#246 <https://github.com/jlblancoc/nanoflann/pull/246>).
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Fri, 23 Aug 2024 22:00:00 -0000

ros-rolling-nanoflann (1.6.0-1resolute) resolute; urgency=high

  * Fix: ``nanoflann::SearchParameters::sorted`` was ignored for ``RadiusResultSet``.
  * API: ``ResultSet`` classes now must implement a ``sort()`` method.
  * API: Added type ``IndexType`` to ``nanoflann::KDTreeBaseClass``.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Wed, 10 Jul 2024 22:00:00 -0000

ros-rolling-nanoflann (1.5.5-1resolute) resolute; urgency=high

  * Performance: Potentially more efficient scheduling of multi-thread index building (#236 <https://github.com/jlblancoc/nanoflann/pull/236>).
  * Bump minimum required cmake version to 3.5 (#230 <https://github.com/jlblancoc/nanoflann/pull/230>).
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Mon, 11 Mar 2024 23:00:00 -0000

ros-rolling-nanoflann (1.5.4-1resolute) resolute; urgency=high

  * Fix outdated ``NANOFLANN_VERSION`` macro in header file.
  * Fix pool-allocator alignment problems.
  * Add ``NANOFLANN_USE_SYSTEM_GTEST`` option.
  * Look for Threads dependency in CMake config script.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Tue, 09 Jan 2024 23:00:00 -0000

ros-rolling-nanoflann (1.5.3-1resolute) resolute; urgency=high

  * Performance: Save one redundant call to ``computeMinMax()`` in ``middleSplit_`` (#220 <https://github.com/jlblancoc/nanoflann/pull/220>). Saves up to 20% build time in benchmarks with small (thousands) point clouds.
  * Contributors: Jose Luis Blanco-Claraco, qq422216549

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Wed, 06 Dec 2023 23:00:00 -0000

ros-rolling-nanoflann (1.5.2-1resolute) resolute; urgency=high

  * Performance: Improve RKNN search efficiency (#219 <https://github.com/jlblancoc/nanoflann/pull/219>).
  * Contributors: Jose Luis Blanco-Claraco, kya8

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Tue, 28 Nov 2023 23:00:00 -0000

ros-rolling-nanoflann (1.5.1-1resolute) resolute; urgency=high

  * New API: ``rknnSearch()`` for knn searches with a maximum radius.
  * Fix: Add missing ``SearchParameters`` argument to ``KDTreeSingleIndexDynamicAdaptor_::knnSearch()`` (#213 <https://github.com/jlblancoc/nanoflann/pull/213>).
  * Fix: Add missing method ``KNNResultSet::empty()`` for consistency with other result sets.
  * Add GUI examples for each search type: ``nanoflann_gui_example_R3_knn``, ``nanoflann_gui_example_R3_radius``, ``nanoflann_gui_example_R3_rknn``.
  * Contributors: Jose Luis Blanco-Claraco, ManosPapadakis95

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Sun, 26 Nov 2023 23:00:00 -0000

ros-rolling-nanoflann (1.5.0-1resolute) resolute; urgency=high

  * API: Users of radius search should update result placeholder type from ``std::vector<std::pair<IndexType, DistanceType>>`` to ``std::vector<nanoflann::ResultItem<IndexType, DistanceType>>``.
  * API: More concise auxiliary type name: ``array_or_vector_selector`` -> ``array_or_vector``.
  * API: Remove obsolete parameter ``nChecks_IGNORED``; ``SearchParams`` renamed to ``SearchParameters``.
  * API: Added method ``RadiusResultSet::empty()``.
  * API: Template argument rename: ``AccesorType`` => ``IndexType``.
  * API: Added concurrent tree building support via ``KDTreeSingleIndexAdaptorParams::n_thread_build``.
  * Macros to avoid conflicts with X11 symbols.
  * Inline auxiliary example function to support inclusion in multiple translation units.
  * Move all benchmarking code and scripts to a separate repository <https://github.com/MRPT/nanoflann-benchmark>.
  * Fix: Potential uninitialized variable GCC warning.
  * Docs: Clarified that L2 distances are squared distances.
  * Add GUI examples: ``nanoflann_gui_example_R3`` and ``nanoflann_gui_example_bearings``.
  * Fix: Avoid segfault when saving an empty index.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Thu, 15 Jun 2023 22:00:00 -0000

ros-rolling-nanoflann (1.4.3-1resolute) resolute; urgency=high

  * Add flag ``SkipInitialBuildIndex`` to skip tree building when the index will be loaded from a file (#171 <https://github.com/jlblancoc/nanoflann/pull/171>).
  * Mark all constructors explicit to avoid unintended creation of temporary objects.
  * Fix: Potential index out of bounds in ``KDTreeSingleIndexDynamicAdaptor`` (#173 <https://github.com/jlblancoc/nanoflann/pull/173>).
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Sat, 23 Jul 2022 22:00:00 -0000

ros-rolling-nanoflann (1.4.2-1resolute) resolute; urgency=high

  * Install pkg-config ``.pc`` file under lib directory.
  * Integrate AppVeyor CI.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Mon, 10 Jan 2022 23:00:00 -0000

ros-rolling-nanoflann (1.4.1-1resolute) resolute; urgency=high

  * Fix incorrect install directory for cmake target & config files.
  * Do not install example binaries with ``make install``.
  * Provide working examples for cmake and pkgconfig under ``examples/example_*`` directories.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Wed, 05 Jan 2022 23:00:00 -0000

ros-rolling-nanoflann (1.4.0-1resolute) resolute; urgency=high

  * API: ``nanoflann::KDTreeSingleIndexAdaptor()`` ctor now forwards additional parameters to the metric class, enabling custom dynamic metrics.
  * Add and apply a ``.clang-format`` file.
  * Examples: Clean up and code modernization.
  * CMake variables now prefixed with ``NANOFLANN_`` for easier Git submodule integration.
  * Fix: ``IndexType`` for non-integral types (#154 <https://github.com/jlblancoc/nanoflann/pull/154>).
  * API: save/load upgraded from C ``FILE*`` to C++ file streams (#157 <https://github.com/jlblancoc/nanoflann/pull/157>).
  * Contributors: Jose Luis Blanco-Claraco, Dominic Kempf

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Sat, 01 Jan 2022 23:00:00 -0000

ros-rolling-nanoflann (1.3.2-1resolute) resolute; urgency=high

  * Add optional argument for Eigen matrix layout.
  * Throw exception on malloc failure (#126 <https://github.com/jlblancoc/nanoflann/pull/126>).
  * Respect GNUInstallDirs in CMake install rules (#131 <https://github.com/jlblancoc/nanoflann/pull/131>).
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Wed, 04 Nov 2020 23:00:00 -0000

ros-rolling-nanoflann (1.3.1-1resolute) resolute; urgency=high

  * Fix bug in ``KDTreeSingleIndexDynamicAdaptor``.
  * Fix build in XCode.
  * Simplify CMakeLists for Eigen example (requires Eigen3Config.cmake now).
  * Avoid setting cmake global executable build path.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Thu, 10 Oct 2019 22:00:00 -0000

ros-rolling-nanoflann (1.3.0-1resolute) resolute; urgency=high

  * Add ``make install`` instructions for Linux and Windows.
  * Fix all MSVC conversion warnings.
  * Avoid need for ``_USE_MATH_DEFINES`` in MSVC.
  * Eigen::Matrix datasets: now uses ``std::cref()`` to store a reference to matrix.
  * GSOC2017: Support for dynamic datasets.
  * GSOC2017: Support for non-Euclidean spaces: SO(2), SO(3).
  * Contributors: Jose Luis Blanco-Claraco, Pranjal Kumar Rai

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Mon, 27 Aug 2018 22:00:00 -0000

ros-rolling-nanoflann (1.2.3-1resolute) resolute; urgency=high

  * Fix: Split plane now correctly chooses the dimension with the largest span, leading to more optimal trees.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Mon, 19 Dec 2016 23:00:00 -0000

ros-rolling-nanoflann (1.2.2-1resolute) resolute; urgency=high

  * ``knnSearch()`` now also returns the number of valid points found.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Wed, 09 Nov 2016 23:00:00 -0000

ros-rolling-nanoflann (1.2.1-1resolute) resolute; urgency=high

  * Fix potential compiler warnings if ``IndexType`` is signed.
  * New unit tests comparing results against brute-force search.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Tue, 31 May 2016 22:00:00 -0000

ros-rolling-nanoflann (1.2.0-1resolute) resolute; urgency=high

  * Fix: Many class constructors were accepting const ref arguments but storing const values.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Wed, 04 May 2016 22:00:00 -0000

ros-rolling-nanoflann (1.1.9-1resolute) resolute; urgency=high

  * New: ``KDTreeSingleIndexAdaptor::radiusSearchCustomCallback()``.
  * Better documentation in class headers.
  * Cleanup of unused code.
  * Remove redundant parameter ``KDTreeSingleIndexAdaptorParams::dim``.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Thu, 01 Oct 2015 22:00:00 -0000

ros-rolling-nanoflann (1.1.8-1resolute) resolute; urgency=high

  * Create hidden constructors in nanoflann class to disallow unintentional copies that corrupt internal pointers.
  * Fix crash when building an index from an empty dataset.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Thu, 01 May 2014 22:00:00 -0000

ros-rolling-nanoflann (1.1.7-1resolute) resolute; urgency=high

  * Two internal containers now automatically use fixed-size arrays when problem dimension is known at compile time, improving efficiency (``KDTreeSingleIndexAdaptor::BoundingBox``, ``KDTreeSingleIndexAdaptor::distance_vector_t``).
  * Fix compilation with GCC 4.8 and C++11 enabled.
  * Contributors: Jose Luis Blanco-Claraco, Simon Praetorius

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Fri, 23 Aug 2013 22:00:00 -0000

ros-rolling-nanoflann (1.1.6-1resolute) resolute; urgency=high

  * Fix warnings about unused parameters.
  * Fix ``L1_adaptor.accum_dist()``, which was implementing L2 instead of L1.
  * Fix wrong typedef in ``KDTreeEigenMatrixAdaptor<>`` for ``IndexType!=size_t``.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Mon, 13 May 2013 22:00:00 -0000

ros-rolling-nanoflann (1.1.5-1resolute) resolute; urgency=high

  * Fix: Memory pool was not freed after each call to ``buildIndex()``.
  * GCC: Added ``-isystem`` flag to gtest headers to avoid pedantic warnings.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Sun, 24 Mar 2013 23:00:00 -0000

ros-rolling-nanoflann (1.1.4-1resolute) resolute; urgency=high

  * Fix compilation with Visual Studio 11 (MSVC 2012).
  * Fix compilation of gtest with VS11 and its ``_VARIADIC_MAX`` bug.
  * Add security check: throw exception if searches are attempted before ``buildIndex()``.
  * New example demonstrating save/load of the index to files.
  * Expose save/load methods as public.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Thu, 10 Jan 2013 23:00:00 -0000

ros-rolling-nanoflann (1.1.3-1resolute) resolute; urgency=high

  * Embed GTest sources due to changes in newer Ubuntu packages.
  * Add asserts to detect NULL query points passed by the user.
  * New method ``RadiusResultSet::worst_item()``.
  * New method ``RadiusResultSet::set_radius_and_clear()``.
  * Avoid potential collision of min/max macros with ``<windows.h>``.
  * Remove unneeded ``#include`` of std headers.
  * New sample code for vectors of vectors.
  * Fix building of tests for MSVC on Windows.
  * Allow manually setting path to Eigen3 (mainly for Windows example builds).
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Tue, 05 Jun 2012 22:00:00 -0000

ros-rolling-nanoflann (1.1.2-1resolute) resolute; urgency=high

  * Better documentation and benchmark graphs for choosing ``leaf_max_size``.
  * ``KDTreeSingleIndexAdaptor::buildIndex()`` can now be called multiple times even when the dataset size changes.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Tue, 01 May 2012 22:00:00 -0000

ros-rolling-nanoflann (1.1.1-1resolute) resolute; urgency=high

  * Fix kd-tree index and L1/L2 metrics to allow distinct types for data elements and distances (e.g. integer data with floating-point distances).
  * Fix examples and unit tests to use template arguments instead of hard-coded ``float`` types.
  * Contributors: Jose Luis Blanco-Claraco, Thomas Vincent

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Tue, 31 Jan 2012 23:00:00 -0000

ros-rolling-nanoflann (1.1.0-1resolute) resolute; urgency=high

  * Fix warnings for MSVC and GCC with ``-Wall -pedantic``.
  * Update performance tests for current nanoflann code.
  * All main classes now have a new template argument for index type, defaulting to ``size_t`` instead of ``int``.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Wed, 14 Dec 2011 23:00:00 -0000

ros-rolling-nanoflann (1.0.0-1resolute) resolute; urgency=high

  * Initial release.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Mon, 29 Aug 2011 22:00:00 -0000


