Skip to content

Releases: AlayaDB-AI/AlayaLite

v1.0.4

Choose a tag to compare

@github-actions github-actions released this 22 Jul 12:58
87a79a2

What's Changed

Full Changelog: v1.0.3...v1.0.4

v1.0.3

Choose a tag to compare

@github-actions github-actions released this 07 Jul 10:16

Highlights

Yi-aligned DiskANN update path, coroutine-based async I/O, and search hot-path optimizations — targeting 100M+ scale search throughput.

What's New

Query-level coroutine pipelining

search_pipelined() drives concurrent query coroutines over a shared io_uring reactor. Each query suspends on beam-wave reads instead of parking a thread; throughput follows Little's law. Requires update_io=uring.

Batched PQ distance kernel

pq_distance_batch() gathers code rows into a contiguous stack tile with software prefetch, then accumulates chunk-major so the dist_table row stays L1-hot. Eliminates the per-neighbor dependent random 32B code fetch that dominated eval at 100M scale. Bit-identical to the scalar path.

Coroutine async update I/O

The update path uses a cooperatively-polled io_uring reactor for asynchronous disk I/O, replacing blocking threads during page reads/writes.

Unified page pool

Searches peek and fill the shard page cache, so hot pages written by updates are visible to subsequent searches without cold reads.

Performance improvements

  • Dirty-word visited bitset: clear() costs O(words set) instead of full-array memset, removing ~12MB per-query DRAM bandwidth wall at 100M slots.
  • Page cache node recycling: at steady-state capacity, write() splices the LRU victim's map node and 4KB buffer in-place instead of erase+alloc.
  • Tombstone snapshot skip: make_search_snapshot() skips bitmap copy when count is zero — zero overhead on the common post-compaction path.

Build & tooling

  • Modular CMake rewrite with presets-based layout
  • Official Conan dependency provider replaces hand-rolled scripts
  • make format now routes through pre-commit pinned formatters (no more version-drift)
  • Python runtime dependencies corrected; rag subpackage repaired

Fixes

  • Portable alaya::prefetch_l3() replaces __builtin_prefetch for MSVC compatibility
  • io_engine.hpp adds <io.h> and ssize_t typedef for Windows builds
  • uring_reactor_test gated behind Linux platform check

What's Changed

  • perf(diskann): Yi-aligned update path, async I/O, and search hot-path optimizations by @huanglune in #103

Full Changelog: v1.0.2...v1.0.3

v1.0.2

Choose a tag to compare

@github-actions github-actions released this 30 Jun 15:21

What's Changed

  • perf(diskann): reduce search scratch allocations by @huanglune in #101
  • fix(python): preserve API state on failed operations by @huanglune in #102

Full Changelog: v1.0.1...v1.0.2

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 20 Jun 16:42
410523c

What's Changed

  • feat(diskann): self-contained DiskANN disk index with in-place updates by @huanglune in #99

Full Changelog: v1.0.0...v1.0.1

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 22 May 13:40
dc7de06

What's Changed

  • ci: enable Windows build and skip Python 3.8 on Windows by @huanglune in #61
  • ci: add pre-commit hook to auto detect Chinese characters by @huanglune in #63
  • docs: add community documentation and templates by @huanglune in #64
  • fix: update rag example dependency by @Carl-Rabbit (0339b41)
  • fix: try resolve by @Carl-Rabbit (cdc3048)
  • feat: add scalar storage, hybrid search, and recovery support by @ScissorJack-ever in #67
  • feat(disk,laser,python): DiskCollection batch_search, LASER unified fit, thread-safety, CI hardening by @huanglune
    in #75
  • feat(laser): warmup path fix and PCA write optimization by @huanglune in #77
  • test(bench): consolidate benchmark smoke tests by @huanglune in #78
  • chore(repo): require scope in commit messages and PR titles by @huanglune in #79
  • chore(license): relicense to AGPL-3.0 and adopt REUSE/SPDX by @huanglune in #80
  • fix(rabitq): improve portable builds and wheel CI by @ScissorJack-ever in #76
  • chore(recovery): harden WAL snapshot handling by @ScissorJack-ever in #81
  • ci(code-checker): remove duplicate python unit gate by @ScissorJack-ever in #85
  • refactor(pybind,python): codegen-driven index dispatch by @huanglune in #86
  • fix(build): resolve generic cc/c++ to canonical compiler for Conan detect by @huanglune in #87
  • fix(laser,executor): stabilize LASER QG search validation by @huanglune in #88
  • fix(storage): enforce unique scalar item ids by @ScissorJack-ever in #82
  • feat(vamana): log build progress with ETA and 60s heartbeat by @huanglune in #89
  • feat(laser,simd): runtime SIMD dispatch with AVX-512BW selection by @huanglune in #90
  • feat(ci,laser): portable LASER I/O backend with libaio-vs-threadpool CI by @huanglune in #91
  • feat(laser,windows): add IOCP I/O backend and enable Windows wheel lane by @huanglune in #93
  • chore(release): v1.0.0 by @huanglune in #94
  • ci(code-checker): skip commit-format-check on push to main by @huanglune (4feed59)
  • ci(cibuildwheel): trigger on v* tags, attach wheels to release + PyPI by @huanglune (5ffb64e)
  • docs(readme): add hybrid search quickstart and benchmark by @ScissorJack-ever in #97

Full Changelog: v0.1.1a1...v1.0.0

v0.1.1a1

Choose a tag to compare

@huanglune huanglune released this 30 Jan 03:23
f6ef10c

What's Changed

  • perf: optimize CI test execution with parallel testing and micro dataset by @huanglune in #51
  • refactor: Refactor build system and add SIMD optimizations by @huanglune in #53
  • refactor: Improve Makefile and fix compiler warnings by @huanglune in #57
  • ci: add cibuildwheel support for Linux and macOS multi-arch builds by @huanglune in #59

Full Changelog: v0.1.0a3...v0.1.1a1

v0.1.0a3 - Alpha Release

Pre-release

Choose a tag to compare

@huanglune huanglune released this 13 Nov 07:31
8f1284f

What's Changed

Full Changelog: v0.1.0a2...v0.1.0a3

v0.1.0a2 - Alpha Release

Choose a tag to compare

@huanglune huanglune released this 30 Sep 09:21
9b0a520

What's Changed

New Contributors

Full Changelog: https://github.com/AlayaDB-AI/AlayaLite/commits/v0.1.0a2

v0.1.0a1 - Alpha Release

Choose a tag to compare

@huanglune huanglune released this 03 Jul 12:38

This is the very first alpha release of Alayalite.

This version provides the core functionalities of Alayalite, intended for early testing and feedback.

Installation:
You can install this alpha version using pip:
pip install alayalite==0.1.0a1

Important Notes:

  • This is an early preview and may contain bugs or breaking changes in future versions.
  • We welcome any issues or suggestions via GitHub Issues.