Skip to contents

bigANNOY 0.3.0

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