Skip to content

Latest commit

 

History

History
537 lines (360 loc) · 39.3 KB

CHANGELOG.md

File metadata and controls

537 lines (360 loc) · 39.3 KB

Changelog

4.0.0-beta.4 (2025-04-15)

Full Changelog

Merged pull requests:

4.0.0-beta.3 (2025-04-09)

Full Changelog

Implemented enhancements:

Merged pull requests:

4.0.0-beta.2 (2025-04-02)

Full Changelog

Merged pull requests:

4.0.0-beta.1 (2025-01-09)

Full Changelog

Merged pull requests:

3.0.6 (2024-12-24)

Full Changelog

Merged pull requests:

3.0.5 (2024-12-23)

Full Changelog

Merged pull requests:

  • Release 3.0.5 #376 (jkni)
  • add GraphIndexBuilder.rescore() for use by C* CompactionGraph #375 (jbellis)

3.0.4 (2024-12-03)

Full Changelog

Merged pull requests:

  • Release 3.0.4 #373 (jkni)
  • Don't use segment hashCode in MemorySegmentVectorFloat #372 (jkni)
  • Release 3.0.3 #371 (jkni)
  • Store compressed vectors in dense ByteSequence for PQVectors #370 (michaeljmarshall)
  • Reenable SimdOps.assembleAndSum; implement Panama/Native equivalent for CosineDecoder acceleration #368 (michaeljmarshall)
  • Use fma in VectorSimdOps.cosineSimilarity #366 (jkni)
  • Release 3.0.2 #364 (jkni)
  • Use fma in SimdOps.cosineSimilarity sum vector #363 (jkni)
  • Remove max JDK version check #362 (jkni)

3.0.1 (2024-09-30)

Full Changelog

Merged pull requests:

  • Release 3.0.1 #361 (jkni)
  • Improve performance of reconnectOrphanedNodes #359 (jkni)
  • Use float in cosine metric final calculation in default vectorization provider #358 (k-jamroz)
  • approximateMediod returns a random node when the graph is too disconnected to search for the centroid #356 (jbellis)
  • Remove check for VBMI on CPU #352 (jkni)
  • Set IdentityMapper maxOrdinal correctly in Grid/SiftSmall. #351 (jkni)

3.0.0 (2024-08-13)

Full Changelog

Merged pull requests:

3.0.0-beta.16 (2024-08-01)

Full Changelog

Merged pull requests:

  • Release 3.0.0-beta.16 #350 (jkni)
  • add support for non-sequential remapped ordinals #349 (jbellis)
  • fix global centering and add test that raw computation equals precomputed #346 (jbellis)

3.0.0-beta.15 (2024-07-03)

Full Changelog

Merged pull requests:

3.0.0-beta.14 (2024-07-02)

Full Changelog

Merged pull requests:

  • Release 3.0.0-beta.14 #342 (jkni)
  • cache reranked scores to avoid redoing expensive work when resuming #341 (jbellis)
  • extract RandomAccessWriter interface from BRAW #340 (jbellis)

3.0.0-beta.13 (2024-06-07)

Full Changelog

Merged pull requests:

  • Release 3.0.0-beta.13 #338 (jkni)
  • Clear scratch structures if search terminates exceptionally #337 (jkni)
  • Reduce tendency of reconnectOrphanedNodes to leave orphaned nodes #335 (jkni)

3.0.0-beta.12 (2024-05-29)

Full Changelog

Merged pull requests:

  • Release 3.0.0-beta.12 #334 (jkni)
  • add writeHeader and getPath methods to OnDiskGraphIndexWriter #332 (jbellis)

3.0.0-beta.11 (2024-05-28)

Full Changelog

Merged pull requests:

  • Release 3.0.0-beta.11 #331 (jkni)
  • Implement support for COSINE in fused ADC #329 (jkni)
  • Ecapsulate NodeArray internals #328 (jbellis)
  • Remove on-disk reranking #327 (jbellis)
  • Reduce the per-node overhead of edge lists in OnHeapGraphIndex #325 (jbellis)
  • standardize ReaderSupplier implementations as inner classes of their respective RandomAccessReaders, and add a Supplier for SimpleReader #323 (jbellis)

3.0.0-beta.10 (2024-05-17)

Full Changelog

Merged pull requests:

3.0.0-beta.9 (2024-05-13)

Full Changelog

Merged pull requests:

  • Release 3.0.0-beta.9 #319 (jkni)
  • Release 3.0.0-beta.8 #318 (jkni)
  • always rerank at least the best result found so that caller will have something with which to compare this index's results to others' #317 (jbellis)
  • improve memory usage during construction #316 (jbellis)
  • add getFeatureSet methods to ODGI and ODGIW #315 (jbellis)

3.0.0-beta.7 (2024-05-08)

Full Changelog

Merged pull requests:

3.0.0-beta.6 (2024-05-06)

Full Changelog

Merged pull requests:

  • Release 3.0.0-beta.6 #311 (jkni)
  • add rerankK to GraphSearcher::search, and worstApproximateScoreInTopK to SearchResult #310 (jbellis)

3.0.0-beta.5 (2024-05-03)

Full Changelog

Merged pull requests:

  • Release 3.0.0-beta.5 #309 (jkni)
  • add ability to write old versions of PQ and ODGI. current version standardized as 3 to avoid confusion #308 (jbellis)
  • Check for GCC 11+ instead of failing compile #307 (jkni)
  • Fix usage of Float.MIN_VALUE #306 (jkni)

3.0.0-beta.4 (2024-05-02)

Full Changelog

Merged pull requests:

  • Release 3.0.0-beta.4 #305 (jkni)
  • Switch Fused ADC from 32-cluster to 256-cluster PQ, maxDegree 32 graphs #304 (jkni)
  • GraphIndexBuilder implements Closeable instead of AutoCloseable #302 (jbellis)

3.0.0-beta.3 (2024-04-22)

Full Changelog

Merged pull requests:

  • Release 3.0.0-beta.3 #301 (jkni)
  • Flesh out support for reranking from inline full/lvq vectors while building graph using pq #300 (jbellis)
  • add OrdinalMapper for when can't compute a static map before constructing the OnDiskGraphIndexWriter #299 (jbellis)
  • Reuse backing ByteSequence for LVQ vectors in ODGI #298 (jkni)
  • Add a memory-mapped RandomAccessReader using MemorySegment api #296 (mdogan)

3.0.0-beta.2 (2024-04-16)

Full Changelog

Merged pull requests:

3.0.0-beta.1 (2024-04-12)

Full Changelog

Merged pull requests:

  • Release 3.0.0-beta.1 #276 (jkni)
  • Incremental graph writes, ODGI abstraction allowing features to be combined #275 (jkni)
  • remove (broken) concurrency support from removeDeletedNodes #273 (jbellis)
  • Reduce allocation by pooling GraphSearcher objects #270 (jbellis)
  • Optimize GraphSeacher.visited using inthashset #269 (jbellis)
  • Fix packing of LVQ vector dimensionalities not divisible by 64. Introduce test for LVQ similarity. #268 (jkni)
  • Remove PQVectors from ADCGraphIndex #267 (jkni)
  • make Test2DThreshold less fragile #266 (jbellis)
  • Enable JDK 22 CI #258 (jkni)
  • Merge 3.0-alpha #256 (jkni)
  • Use AVX-512 reduce-add intrinsics #252 (jkni)
  • Remove conditional dotProduct/squareDistance in NativeVectorUtilSupport #251 (jkni)
  • only compute aMagnitude for cosines once, since it is independent of the query vector #250 (jbellis)
  • Fix bytesToRead math in MMapReader.read(int[], int, int) #249 (jkni)
  • Concurrent deletes #248 (jbellis)
  • Replace NormalDistributionTracker with TwoPhaseTracker #247 (jbellis)
  • Use on-heap MemorySegments for native vectors/sequences #246 (jkni)
  • Build indexes using compressed vectors #244 (jbellis)
  • Reduce repetition in Bench. Factor out more concise methods. #243 (jkni)
  • add a diverseBefore marker to avoid recomputing diversity that hasn't changed #242 (jbellis)
  • Fix Bench timings on paths performing multiple types of queries #240 (jkni)
  • Corrected relative path to access Siftsmall example files #239 (rd-99)
  • Fix TestVectorSimilarityFunction test. Add missing license. #237 (jkni)
  • Fix indexing into MemorySegment when loading/storing from FloatVector in scale #236 (jkni)
  • Bump version to account for 3.0-alpha branch release #234 (jkni)
  • Improve quality of bindings with newer jextract version #229 (jkni)
  • Improve performance of native vectorization provider #224 (jkni)
  • Anisotropic PQ #201 (jbellis)
  • Vector abstractions, native code, and fused graphs #191 (jkni)

3.0.0-alpha.7 (2024-03-19)

Full Changelog

Merged pull requests:

  • Release 3.0.0-alpha.7 #255 (jkni)
  • use euclidean similarity for centroid search if the centroid is zero and the index uses cosine similarity #221 (jbellis)
  • DenseIntMap concurrency #219 (jbellis)
  • Fix flaky ProductQuantization test #217 (jkni)

3.0.0-alpha.6 (2024-02-26)

Full Changelog

Merged pull requests:

3.0.0-alpha.5 (2024-02-09)

Full Changelog

Merged pull requests:

  • Release 3.0.0-alpha.5 #216 (jkni)
  • Fix GraphIndexBuilder.reconnectOrphanedNodes #215 (mdogan)

3.0.0-alpha.4 (2024-02-08)

Full Changelog

Merged pull requests:

3.0.0-alpha.3 (2024-02-08)

Full Changelog

Merged pull requests:

  • Release 3.0.0-alpha.3 #210 (jkni)
  • add PQ.refine for when you already built PQ once for a similar set of vectors #209 (jbellis)
  • optimize reconnectOrphanedNodes #208 (jbellis)
  • Attempt 3 at cleaning up the threadlocal leaks #206 (jbellis)
  • Auto-boxing/unboxing reductions, reduce boxed footprint on heap #202 (jkni)
  • Remove overzealous dependency exclusion affecting util-mmap #200 (jkni)
  • Fix/document unclosed views #195 (jkni)
  • Improve GraphIndexBuilder#cleanup doc for concurrent searches #190 (mdogan)

3.0.0-alpha.2 (2024-01-10)

Full Changelog

Merged pull requests:

3.0.0-alpha.1 (2024-01-03)

Full Changelog

Merged pull requests:

  • Release 3.0.0-alpha.1 #179 (jkni)
  • Don't create new ScoreTracker.NoOpTracker each time #178 (dlg99)
  • Fix DenseIntMap size #177 (mdogan)
  • Make GraphIndexBuilder.markNodeDeleted thread-safe #175 (mdogan)
  • Remove caching of vectors encountered during search, update reranker interface accordingly #173 (jbellis)
  • Parallelize GraphIndexBuilder.removeDeletedNodes() #172 (mdogan)

2.0.5 (2023-12-21)

Full Changelog

Merged pull requests:

2.0.4 (2023-11-10)

Full Changelog

Merged pull requests:

  • Release 2.0.4 #151 (jkni)
  • vectorsEncountered not always in sync with resultQueue, causing NPE when breaking out of loop due to threshold probability #150 (jbellis)
  • Run verify phase in CI (which includes license checks) #149 (jkni)

2.0.3 (2023-11-08)

Full Changelog

Merged pull requests:

2.0.2 (2023-11-07)

Full Changelog

Merged pull requests:

2.0.1 (2023-11-07)

Full Changelog

Merged pull requests:

  • Release 2.0.1 #144 (jkni)
  • add getOriginalSize and getCompressedSize to CompressedVectors interface #143 (jbellis)
  • Cherry-pick various bench improvements from PR #76. #133 (jkni)

2.0.0 (2023-11-06)

Full Changelog

Merged pull requests:

  • Release 2.0.0 #142 (jkni)
  • Fix running single test using Maven commandline #141 (jkni)
  • Reconnect orphaned nodes in cleanup() #138 (jbellis)
  • Add binary quantization #135 (jbellis)
  • Updated download helper #134 (msmygit)
  • CI improvement #131 (jkni)
  • downloads wikipedia fvec files for 100k, switched to squad based query vectors #130 (phact)
  • Addresses issue #36 by adding license header checks. Added headers on… #129 (zznate)
  • Adds DenseIntMap for building graph with much less contention. back to zero dependency! #128 (tjake)
  • Ipcexample #127 (tjake)
  • Fix num/denom distortion for first round of assignments when clustering #121 (jkni)
  • Deletes #117 (jbellis)

1.0.2 (2023-10-09)

Full Changelog

Merged pull requests:

  • Release 1.0.2 #120 (jkni)
  • fix mergeNeighbors to not add duplicate nodes, and fix test to check for duplicates #119 (jbellis)
  • Mt index build fixes #113 (tjake)
  • Fork test VM per core #111 (jkni)
  • Add improved test coverage for on-disk graph caching #109 (jkni)

1.0.1 (2023-10-02)

Full Changelog

Merged pull requests:

1.0.0 (2023-09-29)

Full Changelog

Merged pull requests:

  • Release 1.0.0 #107 (jkni)
  • Fix SimpleMappedReader to respect offset #106 (jkni)
  • Adjust PQ clustering parameters based on experimentation #105 (jkni)
  • Add simd approach for summing the cached PQ products of each encoded vector #104 (tjake)
  • README tweaks #101 (bradfordcp)
  • KMeansPlusPlusClusterer optimizations #100 (jkni)

0.9.3 (2023-09-25)

Full Changelog

Merged pull requests:

  • Release 0.9.3 #99 (jkni)
  • Remove triangle inequality from k means plus plus #98 (jkni)
  • Clean up all build warnings related to multimodule versioning. #97 (jkni)
  • wikipedia datasets in readme #95 (phact)
  • Fragment cache #94 (jbellis)
  • Add decodedCosine fast path #91 (jkni)
  • Implement optimized decoded square distance #89 (jkni)
  • Fix code coverage in IntelliJ #88 (jkni)
  • Fix recall regression for centered PQ with non-dot product metrics #84 (jkni)
  • move sharing from annotation to method; use that in PQ #83 (jbellis)
  • Refactor tests into jvector-tests module. Set up configurations to be able to run tests with JDK11 features and JDK20 features. #75 (jkni)

0.9.2 (2023-09-18)

Full Changelog

Merged pull requests:

0.9.1 (2023-09-15)

Full Changelog

Merged pull requests:

  • Release 0.9.1 #72 (jkni)
  • Change package from com.github.jbellis to io.github.jbellis #71 (jkni)

0.9.0 (2023-09-14)

Merged pull requests: