Release of V1.10.0
What's Changed
- Fix an invalid read. by @drwells in #282
- Fix divideTree assertion failure with KDTreeSingleIndexDynamicAdaptor removePoint/addPoints by @nh2 in #283
- Fix duplicate-entry growth on removePoint/addPoints re-add cycles by @jlblancoc in #285
- Fix loadIndex reading past EOF for empty indices (#286) by @jlblancoc in #287
- fix flaky kdtree.L1_vs_bruteforce_rknn test by @jschueller in #288
- Fix KDTreeSingleIndexDynamicAdaptor_ saveIndex/loadIndex infinite recursion by @jlblancoc in #290
- Remove dead worst_dist branch from L1/L2_Adaptor::evalMetric by @jlblancoc in #291
- Fix three type/correctness bugs (operator=, First0Bit, findWithinBox) by @jlblancoc in #292
- Polish docs warnings attrs by @jlblancoc in #293
- Efficiency: remove middleSplit_ heap alloc (§6.2) + else-if in computeInitialDistances (§6.7) by @jlblancoc in #294
- saveIndex/loadIndex: add magic+version+type-size header, throw on mismatch by @jlblancoc in #295
- CI: extend tested C++ standards, and increase warning levels by @jlblancoc in #296
- Deduplicate addPoint, computeBoundingBox, and searchLevel by @jlblancoc in #297
- Minor internal cleanups: allocateBytes, has_flag(), noexcept by @jlblancoc in #298
- Centralize DIM dispatch in veclen() with if constexpr; widen nodiscard by @jlblancoc in #299
- Refactor tree builders and harden Eigen adaptor ownership by @jlblancoc in #300
- Hoist point-length computation out of search inner loops by @jlblancoc in #301
- Incremental self-balancing dynamic k-d tree index (sync + multithreaded) by @jlblancoc in #302
New Contributors
Full Changelog: v1.9.0...v1.10.0