Releases: antgroup/vsag
Releases · antgroup/vsag
v0.13.1
v0.13.0
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
v0.12.0
What's Changed
Bug Fixes
- fix pyvsag undefined symbol error by @wxyucs in #24
- fix bug for aligned memory allocation by @inabao in #26
- fix compile issue on arm by @wxyucs in #43
- fix illegal instruction issue on cpu without avx by @wxyucs in #50
- fix memory leak for hnsw and add function test by @inabao in #48
- fix the issue of symbols defined in omp not found by @inabao in #53
- fix illegal memory access in SIMD by @ShawnShawnYou in #56
- fix hnsw memory leak in search by @inabao in #57
- bugfix: clang17 compile error by @LHT129 in #85
- fix compile issue in arm by @ShawnShawnYou in #89
- fix compile error by @LHT129 in #106
- fix allocator lifetime issue by @inabao in #107
- fix compile error in clang17 by @inabao in #127
- fix memory leak for hnsw by @inabao in #137
- fix illegal instruction on platform which has avx only by @LHT129 in #177
- fix return labels error on hgraph by @LHT129 in #190
- fix the issue of high deserialization time by @inabao in #198
- [bugfix] fix hgraph concurrent build & continue add problem by @LHT129 in #207
- fix the memory leak issue in VisitListPool allocation by @inabao in #229
- refactor hgraph_params to solve static value leak by @LHT129 in #221
- fix bug on generate vector by @ShawnShawnYou in #241
- fix arm compile error by @LHT129 in #240
- refresh build cache for aarch by @LHT129 in #258
- fix concurrent bug in update by @ShawnShawnYou in #266
- fix the issue of memory misalignment during the HNSW assignment process by @inabao in #263
New Features
- add data cell structure, flatten as example by @LHT129 in #37
- Add io component by @LHT129 in #59
- add sq4 quantizer and simd operators by @ShawnShawnYou in #41
- Add Graph Interface by @LHT129 in #62
- Support io direct read cross blocks by @LHT129 in #60
- Update quantization test & Add Serialize method by @LHT129 in #61
- enable allocator for io by @LHT129 in #79
- support int8 for hnsw by @inabao in #65
- enable allocator for quantizers by @LHT129 in #80
- introduce cosine for quantizations by @LHT129 in #101
- add graph_datacell and sparse_graph_datacell by @LHT129 in #96
- add hgraph param by @LHT129 in #111
- introduce hgraph by @LHT129 in #114
- implement sq4&sq4_uniform for flatten_datacell by @LHT129 in #117
- support cosine in diskann by @inabao in #98
- add range search for hgraph (only interface) by @LHT129 in #143
- add simd headers for sq8uniform by @LHT129 in #160
- sq8uniform simd implement by @LHT129 in #161
- update several minor in conjugate graph by @ShawnShawnYou in #147
- introduce the IndexFeature for user by @LHT129 in #155
- introduce sq8 uniform quantizer by @LHT129 in #169
- add general test for hgraph by @LHT129 in #181
- new method to manage resource in engine by @LHT129 in #194
- support in-place update operation for hnsw by @ShawnShawnYou in #196
- introduce feature list by @LHT129 in #199
- introduce feature for hgraph by @LHT129 in #210
- add sq8uniform for hgraph by @LHT129 in #236
- implement of the engine and rewrite factory by @LHT129 in #209
- add pyvsag package tool by @wxyucs in #233
Improvements
- add the limit of the number of threads when building diskann index by @inabao in #18
- handle the bad alloc exception in vector search by @wxyucs in #21
- use safe allocator in hnsw implementation by @wxyucs in #31
- fix macro typo in unittest by @wxyucs in #32
- add some basic structure for quantizer, io and simd operators by @LHT129 in #25
- add sq8 classical quantizer and simd operators by @LHT129 in #34
- make openblas always run with single thread by @wxyucs in #36
- remove redundant judgments during the HNSW search process by @inabao in #38
- change the memory allocator of the HNSW in stl to a custom memory allocator by @inabao in #46
- normalize the code by replacing abs with fabs by @inabao in #67
- support top-k search in test_performance by @inabao in #33
- using typing.h to define LabelType and InnerIdType by @LHT129 in #71
- mark filter object global, not only for hnswlib by @LHT129 in #74
- increase the upper limit of the index parameter max_degree by @wxyucs in #63
- make simd operators global (not only in simd/) by @LHT129 in #78
- update simd operators for special dims by @LHT129 in #77
- enable ccache in circleci by @wxyucs in #87
- add type check for io by @LHT129 in #84
- fix(extern): remove duplicate mkl_core path by @Coien-rr in #91
- enhance flatten_datacell functions by @LHT129 in #95
- update temp_dir struct by @LHT129 in #97
- use parallel for ci_test by @LHT129 in #94
- support filter in test performance by @inabao in #81
- chore: compile example only when required by @jiacai2050 in #102
- move common params check to class IndexCommonParam by @LHT129 in #109
- add basic index test by @LHT129 in #100
- optimize the simd operator by @LHT129 in #113
- increase third-party download time limit to fix occasional timeout by @wxyucs in #124
- simple example for hgraph by @LHT129 in #129
- alias some shared_ptr by @LHT129 in #134
- alias nlohmann::json to JsonType by @LHT129 in #133
- add new constants value: HGRAPH_GRAPH_MAX_DEGREE by @LHT129 in #131
- add error redirect to log file for CI by @LHT129 in #142
- avoiding test asan's nullptr memcpy&memcmp error by @LHT129 in #146
- split allocator_wrapper and default Allocator by @LHT129 in #145
- enable sq4&sq4_uniform in HGraph by @LHT129 in #151
- use TEST_CASE_PERSISTENT_FIXTURE instead TEST_CASE_METHOD by @LHT129 in #149
- delete unittest for hgraph by @LHT129 in #132
- speed up flatten by pass ref of shared_ptr by @LHT129 in #153
- add invalid check on build and search for hgraph by @LHT129 in #138
- move the Vector, UnorderMap, ... to typing.h by @LHT129 in #144
- simplify the train of sq by @LHT129 in #148
- enable fliter with exteral labels by @LHT129 in #135
- use shared lock for global mutex of hgraph by @LHT129 in #136
- introduce third party argparse for tools by @LHT129 in #159
- reduce the number of I/O operations for HNSW during deserialization by @inabao in #156
- trans hnsw to hgraph in search param parse by @LHT129 in #165
- ...