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.
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.
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.