Skip to content

Releases: milvus-io/milvus

milvus-0.10.2

15 Aug 06:33
cd689fd
Compare
Choose a tag to compare

Release date:2020-8-15

Compatibility

Milvus version Python SDK version Java SDK version Go SDK version
0.10.2 0.2.14 0.8.4 0.4.4

Improvements

  • Improved IVF search performance when both nq and nprobe are large. #2653

Fixed issues

  • Inaccurate calculation of the memory allocated for index files. #2890
  • Search result sets based on IVF_PQ index with IP metric are incorrectly merged in situations where multiple segments are produced for the inserted data. #2952
  • The server crashes if you set cache.cache_size smaller than the size of an index file in a multi-GPU scenario. #3012
  • Search result sets based on IP metric are incorrectly merged, if you insert vectors to multiple partitions in Mishards. #3133

See CHANGELOG for more information.

milvus-0.10.1

20 Jul 10:16
7a59447
Compare
Choose a tag to compare

Release date:2020-7-20

Compatibility

Milvus version Python SDK version Java SDK version Go SDK version
0.10.1 0.2.14 0.8.3 0.4.3

Fixed issues

  • Occasionally, the result count does not match the query count. #2578
  • IVF_PQ does not support IP on GPU-enabled Milvus. #2585
  • Milvus reports "illegal instruction" when running on some legacy CPUs. #2598
  • Updated the range of HNSW settings. #2637
  • Milvus processes crash when building an index. #2642
  • The default ANNOY settings do not match the settings specified in the document. #2649
  • Milvus does not respond under a stress test. #2692
  • The precision of the returned vectors is incorrect in an HTTP interface. #2752
  • The upper limit of nprobe is incorrect on the GPU-enabled Milvus. #2767
  • The number of the vectors changes occasionally after building an index. #2768

See CHANGELOG for more information.

milvus-0.8.1

22 Jun 10:14
243ae30
Compare
Choose a tag to compare

Release date:2020-6-22

Compatibility

Milvus version Python SDK version Java SDK version Go SDK version
0.8.1 0.2.10 0.7.0 0.3.0

Fixed issues

  • Index files are missing after a compact operation. #1997
  • Too many files are opened when metric_config.enable_monitor is set to true. #2264
  • The server hangs when multiple clients query different collections at the same time. #2266
  • nlist set by the user may not take effect. #2399
  • Deleted vectors are still found in GPU-enabled Milvus. #2450

See CHANGELOG for more information.

milvus-0.10.0

15 Jun 16:34
dae3bea
Compare
Choose a tag to compare

Release date:2020-6-15

Compatibility

Milvus version Python SDK version Java SDK version Go SDK version
0.10.0 0.2.13 0.8.2 0.4.2

Compatibility changes

  • Updates the Milvus configuration file. #2510

Improvements

  • Optimizes the index building performance when many small segments exist. #2373
  • FAISS is upgraded to 1.6.3. #2381
  • Optimizes dropping collection performance when too many partitions exist. #2394
  • Optimizes the implementation of k-selection algorithm for GPU-enabled Milvus. #2466

Fixed issues

  • The search performance degrades on Milvus 0.9.1. #2429

See CHANGELOG for more information.

milvus-0.9.1

29 May 06:25
21b61c7
Compare
Choose a tag to compare

Release date:2020-5-29

Compatibility

Milvus version Python SDK version Java SDK version Go SDK version
0.9.1 0.2.12 0.8.1 0.4.1

Fixed issues

  • In a multi-partition situation, data is inserted twice after the server reboots. #2378
  • A cudaMalloc failure occurs with GPU IVF index when nq (number of queries) is high. #2395.
  • Deleted vectors are still found in GPU-enabled Milvus. #2450

See CHANGELOG for more information.

milvus-0.9.0

15 May 11:36
7d7a67a
Compare
Choose a tag to compare

Release date:2020-5-15

Compatibility

Milvus version Python SDK version Java SDK version Go SDK version
0.9.0 0.2.11 0.8.0 0.4.0

New features

  • Checks the CPU instruction set, GPU driver version, and CUDA version, when Milvus starts up. #2054 #2111
  • Prevents multiple Milvus instances from accessing the same Milvus database at the same time. #2059
  • Supports log file rotating. #2206
  • Suspends index building when a search request comes in. #2283

Improvements

  • Refactors log output. #221
  • Upgrades OpenBLAS to improve Milvus' performance. #1796
  • Unifies the vector distance calculation algorithms among FAISS, NSG, HNSW, and ANNOY. #1965
  • Supports SSE4.2 instruction set. #2039
  • Refactors the configuration files. #2149 #2167
  • Uses Elkan K-means algorithm to improve the IVF index performance. #2178

Fixed issues

See CHANGELOG for more information.

API changes

Added methods
C++ Python Java Go
HasPartition has_partition hasPartition HasPartition
Changed methods
C++ Python Java Go
Earlier than v0.9.0 DescribeCollection describe_collection describeCollection DescribeCollection
v0.9.0 GetCollectionInfo get_collection_info getCollectionInfo GetCollectionInfo
C++ Python Java Go
Earlier than v0.9.0 CountCollection count_collection getCollectionRowCount CountCollection
v0.9.0 CountEntities count_entities countEntities CountEntities
C++ Python Java Go
Earlier than v0.9.0 ShowCollections show_collections showCollections ShowCollections
v0.9.0 ListCollections list_collections listCollections ListCollections
C++ Python Java Go
Earlier than v0.9.0 ShowCollectionInfo collection_info showCollectionInfo ShowCollectionInfo
v0.9.0 GetCollectionStats get_collection_stats getCollectionStats GetCollectionStats
C++ Python Java Go
Earlier than v0.9.0 DescribeIndex describe_index describeIndex DescribeIndex
v0.9.0 GetIndexInfo get_index_info getIndexInfo GetIndexInfo
C++ Python Java Go
Earlier than v0.9.0 ShowPartitions show_partitions showPartitions ShowPartitions
v0.9.0 ListPartitions list_partitions listPartitions ListPartitions
C++ Python Java Go
Earlier than v0.9.0 GetEntitiesByID get_vectors_by_ids getVectorsByIds GetVectorsByID
v0.9.0 GetEntityByID get_entity_by_id getEntityByID GetEntityByID
C++ Python Java Go
Earlier than v0.9.0 GetIDsInSegment get_vector_ids getVectorIds GetEntityIDs
v0.9.0 ListIDInSegment list_id_in_segment listIDInSegment ListIDInSegment
C++ Python Java Go
Earlier than v0.9.0 N/A search_in_files searchInFiles N/A
v0.9.0 N/A search_in_segment DELETED N/A
C++ Python Java Go
Earlier than v0.9.0 DeleteByID delete_by_id deleteByIds DeleteByID
v0.9.0 DeleteEntityByID delete_entity_by_id deleteEntityByID DeleteEntityByID
C++ Python Java Go
Earlier than v0.9.0 PreloadCollection preload_collection preloadCollection PreloadCollection
v0.9.0 LoadCollection load_collection loadCollection LoadCollection
C++ Python Java Go
Earlier than v0.9.0 FlushCollection and Flush flush flush and flushAsync Flush
v0.9.0 Flush UNCHANGED UNCHANGED UNCHANGED
C++ Python Java Go
Earlier than v0.9.0 CompactCollection and Compact compact compact and compactAsync Compact
v0.9.0 Compact UNCHANGED UNCHANGED UNCHANGED
C++ Python Java Go
Earlier than v0.9.0 Connect connect connect Connect
v0.9.0 UNCHANGED DELETED UNCHANGED UNCHANGED
C++ Python Java Go
Earlier than v0.9.0 Connected connected isConnected IsConnected
v0.9.0 UNCHANGED DELETED UNCHANGED UNCHANGED
C++ Python Java Go
Earlier than v0.9.0 Disconnect disconnect disconnect Disconnect
v0.9.0 UNCHANGED DELETED UNCHANGED UNCHANGED

milvus-0.8.0

15 Apr 09:48
423098d
Compare
Choose a tag to compare

Compatibility

Milvus version Python SDK version Java SDK version Go SDK version
0.8.0 0.2.10 0.7.0 0.3.0

New features

  • ANNOY index support

    Added support for ANNOY index type. Refer to our documentation for more information. #261

  • Vector deletion

    Added support to delete one or multiple vectors for more index types. #1655 #1660 #1661 #1849

    Including: Flat/IVFlat/IVFPQ/IVFSQ8/IVFSQ8H/NSG/HNSW/ANNOY

Enhancements

  • Added new metric SuperStructure and SubStructure in HTTP module. #1784

Bug fixes

  • Limited the maximum number of partitions to 4096. #1276
  • Forbidden to create partition with name _default. #1762
  • Resolved the issue that concurrent operations from multiple clients cause system crash. #1789
  • Resolved the issue that some raw vectors are missed when the raw data file size is larger than 2GB. #1883

milvus-0.7.1

01 Apr 13:10
895829c
Compare
Choose a tag to compare

New features

  • Added new distance metrics, including substructure and superstructure, for the FLAT index type. These metrics are used for substructure and superstructure search of chemical structures.#1603.

Enhancements

  • Improved the performance of the compact operation. #1619
  • Improved search performance using CPU, especially for scenarios with multiple, concurrent connections. #267
  • Improved the search performance when nq is less than the number of threads in the CPU. #1690
  • Milvus performs a combined search for same search requests from multiple clients, thus significantly improving search speed. #1728
  • Upgraded Mishards to 0.7.1. #1698

Bug fixes

Refer to CHANGELOG for details.

milvus-0.7.0

11 Mar 09:51
de409be
Compare
Choose a tag to compare

New features

  • Vector deletion
    Added support to delete one or multiple vectors. If you performed vector deletion on a collection, later search operations for this collection are limited to part of the index types, including FLAT, IVFLAT, IVFSQ8, etc. Milvus is planned to support other index types in the upcoming versions.#861

  • Get vector by ID
    Added support to get vector data by ID. #861

  • Flush and compact
    Added support to flushing and compaction. You can configure flushing at an interval or manual flushing to avoid data loss. If some vectors are deleted from a segment, the space taken by the deleted vectors cannot be released automatically. You can compact segments in a collection to release space. #861 #1426

  • Change Milvus server configurations during runtime
    Added support to update Milvus server configurations during runtime. You can use Milvus clients to update the parameters. Changes to some parameters take effect immediately without restarting Milvus. #665

  • Write-Ahead logging (WAL)
    Added support for WAL, which significantly improves the reliability of data operations. You can configure WAL settings in the Milvus server configuration file (server_config.yaml). #830

  • RESTful API
    Added RESTful API. Refer to RESTful API Readme for more information.

  • Go SDK
    Added Go SDK. Refer to https://github.com/milvus-io/milvus-sdk-go for more information.

  • HNSW index support
    Added support for HNSW index type. Refer to Efficient and robust approximate nearest neighbor search using Hierarchical Navigable Small World graphs for more information about HNSW. #853

  • Jaccard/Hamming/Tanimoto distance support
    Added support for Jaccard distance, Hamming distance, and Tanimoto distance. #823

  • Pushgateway support in Prometheus
    Added support for Pushgateway in Prometheus. Pushgateway makes it possible for short-lived, batch metrics to be acquired by Prometheus. #813

  • AVX 512
    Added support for AVX 512 instruction set. Milvus theoretically supports all CPUs with AVX 512. #1122

Changes

  • Interface updates for index creation and vector search
    Starting from Milvus 0.7.0, part of the Milvus client parameters for index creation and vector search use JSON strings as values.

  • Milvus server configuration file updates
    Starting from Milvus 0.7.0, the Milvus server configuration file (server_config.yaml) is updated to 0.2 with parameter changes.

  • Term updates
    Starting from Milvus 0.7.0, Table is named as Collection in Milvus.

Bug fixes

  • Resolved the issue that duplicate IDs may be generated when inserting vector data using auto-generated IDs. #1508

milvus-0.6.0

07 Dec 09:05
6ade560
Compare
Choose a tag to compare

New features

  • CPU-only Milvus

    Milvus v0.6.0 provides Docker images for both CPU-only and GPU support Milvus. Milvus compilation on Docker is also supported on machines with or without GPU. #192

  • Table partitioning

    Add table partitioning funtion to secure fast query performance for incremental data. Partitioning APIs are added to Python, Java and C++ SDK to support partition creation, vector insertion into a specified partition and query against a specified partition, etc. #245

  • Experimental features

    The experimental features in Milvus are still under development and subject to change. They may contain unknown errors, and are intended for testing and user feedback gathering.

    • Mishards

      Propose Mishards, a Milvus sharding middleware, as the distributed deployment solution. Mishards provides unlimited extension of memory and computation capacity through request forwarding, read/write splitting, horizontal scalability and dynamic extension. #232

    • New index types

      Start supporting new experimental index types such as SPTAG-KDT, SPTAG-BKT, RNSG and IVFPQ. SPTAG#438 RNSG#554 IVFPQ#324

  • Index test reports

    Provide performance test reports for IVFFLAT, IVFSQ8 and IVFSQ8H indexes.

Improvements

  • Milvus internal FAISS

    In addition to original FAISS, Milvus has made deep optimizations to increase query performance and support more index types such as IVFSQ8H. Now this part of internal FAISS is open sourced. #585

  • Multiple GPUs for index building

    Support index building by multiple GPUs to reduce index building and overall query time. You can specify multiple GPUs for index building process through Milvus configuration parameter build_index_resources. #414

Bug fixes

  • Solved the issue of increased memory usage during vector queries. #335