This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+9 more
Summary
AI summaryBroad release touches Patch, Fix, Minor, and Add.
Full changelog
This PR introduces a significant amount of functionality for Rust and provides portability improvements for C++. Regarding the former, the compilation of different sections is now better guarded, and some of the Assembly instructions are encoded manually to increase compatibility.
On the Rust side, many new classes were added. SpinMutex replaces Mutex, similar to spin_mutex in our C++ layer. PinnedVec provides Vec-like functionality, but is built around PinnedAllocator to attach to a certain NUMA node. It's not just a Vec alias with a custom allocator, as our primary allocate_at_least API differs from Rust's Nightly standard library. More interestingly, RoundRobinVec is a NUMA-distributed container for vast arrays of data, with most operations expecting an additional threads pool argument to distribute the work across the entire machine.
Check out scripts/search.rs for NUMA-aware Vector Search examples leveraging SimSIMD.
Minor
- Add: Vector Search Rust example (f74ef30)
- Add:
RoundRobinVecfor Rust (141985a) - Add: New metadata APIs for C (5d80c48)
- Add:
locate_thread_infor C and Rust (7fbddb2) - Add:
IndexedSplitfor Rust (339ec63) - Add: Fetching total RAM volume on a NUMA node (115f74f)
- Add:
SpinMutexfor Rust (420d606) - Add:
PinnedVecfor Rust (3394386)
Patch
- Make: Run both C++17 and 20 tests (7542c4c)
- Fix: Try
strtoulloverstoullfor MSVC (6a54aac) - Fix: Down-casting
size_twarning (ef9f501) - Fix: Avoid ternary-default operations for MSVC (7d59d08)
- Fix: Globally define
_WIN32-related macros (5809a1c) - Fix: Hard-coding WFET instruction (81fb545)
- Make: Avoid
-latomicon AppleClang (9486cb5) - Docs: Polish intro (35baa71)
- Fix: Type-casting issues (1b21aa7)
- Fix: MSVC has no
std::stoul, only 64-bit (fe330d2) - Fix: MSVC security warnings (2d41131)
- Fix: Correct target
archpragmas for Arm (3107b8c) - Make: Unlink from OpenMP on Clang (f1112e2)
- Fix: Skip OpenMP on Clang (7eb9fde)
- Fix:
intcast warnings (5915d3e) - Fix: Colored CLI output on Windows (57994b8)
- Improve: Feature-gate HW-specific YIELDs (02fff3c)
- Fix: Require inline Asm for HW-specific YIELDs (08b3922)
- Fix: Conflicting
maxin MSVC builds (b19dc4c) - Make: Require C++17 or higher (9e228c4)
- Improve: Switch to
bf16examples (3405ccf) - Fix: Check for
WFETsupport on macOS (8e1b683) - Fix: Clang
waitpkgcompilation on Linux (35f696c) - Improve: Types choice in
search.rs(9e54b5e) - Make: Test on all OSes before releasing (844e3b2)
- Make: Rebase
devafter releasing (5e6143a)
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About ForkUnion v3
All releases →Related context
Related tools
Earlier breaking changes
- v3.0.0 Introduces generation tokens for non‑blocking multi‑pool coordination
- v3.0.0 Splits topology into separate compute and memory domains
- v3.0.0 Makes `RoundRobinVec` bulk operations allocation‑free and sound
- v3.0.0 Layers capability macros and splits the umbrella header file
- v3.0.0 Removes all back‑compatibility shims
Beta — feedback welcome: [email protected]