Skip to content

v0.18.0

Choose a tag to compare

@wxyucs wxyucs released this 29 Jan 07:59
9f7dca1

What's Changed

Bug Fixes

  • fix: remove invalid thirdparty header files installation path by @wxyucs in #1228
  • fix(sindi): bad alloc and bench issue caused by term id limit by @ShawnShawnYou in #1242
  • fix(sindi): fix parameter checkCompatibility in deserialize by @cubicc in #1266
  • fix(kmeans): fix kmeans unittest "0 == 161" bug by @LHT129 in #1259
  • fix(SINDI): sparse vector len check by @ShawnShawnYou in #1264
  • fix(hnsw): fix the OOM issue caused by large IDs by @inabao in #1313
  • fix(ci): fix some intermittent bugs on CI by @LHT129 in #1330
  • fix(python): fix python build by @hhy3 in #1344
  • fix(tsan): fix the tsan error on CI by @inabao in #1366
  • fix(ut): illegal instruction (sve) occurred on Apple Silicon by @wxyucs in #1372
  • fix(SINDI): fix term out of bound by @ShawnShawnYou in #1383
  • fix(leak): vt pool leak on concurrent search by @LHT129 in #1388
  • fix(deserialize): fix HNSW in 0.14 cannot parse indexes in 0.16 by @inabao in #1394
  • fix: correct allocator used to allocate neighbors_mutex by @wxyucs in #1378
  • fix(test): fix compile of memleak in clang by @inabao in #1405
  • fix: generate version when prepare and read in setup.py by @jac0626 in #1375
  • fix(sparse): fix core dump when get vector with invalid id by @ShawnShawnYou in #1410
  • fix(quantizer): fix sq8 code size being 8 times larger than expected by @ShawnShawnYou in #1416
  • fix(ci): decrease memory cost in CI compilation by @LHT129 in #1425
  • fix(Add): fix semantic issues when "recovery tombstone" fails by @ShawnShawnYou in #1419
  • fix(hgraph): fix the process of getting raw vector when using quantizer by @inabao in #1436
  • fix(example): solve storage location conflict in example 401 by @wxyucs in #1423
  • fix(hgraph): fix coredump due to extra_info_size inconsistency by @inabao in #1404
  • fix(hgraph): fix the asan issue in GetVectorByInnerId by @inabao in #1457
  • fix(LocalFileReader): fix thread safety issues in LocalFileReader by @inabao in #1409
  • fix(timer): fix the insufficient precision in timer's time measurement by @inabao in #1466
  • fix(static_link): fix vsag_static loss libio.a by @LHT129 in #1463
  • fix(hgraph): fix concurrency issues during hgraph insert by @inabao in #1431
  • fix(sindi): enable returns failed ID when inserting duplicate id by @inabao in #1486
  • fix(Hgraph): fix get memory usage bug after deserializaion by @LHT129 in #1529
  • fix(hgraph): fix coredump when concurrent building from empty index by @inabao in #1520
  • fix(analyzer): add nullptr check and copy query vectors in HGraphAnalyzer by @misaka0714 in #1528
  • fix(compile): remove outdated directory from tools/CMakeLists.txt by @wxyucs in #1549
  • fix iter search and add concurency by @shadowao in #1546
  • fix(hgraph): refactor label remap handling in SetImmutable by @misaka0714 in #1550

New Features

Improvements

  • tests: speedup daily test by reduce dims size by @LHT129 in #1226
  • improvement: share vt in hgraph's different layer by @LHT129 in #1225
  • tests: speedup daily test by remove some duplicate test by @LHT129 in #1232
  • tools: Support eval_dataset's Save H5 File by @LHT129 in #1229
  • refactor: avoiding similar declare in simd by @LHT129 in #1239
  • [skip ci]chore: update GitHub release workflow by @wxyucs in #1234
  • example(hgraph): int8 hgraph demo by @Coien-rr in #1209
  • refactor(ivf): move the residual processing logic in IVF down to the bucket level by @inabao in #1276
  • refactor(reorder): extract the reorder function into a class by @inabao in #1278
  • improvement: split implement of MemoryIO by @LHT129 in #1272
  • feat(StreamWriter): check vector not empty before writing it out by @wxyucs in #1277
  • chore(tsan): Ignore TSan checks in OpenMP's race by @LHT129 in #1300
  • improvement: performance of update vector by @ShawnShawnYou in #1289
  • chore(python): make build wheel only trigger by workflow_dispatch by @LHT129 in #1301
  • [skip ci]chore: add jac0626 to pyvsag reviewers by @wxyucs in #1322
  • chore: optimize script directory structure by @wxyucs in #1311
  • refactor(string): unify same string defination by @LHT129 in #1323
  • improvement: speed up kmeans on large dataset by @LHT129 in #1219
  • refactor(pyramid): refactor the parameters of the pyramid by @inabao in #1337
  • improvment: use multi thread for get_data_by_ids by @LHT129 in #1260
  • refactor(diskann): increase the upper bound of pq_dims in DiskANN by @inabao in #1319
  • refactor(safe_call): add exception handling for bad_alloc by @inabao in #1315
  • fix(ci): fix several issues that caused the CI to fail by @inabao in #1342
  • refactor(pyramid): support insert as primary construction method by @inabao in #1339
  • feat(pyramid): implement more fine-grained locks in pyramid by @inabao in #1350
  • refactor(compile): optimize the compile memory use by @LHT129 in #1357
  • improvement(ivf): balance parallel search on IVF by @LHT129 in #1351
  • refactor(index_impl): adjust the behavior when input data is empty by @inabao in #1365
  • feat(pyramid): supports queries with multiple paths and empty paths by @inabao in #1360
  • feat(hgraph): support reader_io in base quantizer and graph by @inabao in #1362
  • refactor(engine): add catching for new error types by @inabao in #1361
  • improvement(BruteForce): enhance brute_force by @LHT129 in #1377
  • chore(makefile): support set build options from environment variable by @wxyucs in #1382
  • refactor(sindi): support sindi in using a buffer during deserialization by @inabao in #1387
  • improvment(bruteforce): optimize concurrent add by @LHT129 in #1379
  • feat(pyramid): support reordering and timeout checks by @inabao in #1384
  • example: add python examples by @LHT129 in #1190
  • refactor(deserialize): increase time of deserialization per IO operation by @inabao in #1390
  • improvment(cmake): Support compile without libaio by @LHT129 in #1395
  • refactor(blas): collect all blas dependance to one by @LHT129 in #1392
  • refactor(sindi): revise sparse_term_datacell data structure to reduce memory by @Roxanne0321 in #1415
  • refactor(pyramid): optimize the reorder of the pyramid by @inabao in #1420
  • feat(sindi): support deseialize sindi without buffer by @inabao in #1437
  • refactor(hgraph): remove reverse label_table from immutable index by @inabao in #1443
  • improvment(parallel search): optimize hgraph parallel search by @LHT129 in #1352
  • chore(ci): increase GitHub Actions artifact retention-days by @wxyucs in #1462
  • improvement(pyramid): refactor some test for serialize by @LHT129 in #1471
  • script(compatibility): update newer version tag index by @LHT129 in #1478
  • refactor(diskann): convert some parameters into optional parameters by @inabao in #1490
  • tests(speedup): speedup functest by decrease count by @LHT129 in #1479
  • feat(pyramid): support Pyramid's deduplication capability by @inabao in #1473
  • chore(ci): mark push-main CI non-concurrency by @LHT129 in #1489
  • improvement(blas): speedup segmv on multi threads by @LHT129 in #1475
  • feat(pyramid): support static optimization for pyramid by @inabao in #1485
  • improvement(CI): try to fix some CI error by @LHT129 in #1492
  • fix(diskann): remove redundant code by @inabao in #1500
  • refactor(sindi): quantize SparseTermDatacell value to fp16 and sq8 by @Roxanne0321 in #1454
  • refactor(cast): use static_cast instead C-like cast by @LHT129 in #1452
  • refactor(index): refactor and optimize GetMemoryUsage by @LHT129 in #1470
  • feat(pyramid): support calculating distance by id in pyramid by @inabao in #1480
  • refactor(sindi): modify sindi memory estimate by @Ningsir in #1505
  • refactor(analyzer): extract the analyzer and expose statistical information by @inabao in #1488
  • tests(range): release range_search result count limit check by @LHT129 in #1517
  • refactor(pyramid): support pyramid parallel search capability by @inabao in #1510
  • enhance(sindi): improving performance through memory access optimization by @inabao in #1516
  • [skip ci]update CODEOWNERS by @LHT129 in #1530
  • chore(CI): add example check on asan test by @LHT129 in #1381
  • enhance(pyramid): support dynamically adjusting size of subindex search parameters by @inabao in #1508
  • chore(liburing): add liburing-dev on compile/runtime by @LHT129 in #1537
  • improvement(memory_usage): add more on memory usage by @LHT129 in #1538
  • chore(ci): add more example check on asan test by @inabao in #1539
  • enhance(sindi): implement backward compatibility for sindi by @inabao in #1544

Other Changes

New Contributors

Full Changelog: v0.17.0...v0.18.0