Skip to content

0.7.0

Choose a tag to compare

@paulmillr paulmillr released this 09 Aug 04:08
· 35 commits to main since this release
Immutable release. Only release title and notes can be modified.
0.7.0
75c18a6

Breaking

  • hybrid: legacy aliases removed. XWing/MLKEM768X25519 → ml_kem768_x25519, MLKEM768P256 → ml_kem768_p256, MLKEM1024P384 → ml_kem1024_p384, QSFMLKEM768P256 → QSF_ml_kem768_p256, QSFMLKEM1024P384 → QSF_ml_kem1024_p384, KitchenSinkMLKEM768X25519 → KitchenSink_ml_kem768_x25519.
  • utils: afunction no longer exported — moved to @noble/curves/utils.js.

Other

  • Falcon: Fix length check in detached (non-default) falcon
  • MultiplyNTTs intermediate overflow — a1*b1*zeta could reach ~2³⁵; now mod(mod(a1*b1)*zeta + a0*b0).
  • ML-DSA sign entropy ordering — randomness drawn before secret-key decoding, so an RNG throw can't leave partially-decoded key material live.
  • ML-DSA externalMu length-checks msg as 64-byte µ; ML-KEM detaches the caller's public key before caching; equalBytes validates its inputs; stricter checks and messages throughout.
  • Up to 2x speed boost for SLH-DSA
  • +16-42% speed boost for hybrid ml-kem-768+x25519
  • Upgrade noble deps to 2.3.0
  • Reduce on-disk unpacked size, 813kb → 654kb (-159kb): by disabling source maps (they became less relevant).

Full Changelog: 2.2.0...2.3.0