Skip to content

Releases: unum-cloud/USearch

Release v2.25.1

16 Apr 14:30

Choose a tag to compare

Release: v2.25.1 [skip ci]

Patch

  • Improve: Harden mini-float testing across SDKs (967eb54)
  • Make: Expose nk_shared symbols for Emscripten builds (91c08cc)
  • Docs: Reference related articles for citations (d3314c0)
  • Make: Harden JNI builds in CI (1d66b55)
  • Make: Use standalone NumKong crate dependency (906b045)

v2.25: Float8, Performance, Correctness, & Portability!

15 Apr 22:59

Choose a tag to compare

This "minor" release is equally important for performance, correctness, and portability!

Minor

  • Add: Native UInt8 u8 API and Float6 e2m3 & e3m2 quantization (e4db172)
  • Add: Float8 support with E5M2 & E4M3 (bf80af8)
  • Add: Uniform hardware caps queries across SDKs (11f4d5c)
  • Add: expose memory_stats through Rust FFI bindings (d5a04f8)
  • Add: memory_stats_t struct with per-tape breakdowns (8f6f8f6)

Patch

  • Fix: Harden min & max symbols for MSVC (a270651)
  • Fix: Over-allocate & in-align striped locks (7aee20f)
  • Improve: Print stack-traces in test singal-handlers (94c7ec9)
  • Make: Bump NumKong to v7.5 (c666f16)
  • Docs: Benchmarks table formatting (95963ff)
  • Improve: Extended uint8 interfaces for Java, Swift, ObjC, JS (82e1196)
  • Improve: Smaller & faster striped_locks_gt (4a47d18)
  • Docs: SIFT & BigANN subsets (1c60c6c)
  • Fix: ObjC compilation issue for b1x8 (d54383d)
  • Improve: Reuse eval.random_vectors in scripts (2b7f469)
  • Improve: New benchmarking suite (4f6d2d7)
  • Improve: Type annotations for Python SDK & scripts (c39b15b)
  • Improve: Extended bench.cpp & datasets for 100M scale (dac569c)
  • Make: Split flaky CIBW jobs & add retries (5e0139f)
  • Make: Drop deprecated SPDX license expression (#744) (145272f)
  • Make: Drop EOL language versions and standardize CI runners (0a803a9)
  • Fix: Don't compile NumKong C sources into macOS wheel (2c44fb0)
  • Make: Bump deps for MSVC compatibility (36981b0)
  • Fix: Re-generate JNI header for hardware_acceleration checks (1a3a86e)
  • Make: Newer /Zc:preprocessor for MSVC in binding.gyp (79cd39f)
  • Fix: NumKong dispatch for Sorensen and binary vector dimensions (5546dd6)
  • Fix: Use RAND_MAX instead of INT_MAX for random test vectors (d45a616)
  • Make: Use "Trusted Publishing" for NPM (8a02676)
  • Fix: PyTest module collision & PeachPy on Python 3.11+ (8ed2548)
  • Fix: MSVC type-conversion warnings (#709) (98486cd)
  • Improve: Test remove/rename/multi in Rust (17dfac3)
  • Make: Arm32-friendly NumKong version (6f65872)
  • Fix: Move-safe init for Rust SDK (#704) (05b5eb0)
  • Fix: Check for config.expansion early in add (fb2e2f7)
  • Fix: Stale vector references in refine_ within index_get::update (#731) (451e2d5)
  • Fix: Deduplication logic in form_reverse_links_ (#729) (9ea8233)
  • Make: Switch to Ruff linter (#737) (bff98ed)
  • Fix: OpenMP flags forwarding in build.rs (#724) (46256a2)
  • Fix: Heap-buffer-overflow in HNSW search via sorted_buffer_gt (5697c60)
  • Fix: Serial Float16 conversion fallbacks (49b8b2c)
  • Make: Avoid npm ci in non-dependency-locked state (42e9203)
  • Make: Bump Clang due to LLVM optimizer bug (5bd15bb)
  • Make: Don't version removed dependency lock files (62724d4)
  • Fix: Hash set iterator returns deleted tombstones in equal_range (#727) (7d95f6f)
  • Fix: MAP_FAILED on Windows (#742) (786a7d9)
  • Fix: Escalate MAP_FAILED on POSIX (#722) (ba47347)
  • Fix: Strip nested sub-directories from package distributions (#733) (3832c02)
  • Fix: Guard Float16 APIs with #if arch(arm64) in Swift SDK (#739) (5bcf787)
  • Docs: Rust Cos metric docstring (#734) (c9ff5b8)
  • Fix: Avoid IntPtr global out-of-scope alias in C# (5413341)
  • Improve: Expose & test Float8 in Java, ObjC, Go, JS, Rust (bebb539)
  • Fix: Stale symbol name in join demo (ef0dc4f)
  • Improve: Allow non-sequential vector IDs in bench (11bcde1)
  • Make: Pull NumKong from PyPi (1b46d1b)
  • Make: Pull NumKong via CMake (b0f8708)
  • Make: Pull SwiftPM NumKong dependency (eede286)
  • Make: Pull NumKong crate (46347ec)
  • Make: Switch from SimSIMD v6 to NumKong v7 submodule (b2361c3)
  • Docs: Link capitalization (98eeb9e)
  • Fix: Set equality comparison in Numba JIT PyTest (30381b7)
  • Fix: Avoid duplicate neighbor slots in HNSW reverse links (#699) (6995246)
  • Fix: Postfix operators for member/candidate iterators in index_gt (#718) (7fbf086)
  • Fix: Potential UB in index_dense::add (#721) (6b69e95)
  • Fix: Accurately track total allocated memory in memory_mapping_allocator_gt (#608) (3c25f20)
  • Fix: Python serialized_length missing argument (#714) (5cde3fc)

Release v2.24.0

16 Feb 13:48

Choose a tag to compare

Release: v2.24.0 [skip ci]

Minor

  • Add: GetHandle and GetConfig to give access to the C handle in Golang (#705) (dec24b8)

Patch

Release v2.23.0

06 Jan 01:30

Choose a tag to compare

Release: v2.23.0 [skip ci]

Minor

Release v2.22.0

21 Dec 19:16

Choose a tag to compare

Release: v2.22.0 [skip ci]

Minor

  • Add: Missing GoLang APIs (3590961)
  • Add: FilteredSearch and FilteredSearchI8 functions (1f3e086)
  • Add: Nil handler validation in FilteredSearchUnsafe (0df8511)
  • Add: Filtered search callback support in GoLang bindings (4829a29)

Patch

  • Fix: Consistent threads capacity in Go tests (cc86de9)
  • Make: Bump SimSIMD (42aef88)
  • Fix: Missing switch cases for settings (6e84b1f)
  • Fix: Keep GoLang vectors alive (ba7d699)
  • Improve: Make FilteredSearchHandler fields public (55c1ea8)
  • Fix: FilteredSearchHandler typo and use correct C function (3cd62ce)
  • Improve: Add data field to FilteredSearchHandler test (a17c6fa)
  • Fix: Filtered search test logic and remove debug output (95f713e)
  • Improve: FilteredSearchUnsafe documentation (72a9f5a)
  • Improve: Fewer conditional locks for immutable index views (#689) (4f02166)
  • Fix: static is not thread safe (8938d6e)
  • Fix: check maxResults > 0 (f109269)
  • Fix: exact search return results with size querySize * maxResults (c8adc05)
  • Make: Bump CI versions (7685a67)
  • Make: Wrong ISA extensions for Windows JNI builds (42ff470)

v2.21.4: Concurrency Patches

30 Nov 09:54

Choose a tag to compare

  • Fix: Progress callback passing & minor checks (c604a90)
  • Fix: Skip key rewrites in index_gt::update (#679) (6387134)
  • Fix: Correct conditional lock release w/out acquire (#681) (c001112)

Release v2.21.3

13 Nov 10:54

Choose a tag to compare

Release: v2.21.3 [skip ci]

Patch

Release v2.21.2

29 Oct 19:26

Choose a tag to compare

Release: v2.21.2 [skip ci]

Patch

  • Fix: Race condition in index_gt::update (5dafaca)

Release v2.21.1

10 Oct 19:33

Choose a tag to compare

Release: v2.21.1 [skip ci]

Patch

  • Make: Bump GitHub CI versions (6d44dd6)
  • Make: Don't print .Net env libraries in CI (65edd4d)
  • Docs: Normalize noreply.github.com contributors (abc0b5b)
  • Docs: Vald integration in GoLang (3cfbf04)
  • Docs: Highlight new Swift & Rust features (dc6a777)

v2.21: New GoLang & Java APIs ☕

04 Sep 13:08

Choose a tag to compare

Thanks to @cpegeric for his proposals and PRs 👏

Minor

  • Add: All new test suite for Go (1f190b4)
  • Add: io.Closer interface support (fd79bf7)
  • Add: New GoLang APIs for more types (d1f34af)

Patch

  • Fix: Allow reserving threads in Java (55b5f76)
  • Docs: Cleaner code & reserve semantics (1d6ae88)
  • Improve: Pass Go static checks (584e201)
  • Fix: Avoid default =0 outside of the implementation (07c890d)
  • Make: reinstall cmake on newer macOS runners (e70b57f)
  • Improve: Rename *WithPointer to *Unsafe (12ee352)
  • Improve: Test new GoLang APIs (f222b5f)

Hashes

  • docs.tar.gz : 14db79018eb907d7742950cef309cd906056abc17ba6f813de44703aa2af91de
  • hashes.md : c6cb480b52dbf1af878b2a62ecc87c8aaa473bc59ee111cefd4866e99b568b06
  • usearch-2.21.0-javadoc.jar : 3ff69fd8813191e025215a0e5677731da3133dc5743f781846684df7a62d5a96
  • usearch-2.21.0-sources.jar : 69a8375f56cf6e54b45510d82be33708a4b35ba8309e5846596440b06e85da96
  • usearch-2.21.0.jar : fdcb44b9a27d2a8100ba2370acacadf7ed6c3a16017e286d7b5ace3df0160fc8
  • usearch-v2.21.0.tar.gz : 6c0af5a3e4369cb145f158961b3d17bb6f7040e2454d93f98a980d60e3565042
  • usearch-v2.21.0.zip : 5322dc8a05f90027291eea10dd3362ad6f6928430ad103576e62365112b2b57c
  • usearch_android_arm32_2.21.0.zip : b379b60ed944378ddeb2aeb17a60ad6088959b7fd15a57e2e0f5293faf66bf24
  • usearch_android_arm64_2.21.0.zip : 574ff8cd40344dab9c76277644620860b4dc9503bb4d6b5a9840478c1f866865
  • usearch_linux_amd64_2.21.0.deb : 39bdc54eab5fa19d7f089fdf7adc49b404b3f90580358bb162c1868dd416582a
  • usearch_linux_amd64_2.21.0.so : 41e9db5b9826a5e1993564843869834f80a4a912d9b7bc2140ae666572a06034
  • usearch_linux_arm64_2.21.0.deb : 43bdf6c50e6092a2e30fe86ee9356f86c1143aedf1bd662d9c9bbf68d0823f8c
  • usearch_linux_arm64_2.21.0.so : 9db3deee3646c0621eeef636a66005da627f9a9e2a3b0b465e13c9b3746ab318
  • usearch_macos_arm64_2.21.0.zip : 721fa7a81bc103a46e1af60581dae3feceac1fd4443504c7e133cca5c93a674e
  • usearch_macos_x86_64_2.21.0.zip : ebd93366df427d9d925e015413af978eded63cab282f10ad71677a027fbf6b87
  • usearch_sqlite_linux_amd64_2.21.0.so : 3836b136ef276a66227ece46a17f880e4247d2c491bc3523c46c87fe89d7376d
  • usearch_sqlite_linux_arm64_2.21.0.so : 4cb951d2030d27e289cf86ec1a92b524a737a915eba1ac6050ccb48b64f98c8f
  • usearch_sqlite_macos_arm64_2.21.0.dylib : 433452b4b95b59892062da573145506722e8179a909a4ea3b57b820b959afa29
  • usearch_sqlite_macos_x86_64_2.21.0.dylib : 5d316a5cda4688b79d0d1caf658bd8a8b9696ff924312c4e41e3dfcfe2790e4c
  • usearch_wasm_2.21.0.tar.gz : 821e73bf9ea2b8cce2d0f6f8b78b846e6b02e713691ec7ced278d2bc5c0ca67e
  • usearch_wasm_2.21.0.zip : 101f2690bf69d904c5590b3e528f258c2d0180e8399d9ce5ba1fdab1b40b7267
  • usearch_windows_arm64_2.21.0.tar : b65b200e886358c811862042b4268d743c36817784a408a6cd314474ed1ad5a2
  • usearch_windows_x64_2.21.0.tar : 71540c21f1f380d7fce85beda68bdaf4ebabec29ef7944501e528e8079e27af4
  • usearch_windows_x86_2.21.0.tar : 8d11a91b1a254de2d9b185c8f86ba99881976f7e431bcecd029a1b0041201cb1