The latest published Fearless SIMD release is 0.3.0 which was released on 2025-10-14. You can find its changes documented below.
This release has an MSRV of 1.89.
- Breaking change:
Level::fallbackhas been removed, replaced withLevel::baseline. (#105 by @DJMcNab) This corresponds with a change to avoid compiling in support for the fallback level on compilation targets which don't require it; this is most impactful for binary size on WASM, Apple Silicon Macs or Android. A consequence of this is that the available variants onLevelare now dependent on the target features you are compiling with. The fallback level can be restored with theforce_support_fallbackcargo feature. We don't expect this to be necessary outside of tests.
0.3.0 (2025-10-14)
This release has an MSRV of 1.86.
SimdBase::witnessto fetch theSimdimplementation associated with a generic vector. (#76 by @Ralith)Selectis now available on native-width masks. (#77, #83 by @Ralith)Simd::shrv_*preforms a right shift with shift amount specified per-lane. (#79 by @Ralith)- The
>>operator is implemented for SIMD vectors. (#79 by @Ralith) - Assignment operator implementations. (#80 by @Ralith)
SimdFromsplatting is available on native-width vectors. (#84 by @Ralith)- Left shift by u32. (#86 by @Ralith)
- Unary negation of signed integers. (#91 by @Ralith)
- A simpler
dispatchmacro to replacesimd_dispatch. (#96, #99 by @Ralith, @DJMcNab)
Simdnow requires consistent mask types for native-width vectors. (#75 by @Ralith)Simdnow requires consistentBytestypes for native-width vectors, enablingBytes::bitcastin generic code. (#81 by @Ralith)- Scalar fallback now uses wrapping integer addition. (#85 by @Ralith)
- Breaking:
a.madd(b, c)anda.msub(b, c)now correspond toa * b + canda * b - cfor consistency withmul_addin std. (#88 by @Ralith) Previously,maddwasa + b * c, andmsubwasa - b * c. Therefore, if you previously hada.madd(b, c), that's now written asb.madd(c, a). And if you hada.msub(b, c), that's now writtenb.madd(-c, a). - Constructors for static SIMD levels are now
const(#93 by @Ralith)
0.2.0 (2025-08-26)
There has been a complete rewrite of Fearless SIMD. For some details of the ideas used, see our blog post Towards fearless SIMD, 7 years later.
The repository has also been moved into the Linebender organisation.
0.1.1 (2018-11-05)
No changelog was kept for this release.
0.1.0 (2018-10-19)
This is the initial release. No changelog was kept for this release.