NEWS
bigANNOY 0.3.0 (2026-04-01)
- Add a true loaded-index lifecycle for the native C++ backend so repeated
searches can reuse a live Annoy handle instead of reloading from disk each
call.
- Add
annoy_is_loaded(), annoy_close_index(), and
annoy_validate_index() for explicit operational control over persisted
indexes.
- Extend index metadata with an index id, file size, file modification time,
file checksum, and load mode, and validate persisted files against those
recorded properties.
- Support eager and lazy load modes for built and reopened indexes.
- Accept
bigmemory descriptor objects and descriptor file paths anywhere the
package accepts big.matrix references, queries, or streamed output
destinations.
- Expand the benchmark layer to support user-supplied datasets, self-search
versus external-query benchmarks, saved CSV summaries, and validation of
built indexes as part of the benchmark workflow.
- Add tests covering eager/lazy loading, explicit close/reload, descriptor
inputs, corrupted metadata, and the richer benchmark interface.
bigANNOY 0.2.0
- Make the native C++ bigmemory backend the default execution path and keep
the R implementation as a debug-only fallback.
- Add explicit
annoy_open_index() and annoy_load_bigmatrix() helpers so
build and query workflows can be decoupled across sessions.
- Write and read sidecar metadata files alongside Annoy indexes, recording
metric, dimension, item count, tree count, package version, Annoy version,
build seed, build threads, and build backend.
- Extend metric support beyond Euclidean to include
"angular",
"manhattan", and "dot".
- Add v2 build/search controls including
seed, build_threads,
prefault, and block-size handling.
- Strengthen file-backed and persistence workflows for reference matrices,
destination matrices, and reopened indexes.
- Add exported benchmark helpers,
benchmark_annoy_bigmatrix() and
benchmark_annoy_recall_suite(), plus an installed benchmark runner in
inst/benchmarks/.
- Expand test coverage for file-backed matrices, separated-column matrices,
streaming outputs, metadata reload behavior, and native-versus-debug backend
parity.
bigANNOY 0.1.0
- First public version of the package for approximate nearest-neighbour search
on
bigmemory::big.matrix data with Annoy.
- Add the initial public API with
annoy_build_bigmatrix() and
annoy_search_bigmatrix().
- Support exact package-level result shapes aligned with
bigKNN, including
index, distance, k, metric, n_ref, n_query, exact, and
backend.
- Support Euclidean Annoy search for self-search and external-query workflows.
- Accept reference inputs as
big.matrix objects or external pointers, and
query inputs as NULL, dense numeric matrices, big.matrix objects, or
external pointers.
- Add streamed output support through destination
big.matrix objects for
neighbour indices and distances.
- Introduce the first native C++ bigmemory path for block reads and Annoy
build/search loops, alongside an R fallback backend.
- Add initial correctness, validation, and backend-parity tests plus an
installed benchmark script for moderate-size comparisons.