Skip to content

chore(release): prepare v0.8.0 - #206

Merged
gouyt13 merged 1 commit into
mainfrom
release/v0.8.0
Nov 1, 2026
Merged

gouyt13 merged 1 commit into
mainfrom
release/v0.8.0

Conversation

@gouyt13

@gouyt13 gouyt13 commented Nov 1, 2026

Copy link
Copy Markdown
Member

Summary

Prepare the 0.8.0 release.

Testing

  • python -m mkdocs build --strict --config-file docs/mkdocs.yml, git diff --check, ./scripts/check-python.sh
  • ruff format --check .github/scripts, ruff check .github/scripts, python -m unittest discover -s .github/scripts -p 'test_*.py' (60 tests)
  • benchmarks/run.py on 3,000 synthetic 64-dim vectors with PYTHONWARNINGS=error::DeprecationWarning: rabitq-ivf, rabitq-hnsw, rabitq-symqg (--quantization-bits 0 and 4) all complete. With --threads 1, the old and new runner write byte-identical HNSW index files. This is a smoke test, not a performance measurement.

Downstream compatibility

Platform: Intel Xeon Gold 6418H, Ubuntu 22.04.5 (kernel 6.8.0), GCC 14.3, CMake 3.28.3. The txtai candidate is a package built from this branch's working tree with RABITQ_ENABLE_NATIVE_OPTIMIZATION=OFF. The zvec candidate is a git archive of 08bc325, this branch's base, whose library sources differ from this branch only in the version in CMakeLists.txt.

txtai master at 2a11bb1cfb (its RaBitQ backend last changed in 4d5e05f), Python 3.13, run in a temporary virtual environment:

python -m pytest test/python/testann/testdense/testrabitq.py
rabitqlib Result
0.7.2 (PyPI) 5 passed, 4 subtests passed
0.8.0 candidate 5 passed, 4 subtests passed; 74 warnings, all DeprecationWarning from txtai's use of the old IvfIndex/HnswIndex constructors and build

This covers the backend's IVF and HNSW build, query, save and load, and IVF append and delete. txtai keeps working in 0.8 but will break in 0.9 unless it moves to the 0.8 API.

zvec main at bc7a90b258, which pins RaBitQ-Library v0.7.0 (de793e8) as a submodule and builds core and FastScan only (RABITQ_BUILD_INDEX=OFF, OpenMP off). Configured with -DCMAKE_BUILD_TYPE=Release -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_TOOLS=OFF -DBUILD_C_BINDINGS=OFF; RABITQ_SOURCE_DIR pointed at the candidate archive.

Test v0.7.0 0.8.0 candidate
ivf_rabitq_streamer_test 24 passed 24 passed
hnsw_rabitq_streamer_test 9 passed 9 passed
rabitq_dispatch_test 1 passed 1 passed
hnsw_rabitq_index_test 4 passed 4 passed

The candidate requires one change in zvec: tests/core/algorithm/ivf_rabitq/ivf_rabitq_streamer_test.cc calls kbxsumq(), which #201 renamed to g_kbxsumq(). Without that change the test fails to compile (no member named 'kbxsumq'; did you mean 'g_kbxsumq'?); with it, all tests above pass. zvec's library sources need no change.

Not tested: other zvec targets and its Python bindings, txtai outside its RaBitQ test module, platforms other than Linux x86-64, and native-optimized builds downstream.

Performance

No performance measurement was made for this release. The k-means sampling benchmark was not run, and the 2,000-cluster threshold for QGKMeans in index train is unmeasured; the release notes say so. The published benchmarks keep their 0.7.1 provenance.

Merging this into main triggers the automatic release: once Test and Python Wheel succeed for the merge commit, Release wheels tags v0.8.0, publishes to PyPI and creates the GitHub Release.

Bump the version to 0.8.0, update install pins and version text, add the
0.8.0 release notes with their navigation entry and a README news entry,
and move benchmarks/run.py off the deprecated index call forms while
keeping its clustering protocol and recorded configuration.
@github-actions github-actions Bot added the release:maintenance Release category managed from the PR title label Nov 1, 2026
@gouyt13
gouyt13 merged commit 4768b74 into main Nov 1, 2026
61 of 63 checks passed
@gouyt13
gouyt13 deleted the release/v0.8.0 branch November 1, 2026 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:maintenance Release category managed from the PR title

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant