What's Changed
Bug Fixes
- fix asan issue in multi-threading by @ShawnShawnYou in #335
- fix max_degree error by @LHT129 in #349
- fix occasionally ft fail while use conjugate graph by @ShawnShawnYou in #352
- fix the issue caused by passing in invalid vectors by @inabao in #361
- fix unexpected behavior of HGraph::KnnSearch when filter ratio 100% by @wxyucs in #379
New Features
- introduce memory estimate for hgraph by @LHT129 in #282
- add index_feature for hnsw by @LHT129 in #284
- implement the interfaces for add, knnsearch, serialize in pyramid by @inabao in #231
- introduce brute_force index by @LHT129 in #299
- add estimate feature & test by @LHT129 in #289
- introduce check id exist for index by @LHT129 in #338
- implement optimized nndescent in diskann by @inabao in #287
- add examples for hnsw, diskann, enhance graph and range search by @inabao in #333
- introduce filter & remove example by @LHT129 in #340
- implement the interfaces for range search, filter in pyramid by @inabao in #310
- support basic searcher by @ShawnShawnYou in #351
- add a new filter interface provides hints like selection ratio by @wxyucs in #367
Improvements
- add reorder for hgraph by @LHT129 in #257
- replace the implementation of thread pool in diskann by @inabao in #288
- update makefile and remove outdated benchs directory by @wxyucs in #270
- support concurrent read and write for HNSW by @inabao in #178
- rename index_feature to index_features by @LHT129 in #295
- optimize hgraph by @LHT129 in #281
- use normalize for sq4 uniform cosine compute by @LHT129 in #291
- replace logger inside diskann with vsag logger, and improve tests output by @wxyucs in #245
- enable examples in the compilation by default by @wxyucs in #301
- add logger in tests and fix some linter warnings by @wxyucs in #302
- add check for number of elements in diskann by @inabao in #104
- refactor param to replace JsonType internal by @LHT129 in #290
- introduce third party yaml-cpp for tools by @LHT129 in #294
- add distances for test_performance by @inabao in #305
- add test to increase coverage rate by @LHT129 in #327
- optimize the implementation logic of TestSerializeReaderSet by @inabao in #332
- support safe update by @ShawnShawnYou in #308
- increase the code coverage of hnswlib by @inabao in #328
- improve coverage rate by @LHT129 in #330
- add prefetch implement by @LHT129 in #334
- introduce new eval tool: eval_performance by @LHT129 in #234
- support update in conjugate graph by @ShawnShawnYou in #317
- add yaml config for eval_performance by @LHT129 in #343
- improve the coverage by @inabao in #342
- introduce simple resource_pool by @LHT129 in #123
- use CHECK instead of REQUIRE for some index tests by @LHT129 in #353
- add test for improve coverage rate by @LHT129 in #354
- Add a batch interface for getDistanceByLabel by @Carrot-77 in #337
- support allocator in conjugate graph by @ShawnShawnYou in #344
- support build sparse graph in ODescent by @inabao in #345
- modify component codecov threshold by @LHT129 in #363
- add index persistent example by @wxyucs in #339
- add update example and remove all outdated examples by @wxyucs in #364
- add the metric for calculating recall based on distance by @inabao in #347
- replace BaseFilter with UniqueFilter by @inabao in #376
- support build one point graph in odescent by @inabao in #371
- optimize the process of HNSW with high filtering ratio by @inabao in #381
Other Changes
- enable coverage test for github action by @LHT129 in #260
- [skip ci]update readme by @wxyucs in #283
- [skip ci]introduce clang-tidy as cpp linter by @wxyucs in #286
- [skip ci]add contributors bagde in README by @wxyucs in #293
- remove unuseful log for ut and ft by @inabao in #303
- update codecov configuration by @wxyucs in #304
- add github action to update the ci image automaticlly by @wxyucs in #307
- upgrade the lcov version in github ci by @wxyucs in #311
- enable bugprone-* options in clang-tidy by @wxyucs in #315
- update coverage configuration by @wxyucs in #316
- [skip ci]add arXiv and codecov badge by @wxyucs in #329
- add example customize by @ShawnShawnYou in #341
- use ubuntu-22.04 to check clang-format by @LHT129 in #346
- update coverage config by @wxyucs in #348
- format ut and ft by @LHT129 in #358
- set threshold coverage from (1%)% to 1% by @LHT129 in #365
- enable modernize-* checks in clang-tidy by @wxyucs in #372
- enable clang-analyzer-* checks in clang-tidy by @wxyucs in #375
- enable readability-* checks in clang-tidy by @wxyucs in #377
- refactor tools directory by @wxyucs in #380
New Contributors
- @Carrot-77 made their first contribution in #337
Full Changelog: v0.12.0...v0.13.0