Skip to content

Bump version to 0.53.0#1111

Merged
arkrishn94 merged 1 commit into
mainfrom
release-0.53.0
May 28, 2026
Merged

Bump version to 0.53.0#1111
arkrishn94 merged 1 commit into
mainfrom
release-0.53.0

Conversation

@arkrishn94
Copy link
Copy Markdown
Contributor

@arkrishn94 arkrishn94 commented May 28, 2026

DiskANN v0.53.0 Release Notes

Breaking Changes

An AI generated, human reviewed list of changes is summarized below.

Paged search overhauled — channel-based API (#1078)

PagedSearchState and its 'static-bound pause/resume model have been replaced with an async, channel-based interface. The recommended way to drive paged search is now via a tokio::sync::mpsc channel, with the searcher embedded in an otherwise-'static future. See the rendered RFC for the new shape. Callers wired against PagedSearchState must migrate to the channel API.

Users of paged search via wrapped_async::DiskANNIndex that know their inner futures will never suspend can use the new wrapped_async::DiskANNIndex::paged_search_no_await; this will efficiently run paged searches with minimal synchronization overhead.

DiskANNIndex::flat_search removed (#1076)

DiskANNIndex::flat_search and the IdIterator trait have been removed from the diskann crate. Equivalent functionality lives on the new inherent method DiskIndexSearcher::flat_search in diskann-disk. This unblocks the experimental directions in #1067 and #983.

// Before
diskann_index.flat_search(query, ...)?;

// After
disk_index_searcher.flat_search(query, ...).await?;

DiskIndexSearcher::flat_search now batched (#1097)

The new DiskIndexSearcher::flat_search uses the bulk pq_distances path instead of one-vector-at-a-time Accessor::build_query_computer + evaluate_similarity. Downstream behavior is equivalent but tighter resource bounds apply.

centroid removed from PQ interfaces (#1010)

The dataset-centroid argument has been removed from FixedChunkPQTable construction, populate, and most other PQ APIs. The shift only ever worked for L2 distance and was silently ignored for inner-product / cosine, so passing it was a footgun. When an L2 shift is required, fold it into the PQ pivots instead (the library now does this internally).

// Before
let table = FixedChunkPQTable::new(.., centroid, ..);

// After — drop the centroid argument
let table = FixedChunkPQTable::new(.., ..);

Flat search interface (#983)

A new flat module in diskann adds a provider-agnostic brute-force search surface, mirroring the shape of graph search. Backends implement a single trait, DistancesUnordered<C> (in flat/strategy.rs), which fuses iteration and distance computation, allowing any backend (in-memory, quantized, disk, remote) to plug into a shared algorithm. See the rendered RFC. This is additive but is the new canonical surface — direct ad-hoc flat-search call sites should migrate.

bf_tree extracted into diskann-bftree crate (#1020)

The bf_tree provider has been moved out of diskann-providers (previously at diskann-providers/src/model/graph/provider/async_/bf_tree/) into a new standalone diskann-bftree crate. Along with the move:

  • Switched from PQ to spherical quantization.
  • Dropped dependencies on DeletionCheck, AsDeletionCheck, and RemoveDeletedIdsAndCopy.
  • Simplified generics.

Consumers must update their Cargo.toml to depend on diskann-bftree and update import paths.

direct_distance_impl and inner_product_raw re-exposed (#1081)

direct_distance_impl (free function) and FixedChunkPQTable::inner_product_raw are pub again after being privatized in #1044. Restored to unblock a downstream user. Not breaking in the typical direction — this restores previously available API surface.

MinMax recompress takes a grid-scale parameter (#1109)

The MinMax recompress API now accepts a grid-scale parameter.

New Features

  • SIMD-optimized L2-squared norm (#1107)
  • Significantly faster bitmap computation (#1099)
  • Large speedup on the bitmap construction path used by filtered search.
  • LLVM IR bloat regression check in CI (#1083)
  • CI now flags regressions in generated LLVM IR size, helping catch unintended monomorphization blow-ups.
  • Recall computation fix for under-k groundtruth (#1069)

Merged PRs

Full Changelog: v0.52.0...v0.53.0

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Rust workspace’s crate versions to 0.53.0 to align the repository with the DiskANN v0.53.0 release described in the PR notes.

Changes:

  • Bumped [workspace.package] version from 0.52.00.53.0.
  • Updated internal workspace dependency version pins to 0.53.0.
  • Regenerated Cargo.lock to reflect the new crate versions.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.

File Description
Cargo.toml Bumps workspace/package version and internal workspace dependency versions to 0.53.0.
Cargo.lock Updates resolved package versions to 0.53.0 across the workspace.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov-commenter
Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.46%. Comparing base (e6c976f) to head (38ddb91).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1111      +/-   ##
==========================================
- Coverage   90.53%   89.46%   -1.08%     
==========================================
  Files         482      482              
  Lines       91092    91092              
==========================================
- Hits        82473    81497     -976     
- Misses       8619     9595     +976     
Flag Coverage Δ
miri 89.46% <ø> (-1.08%) ⬇️
unittests 89.11% <ø> (-1.39%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 44 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@JordanMaples
Copy link
Copy Markdown
Contributor

JordanMaples commented May 28, 2026

There's currently a bug in the bf_tree impl for the inplace delete flow for this version. I have a fix for it in #1106 coming. BF tree isn't published in this version of the project, so it should be fine to merge. This is more of an FYI

@arkrishn94 arkrishn94 merged commit f8bbf3e into main May 28, 2026
24 checks passed
@arkrishn94 arkrishn94 deleted the release-0.53.0 branch May 28, 2026 15:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants