Skip to content

v0.23.0

@semantic-release-bot semantic-release-bot tagged this 05 Aug 14:08
# [0.23.0](https://github.com/unum-cloud/usearch/compare/v0.22.3...v0.23.0) (2023-08-05)

### Add

* `Matches` and `BatchMatches` simple API ([1b40f13](https://github.com/unum-cloud/usearch/commit/1b40f139399dd29efe37553517f3ff8911c8cb22))
* Add node offsets in a serialized file ([c600ffd](https://github.com/unum-cloud/usearch/commit/c600ffd3a313ceaa4e0eefc10355ed071d2267e7))
* Batch add ([74860d6](https://github.com/unum-cloud/usearch/commit/74860d6ea102969685a0f6bf9d917b61af287823))
* Batch add test ([5f99b05](https://github.com/unum-cloud/usearch/commit/5f99b05e640d673eb5313583116d977f450c0488))
* Changing the metric at runtime ([d7bfac7](https://github.com/unum-cloud/usearch/commit/d7bfac7e03b3991fd2f2dc10f221563ae81110ac))
* Compactions ([434c1da](https://github.com/unum-cloud/usearch/commit/434c1da4ffbd31c3641bd0f41f0d22a319e16e27))
* efficiency estimate in `recall_members` ([64a60b4](https://github.com/unum-cloud/usearch/commit/64a60b47524466b24c126085fc57762f397cf974))
* Exact search shortcut ([a005084](https://github.com/unum-cloud/usearch/commit/a0050841309ff5f83961708f7eb4e1925734b02a)), closes [#176](https://github.com/unum-cloud/usearch/issues/176)
* Multi-`Index` lookups ([c5b7ccd](https://github.com/unum-cloud/usearch/commit/c5b7ccd518f5e1f7aa4bdceef5a335cdac76b6b7))
* Parallel View ([ed3f845](https://github.com/unum-cloud/usearch/commit/ed3f845eec8460d8dc6891042770d09506f85aae))
* Prefetching functionality for external memory ([b544ddb](https://github.com/unum-cloud/usearch/commit/b544ddb7f79475e223963d22f49ed9f12889823a)), closes [#170](https://github.com/unum-cloud/usearch/issues/170) [#171](https://github.com/unum-cloud/usearch/issues/171)
* Streaming and in-memory serialization in C++ ([7da44a2](https://github.com/unum-cloud/usearch/commit/7da44a2fb70a1c9bf322a20d26fa4985ae75e0aa))
* Vector alignment ([ea230e0](https://github.com/unum-cloud/usearch/commit/ea230e07807691b8e56621dde4eb850eeacbb0df))

### Break

* Final patches for 1.0 release ([8d557e2](https://github.com/unum-cloud/usearch/commit/8d557e249e9087efa529b0260870e8862147610e))

### Docs

* add descriptions of match-related classes ([637e5ef](https://github.com/unum-cloud/usearch/commit/637e5ef95c18e4098e0b9effceadbdf531a689fe))
* Annotating C 99 and GoLang interfaces ([4b910a8](https://github.com/unum-cloud/usearch/commit/4b910a8eb10aa362592ae27eaf67e1875773aad3))
* Documenting Python tests ([1f89e0a](https://github.com/unum-cloud/usearch/commit/1f89e0acd4d1b8bf512263d7664cc887d81bef46))
* Shorten name ([9a6a01c](https://github.com/unum-cloud/usearch/commit/9a6a01cc7aad0df87b02264abe76a7cb50e7c9dc))
* Spelling and details ([6f25ed9](https://github.com/unum-cloud/usearch/commit/6f25ed9e236af5eceb0b344e7039a80c8b84b6cc))
* Spelling and links ([20566e0](https://github.com/unum-cloud/usearch/commit/20566e0ecdd99564150602dd96610e4be377e080))
* TypeScript docs factual errors ([fe8103c](https://github.com/unum-cloud/usearch/commit/fe8103c63a03a446a17097583269c4bcd218e89c))
* Update benchmarking sections ([96baa09](https://github.com/unum-cloud/usearch/commit/96baa09f417622e505a2e03854b34d7366ddfbf5))

### Fix

* `reset` and serialization code ([11d7844](https://github.com/unum-cloud/usearch/commit/11d7844b7e970ab5f63835b0304b052f2d89b873))
* Avoid exception in `.xbin` file is missing ([4863bea](https://github.com/unum-cloud/usearch/commit/4863bea4a9598d3b6ed4a0e26f90ca4390d4022d))
* Avoid spawning needless threads ([9dff0fb](https://github.com/unum-cloud/usearch/commit/9dff0fb315b07567265f1933386ea57d23cb58fa))
* Concurrent file access issues in tests ([5ae6db1](https://github.com/unum-cloud/usearch/commit/5ae6db10e9b14bc0e7d78bbdae94e0c75783e4e6))
* Dead-lock on post-removal insertions ([284b058](https://github.com/unum-cloud/usearch/commit/284b05827812bec6521378b9d4a924c124d85e2b)), closes [#175](https://github.com/unum-cloud/usearch/issues/175)
* Excpetion handling for `index_dense_metadata` ([d9627ba](https://github.com/unum-cloud/usearch/commit/d9627baf2698055601df479c16e9346f6c956acd))
* Heap overflow for fractional-size scalars ([459abcd](https://github.com/unum-cloud/usearch/commit/459abcded2b3dc542b8edb620e2d97b5419c59ae))
* Imports in Python benchmarks ([cffe507](https://github.com/unum-cloud/usearch/commit/cffe507831f5c6f0a835be288fdc59650ca5e3ef))
* Inferring OS-dependant file path in Python ([7743709](https://github.com/unum-cloud/usearch/commit/7743709de78c3a38005d6910539e3f244689b06f)), closes [#174](https://github.com/unum-cloud/usearch/issues/174)
* JavaScript bindings ([ee04856](https://github.com/unum-cloud/usearch/commit/ee048565e8abfcb1a9889584f201d526d0eeeee2))
* JS keys should be `bigint` ([e1fbec4](https://github.com/unum-cloud/usearch/commit/e1fbec483c4f9d8da6e46a3dc29212ef12f2e7fc)), closes [#178](https://github.com/unum-cloud/usearch/issues/178)
* Memory leak and multi-index lookup overflow ([597b0d5](https://github.com/unum-cloud/usearch/commit/597b0d583ce472947874b20ebe152de833db71f4))
* Narrowing conversions for WASM 32-bit builds ([79add97](https://github.com/unum-cloud/usearch/commit/79add97f8f372e006beef59aceb2b19eecad7aaa))
* Portable way of matching 32-bit builds ([604e634](https://github.com/unum-cloud/usearch/commit/604e634b7f06dbab88372f4388aadd4894f7119d))
* Progress reporting issue ([b2565e5](https://github.com/unum-cloud/usearch/commit/b2565e5412946f4044ecf2c9248d5237ba60f2ad))
* Reclaiming file descriptor ([05e908f](https://github.com/unum-cloud/usearch/commit/05e908f12fde6781ac846b7b429adb7847018656))
* Report error if `reserve` hasn't been called ([f94f358](https://github.com/unum-cloud/usearch/commit/f94f3580f30b693abf7fcf2e48db6ca05ddb17cd))
* Typo in metric name ([34f5530](https://github.com/unum-cloud/usearch/commit/34f55309d6ece0d5f2fb50c2b2acab1fa706c7de))
* Undefined behaviour on duplicate labels ([c04a5cc](https://github.com/unum-cloud/usearch/commit/c04a5cc142627e209030603d9dd2b6c07e4af784))

### Improve

* `usearch_remove` C99 interface ([2072540](https://github.com/unum-cloud/usearch/commit/20725403c196f6810133021d469a67faceb92193))
* Align allocations to page size by default ([134a6f0](https://github.com/unum-cloud/usearch/commit/134a6f016f264940b021958dc8dd8fa4fa336f86))
* Broader types support in `usearch.io` ([b1a1439](https://github.com/unum-cloud/usearch/commit/b1a1439ca64da6ef60078b04477f90d6fde89048))
* Exposing search stats to users ([2779ffc](https://github.com/unum-cloud/usearch/commit/2779ffcf95b2bced94de9357ef193eb7b84bab55))
* Feature-complete GoLang bindings ([e2058d1](https://github.com/unum-cloud/usearch/commit/e2058d19210b464ed1f146b251030676f663ae50))
* More flexibility for Python args ([6aa06cb](https://github.com/unum-cloud/usearch/commit/6aa06cb3b681f2438d7fe11f3d29591bff77ae64))
* Out-of-bounds checks ([54cecb6](https://github.com/unum-cloud/usearch/commit/54cecb6852b4023566b82bc9ad51d66264e07514))
* Task scheduling with STL threads ([9131287](https://github.com/unum-cloud/usearch/commit/9131287d8d518976114c94b525e18d67e0d54b2d))

### Make

* Add CMake for C builds ([4d2127b](https://github.com/unum-cloud/usearch/commit/4d2127b62805bf0d362ec8d5d7fc646c62f8f77d))
* All targets enabled for debugging ([ea0f835](https://github.com/unum-cloud/usearch/commit/ea0f835bb2244f285076d07bc5ce493d16e8e964))
* Build only WASM tests ([372738b](https://github.com/unum-cloud/usearch/commit/372738b2d0c0b4b62607e4cdc6cdb4fbcce9607c))
* Typescript ([dacfbed](https://github.com/unum-cloud/usearch/commit/dacfbed1e00e5dd2a0827602df2ff0b28d4230c2))
* Upgrade to the newest SimSIMD ([368d853](https://github.com/unum-cloud/usearch/commit/368d853ad686bff97341c462dd7a3844b965226a))

### Refactor

* `label_t` to `key_t` ([0d6c800](https://github.com/unum-cloud/usearch/commit/0d6c80052b53445505085d7d36bc2c16ce0b63b7))
* Add ([5d62180](https://github.com/unum-cloud/usearch/commit/5d62180806c8c58331997366039f66c4e4d849e5))
* Index serialization in a file ([ba72585](https://github.com/unum-cloud/usearch/commit/ba7258512d458860b8a7612a3e8989137d4af2c8))
* JS and GoLang tests ([a45fc40](https://github.com/unum-cloud/usearch/commit/a45fc40d027181ebba6870a761f4f33a4bd992a5))
* Keep only batch requests in CPython ([44c0318](https://github.com/unum-cloud/usearch/commit/44c03180432ee6d0ab0b8b634ef2ac30d8e9c169))
* Rename `f8` to `i8` to match IEEE ([c37f80b](https://github.com/unum-cloud/usearch/commit/c37f80b5fc110d097487bd6686b76518d8a9bc1e))
* Revert `Matches` ([5731e70](https://github.com/unum-cloud/usearch/commit/5731e7030ade7075e6a36d728c992e34be728d2f))
* Splitting proximity-graphs and vectors ([e996b38](https://github.com/unum-cloud/usearch/commit/e996b38fc1af46311fad3c5148207db2e6c999b6))
* Use Executor instead of std::thread ([c3a3693](https://github.com/unum-cloud/usearch/commit/c3a369306510b0aec87b548c0314051469abc010))
* Vector alignment issue ([b02d0ad](https://github.com/unum-cloud/usearch/commit/b02d0ad7322464a5cfefaa45390ba2ad791086a5))

### Test

* Set vector alignment ([0acb54a](https://github.com/unum-cloud/usearch/commit/0acb54a5abb031827ae1d973ad69a35829a81c7a))
* Wrong buffer size caused illegal access ([830e280](https://github.com/unum-cloud/usearch/commit/830e2802cda4e3d16546b7f54e4ba0474eeacf49))
Assets 2