Usearch

Latest version: v2.16.9

Safety actively analyzes 723158 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 28

2.13.2

2.13.1

2.13.0

USearch implementation had 2 layers, the core HNSW structure implemented in `index.hpp` and the high-level wrapper for dense equidimensional vectors in `index_dense.hpp`. In this release, we've made the top layer thinner and cleaner, also making this APIs more similar, error-handling more consistent, and builds faster.

Reducing Dependencies & Accelerating Builds

Previously `index_dense.hpp` had the following STL includes:

cpp
include <thread> // `std::thread`
include <functional> // `std::function`
include <vector> // `std::vector`
include <numeric> // `std::iota`


Those are some of the most common includes in C++ projects, also the ones I like the least. Here are a couple of reasons to hate them, taken from the ["C++ Compile Health Watchdog"](https://artificial-mind.net/projects/compile-health/):

| name | compilation time | lines of code | binary size |
|------------|------------------|---------------|--------------|
| `<functional>` | 82 .. 228 ms | 12.9 .. 27.4 kLoC | 0 .. 141 kB |
| `<vector>` | 32 .. 48 ms | 7.1 .. 8.0 kLoC | 0 .. 8.2 kB |
| `<numeric>` | 7 .. 13 ms | 1.6 .. 2.1 kLoC | 0 .. 3.3 kB |
| `<thread>` | 110 .. 189 ms | 17.5 .. 20.3 kLoC | 0 .. 153 kB |

Reduced Memory Consumption for DBMS-like Users

Most databases using USearch, would prefer to have a smaller index at the cost of some functionality. As mentioned by rschu1ze, if `enable_key_lookups` is disabled, and some external DBMS is responsible for "key to vector" mappings, the memory consumption of the `index_dense_gt` can be further reduced.

Other Improvements

- In update-heavy workloads, it's possible to encounter an undefined behavior, leading to a corrupt index state.
- In aligned-alloc an integer overflow was resolved by antonio2368.
- Search is now exhaustive by default, so if you have ≥10 items in the index and ask for 10 closest vectors, you are expected to get 10, not ≤10.
- Extended `get`, `loadFromPath`, and `viewFromPath` APIs for Java by mccullocht.
- On GCC 12 and older the `pragma region` warning was resolved by mbautin.
- Casts to `uint40_t` slot IDs have been fixed by Ngalstyan4.
- Casts to `b1x8_t` vectors have been fixed by Ngalstyan4.
- Python type annotation has been added by jamesbraza.
- C++ example was patched by SheldonFung98.
- JavaScript duplicate exports patched by eryue0220 & johnhorsema.
- Checking the number of dimensions in Rust by jbrummack.
- Marking Rust index views unsafe with bddap.
- Documenting reserve-save-load behavior with GoodKnight.
- Patching argument types in C tests with brittlewis12.

2.12.0

[2.12.0](https://github.com/unum-cloud/usearch/compare/v2.11.7...v2.12.0) (2024-04-29)


Add

* String-search example ([6dc574f](https://github.com/unum-cloud/usearch/commit/6dc574fe9b2147ab6e2f7010c5af440b25ecc8a1))

Docs

* Log running test stages ([48ef5e8](https://github.com/unum-cloud/usearch/commit/48ef5e8567062f7b779cdd1d7ec3de6b92283d49))
* ObjC & Swift SDK ([b16d85a](https://github.com/unum-cloud/usearch/commit/b16d85aa05ab8dd493b5c1de2e6501b7f1704633))
* Recommend SwiftPM for ObjC ([da84fa2](https://github.com/unum-cloud/usearch/commit/da84fa279fef02e734ccdc0cf73f3e47be2e21c4))

Fix

* `/EHc` effect on exceptions in MSVC ([d1be7d5](https://github.com/unum-cloud/usearch/commit/d1be7d52332c311462192198498b91c29120bac5))
* `metric_jaccard_gt` out-of-bounds ([11e344a](https://github.com/unum-cloud/usearch/commit/11e344a4913cc4877ec2e16512d05ec199b7a898))
* Overload resolution in MSVC ([62f9b61](https://github.com/unum-cloud/usearch/commit/62f9b616b33da2f7120fb33b1063247d516111e3))
* UBSan alignment complaints ([813e992](https://github.com/unum-cloud/usearch/commit/813e992940df6f0935bdb852ead7a9b2590eb60d))

Improve

* Safeguard against uninitialized buffers ([689fe19](https://github.com/unum-cloud/usearch/commit/689fe19d7f1d80e8bf0dc52efb8a19e7ad4162b7)), closes [ClickHouse/ClickHouse#61780](https://github.com/ClickHouse/ClickHouse/issues/61780)
* Test obscure initializations ([a9525d5](https://github.com/unum-cloud/usearch/commit/a9525d53fb3df1f9e98912500dc15e962469b52e))
* Tests for variable length sets ([7b3b13a](https://github.com/unum-cloud/usearch/commit/7b3b13aa165672fd3d6eea1cdc4d4176d508c655))

Make

* Move benchmark docs ([a22ab47](https://github.com/unum-cloud/usearch/commit/a22ab4722071f03c8471bd2d4f2fe2612c44c6ab))

2.11.7

[2.11.7](https://github.com/unum-cloud/usearch/compare/v2.11.6...v2.11.7) (2024-04-15)


Docs

* Mention checkbox in issue request ([3a33d9d](https://github.com/unum-cloud/usearch/commit/3a33d9df97757fec4de4c6d83c41abbc950f1a4b))

Make

* Formatting Swift ([4af6d2d](https://github.com/unum-cloud/usearch/commit/4af6d2d498365a5ccc535554f9f2292b2e2eb3d5))
* Revert CI version ([28520e5](https://github.com/unum-cloud/usearch/commit/28520e52004d0bfa449f85856c07d61507e3d68c)), closes [#377](https://github.com/unum-cloud/usearch/issues/377)
* Upgrade deps & list extensions ([04b39ed](https://github.com/unum-cloud/usearch/commit/04b39ed3a8556b230cabbf97d52f2ca53362db4e))

2.11.6

[2.11.6](https://github.com/unum-cloud/usearch/compare/v2.11.5...v2.11.6) (2024-04-14)


Make

* Trick `ncc` to include binaries (397) ([27704bf](https://github.com/unum-cloud/usearch/commit/27704bf4419b8c7deb186334f95b67d8ec7bdde8)), closes [#397](https://github.com/unum-cloud/usearch/issues/397)

Page 4 of 28

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.