Skip to content

Releases: opensearch-project/k-NN

2.14.0.0

14 May 21:01
bd1c99f
Compare
Choose a tag to compare

Version 2.14.0.0 Release Notes

Compatible with OpenSearch 2.14.0

Features

  • Add k-NN clear cache api #740
  • Support radial search in k-NN plugin #1617
  • Support filter and nested field in faiss engine radial search #1652

Enhancements

  • Make the HitQueue size more appropriate for exact search #1549
  • Implement the Streaming Feature to stream vectors from Java to JNI layer to enable creation of larger segments for vector indices #1604
  • Remove unnecessary toString conversion of vector field and added some minor optimization in KNNCodec 1613
  • Serialize all models into cluster metadata #1499

Bug Fixes

  • Add stored fields for knn_vector type #1630
  • Enable script score to work with model based indices #1649

Infrastructure

  • Add micro-benchmark module in k-NN plugin for benchmark streaming vectors to JNI layer functionality. #1583
  • Add arm64 check when SIMD is disabled #1618
  • Skip rebuild from scratch after cmake is run #1636

2.13.0.0

02 Apr 23:03
328f501
Compare
Choose a tag to compare

Version 2.13.0.0 Release Notes

Compatible with OpenSearch 2.13.0

Enhancements

  • Optize Faiss Query With Filters: Reduce iteration and memory for id filter #1402
  • Detect AVX2 Dynamically on the System #1502
  • Validate zero vector when using cosine metric #1501
  • Persist model definition in model metadata [#1527] (#1527)
  • Added Inner Product Space type support for Lucene Engine #1551
  • Add Range Validation for Faiss SQFP16 #1493
  • SQFP16 Range Validation for Faiss IVF Models #1557

Bug Fixes

  • Disable sdc table for HNSWPQ read-only indices #1518
  • Switch SpaceType.INNERPRODUCT's vector similarity function to MAXIMUM_INNER_PRODUCT #1532
  • Add patch to fix arm segfault in nmslib during ingestion #1541
  • Share ivfpq-l2 table allocations across indices on load #1558

Infrastructure

  • Manually install zlib for win CI #1513
  • Update k-NN build artifact script to enable SIMD on ARM for Faiss #1543

Maintenance

  • Bump faiss lib commit to 32f0e8cf92cd2275b60364517bb1cce67aa29a55 #1443
  • Fix FieldInfo Parameters Mismatch #1490
  • Upgrade faiss to 12b92e9 #1509

2.12.0.0

28 Feb 16:39
e7a9192
Compare
Choose a tag to compare

Version 2.12.0.0 Release Notes

Compatible with OpenSearch 2.12.0

Features

  • Add parent join support for lucene knn #1182
  • Add parent join support for faiss hnsw #1398

Enhancements

  • Increase Lucene max dimension limit to 16,000 #1346
  • Tuned default values for ef_search and ef_construction for better indexing and search performance for vector search #1353
  • Enabled Filtering on Nested Vector fields with top level filters #1372
  • Throw proper exception to invalid k-NN query #1380

Bug Fixes

  • Fix use-after-free case on nmslib search path #1305
  • Allow nested knn field mapping when train model #1318
  • Properly designate model state for actively training models when nodes crash or leave cluster #1317
  • Fix script score queries not getting cached #1367
  • Fix KNNScorer to apply boost #1403
  • Fix equals and hashCode methods for KNNQuery and KNNQueryBuilder #1397
  • Pass correct value on IDSelectorBitmap initialization #1444

Infrastructure

  • Upgrade gradle to 8.4 1289
  • Refactor security testing to install from individual components #1307
  • Refactor integ tests that access model index #1423
  • Fix flaky model tests #1429

Maintenance

  • Update developer guide to include M1 Setup #1222
  • Upgrade urllib to 1.26.17 #1278
  • Upgrade urllib to 1.26.18 #1319
  • Upgrade guava to 32.1.3 #1319
  • Bump lucene codec to 99 #1383
  • Update spotless and eclipse dependencies #1450

2.11.0.0

16 Oct 19:20
916471a
Compare
Choose a tag to compare

Version 2.11.0.0 Release Notes

Compatible with OpenSearch 2.11.0

Enhancements

  • Added support for ignore_unmapped in KNN queries. #1071
  • Add graph creation stats to the KNNStats API. #1141

Maintenance

  • Update bytebuddy to 1.14.7 #1135

2.10.0.0

25 Sep 22:41
e437016
Compare
Choose a tag to compare

Version 2.10.0.0 Release Notes

Compatible with OpenSearch 2.10.0

Features

  • Add Clear Cache API (#740)

Enhancements

  • Enabled the IVF algorithm to work with Filters of K-NN Query. (#1013)
  • Improved the logic to switch to exact search for restrictive filters search for better recall. (#1059)
  • Added max distance computation logic to enhance the switch to exact search in filtered Nearest Neighbor Search. (#1066)

Bug Fixes

  • Update Faiss parameter construction to allow HNSW+PQ to work (#1074)

Maintenance

  • Update Guava Version to 32.0.1 (#1019)

Refactoring

  • Fix TransportAddress Refactoring Changes in Core (#1020)

2.9.0.0

24 Jul 19:50
591fff6
Compare
Choose a tag to compare

Version 2.9.0.0 Release Notes

Compatible with OpenSearch 2.9.0

Features

  • Added support for Efficient Pre-filtering for Faiss Engine (#936)
  • Add Support for Lucene Byte Sized Vector (#971)

2.8.0.0

06 Jun 19:14
f11f1f1
Compare
Choose a tag to compare

Version 2.8.0.0 Release Notes

Compatible with OpenSearch 2.8.0

Enhancements

  • Bulk allocate objects for nmslib index creation to avoid malloc fragmentation (#773)

Infrastructure

  • Bump requests version from 2.26.0 to 2.31.0 (#913)
  • Disable index refresh for system indices (#773)

Version 2.7.0.0

03 May 21:52
00d14d0
Compare
Choose a tag to compare

Version 2.7.0.0 Release Notes

Compatible with OpenSearch 2.7.0

Enhancements

  • Support .opensearch-knn-model index as system index with security enabled (#827)

Bug Fixes

  • Throw errors on model deletion failures (#834)

Infrastructure

  • Add filter type to filtering release configs (#792)
  • Add CHANGELOG (#800)
  • Bump byte-buddy version from 1.12.22 to 1.14.2 (#804)
  • Add 2.6.0 to BWC Version Matrix ((#810))
  • Bump numpy version from 1.22.x to 1.24.2 (#811)
  • Update BWC Version with OpenSearch Version Bump ((#813))
  • Add GitHub action for secure integ tests (#836)
  • Bump byte-buddy version to 1.14.3 (#839)
  • Set gradle dependency scope for common-utils to testFixturesImplementation (#844)
  • Add client setting to ignore warning exceptions (#850)

Refactoring

  • Replace Map, List, and Set in org.opensearch.common.collect with java.util references (#816)

Version 2.6.0.0

28 Feb 20:54
Compare
Choose a tag to compare

Version 2.6.0.0 Release Notes

Compatible with OpenSearch 2.6.0

Bug Fixes

  • Remove latestSettings cache from KNNSettings (#727)

Infrastructure

  • Add p99.9, p100 and num_of_segments metrics to perf-tool (#739)
  • Update bwc to 2.6.0-SNAPSHOT (#723)
  • Add Windows Support to BWC Tests (#726)
  • Add test for KNNWeight (#759)
  • Set NoMergePolicy for codec tests (#754)

Maintenance

  • Replace KnnQueryVector by KnnFloatVectorQuery for Lucene knn (#767)

Refactoring

  • Refactor structure of stats module (#736)

Version 2.5.0.0

24 Jan 22:57
161ae13
Compare
Choose a tag to compare

Version 2.5.0.0 Release Notes

Compatible with OpenSearch 2.5.0

Enhancements

  • Extend SystemIndexPlugin for k-NN model system index (#630)
  • Add Lucene specific file extensions to core HybridFS (#721)

Bug Fixes

  • Add fix to fromXContent and toXContent in ModelGraveyard (#624)
  • Allow mapping service to be null for scenarios of shard recovery from translog (#685)
  • Add backward compatibility and validation checks to ModelGraveyard XContent bug fix (#692)

Infrastructure

  • Add benchmark workflow for queries with filters (#598)
  • Fix failing codec unit test (#610)
  • Update bwc tests for 2.5.0 (#661)
  • Add release configs for lucene filtering (#663)
  • Update backwards compatibility versions (#701)
  • Update tests for backwards codecs (#710)

Documentation

  • Update MAINTAINERS.md format (#709)

Maintenance

  • Fix the codec94 version import statements (#684)
  • Add integ test for index close/open scenario (#693)
  • Make version of lucene k-nn engine match lucene current version (#691)
  • Increment version to 2.5.0-SNAPSHOT (#632)