Type Hints, Builds, & Safety#748
Merged
ashvardanian merged 11 commits intomainfrom May 2, 2026
Merged
Conversation
The amd64 link of libnumkong.so was segfaulting under the experimental lld 1:18.0-59~exp2 from Noble universe after 91c08cc widened nk_shared symbol visibility, pushing the LTO unit past what that lld release can handle. Switch the JNI Linux job to mold via -fuse-ld=mold for both shared and module link steps. mold ships in Noble main, supports the LLVM gold plugin needed for clang LTO, and avoids pinning a separate apt source.
The non-multi branch of `get_typed_vectors_for_keys` pre-allocated a 2D ndarray of shape (keys_count, dims) and ignored the return value of `index.get(...)`. Missing keys left rows of uninitialized memory that were then returned to Python — a bug with security implications, as heap residue could leak through `Index.get`. Switch to a single-allocation backing 2D array plus per-key 1D views into its rows; missing keys yield `py::none()` instead of leaking the uninitialized row. The data path stays a single allocation regardless of which keys are present, matching the docstring contract on `Index.get` (`Returns None, if one key is requested, and its not present`; `If multiple keys are requested, composes many such responses into a tuple`). Pin the contract with a regression test covering single-missing, single-present, mixed batches, and post-remove lookups for both multi and non-multi indexes. Closes #663 Co-Authored-By: Titusz Pan <tp@iscc.io> Co-Authored-By: Titusz Pan <278556+titusz@users.noreply.github.com>
Previously, the usearch_windows_x86_X.Y.Z.tar package in each release contained a 64-bit binary library, despite being labeled as 32-bit base x86. Closes #665
Closes #366 Co-Authored-By: Pesho Ivanov <5638939+pesho-ivanov@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.