Releases: paulmillr/noble-post-quantum
Releases · paulmillr/noble-post-quantum
0.5.4
Immutable
release. Only release title and notes can be modified.
- Fix ecdhKem.encapsulate default rand length by @FiloSottile in #35
- Rename
hybrid.jssubmodule exports to align with other modules. Old names are still available until v0.6. New usage:
import {
ml_kem768_x25519, ml_kem768_p256, ml_kem1024_p384,
KitchenSink_ml_kem768_x25519, XWing,
QSF_ml_kem768_p256, QSF_ml_kem1024_p384,
} from '@noble/post-quantum/hybrid.js';New Contributors
- @FiloSottile made their first contribution in #35
Full Changelog: 0.5.3...0.5.4
0.5.3
Immutable
release. Only release title and notes can be modified.
Implement irtf-cfrg-concrete-hybrid-kems-02.
import { MLKEM768X25519, MLKEM768P256, MLKEM1024P384 } from '@noble/post-quantum/hybrid.js';New Contributors
- @MurasameKei made their first contribution in #31
Full Changelog: 0.5.2...0.5.3
0.5.2
Immutable
release. Only release title and notes can be modified.
- Disable extension-less imports. If you've used
/ml-dsa, switch to/ml-dsa.jsnow. See 0.5.0 for more details. - package.json: specify exported submodules to ensure typescript autocompletion
GitHub Immutable Releases
This GH release does not standalone noble-post-quantum.js, until we fix bugs related to newly added GitHub Immutable Releases
Full Changelog: 0.5.1...0.5.2
0.5.1
- Use stable noble-hashes and noble-curves v2
Full Changelog: 0.5.0...0.5.1
0.5.0
New features
- Add hybrid PQ algorithms: XWing, KitchenSinkMLKEM768X25519, QSFMLKEM768P256, QSFMLKEM1024P384
- Add
contextto ML-DSA & SLH-DSA - Add
getPublicKeyto ML-KEM & ML-DSA
Changes
- The package is now ESM-only. ESM can finally be loaded from common.js on node v20.19+
- Node v20.19 is now the minimum required version
- Reduces unpacked npm size (on-disk space): 423KB => 312KB
.jsextension must be used for all modules- Old:
@noble/post-quantum/slh-dsa - New:
@noble/post-quantum/slh-dsa.js - This simplifies working in browsers natively without transpilers
- Old:
- Changed argument order in all methods to be consistent with noble-curves
sign(secretKey, msg, rnd)=>sign(msg, secretKey, opts)verify(publicKey, msg, sig, ctx)=>verify(sig, msg, publicKey, opts)
- Use noble-hashes v2 with smaller package size and improved security
- New prehash API
- Upgrade typescript compilation env to ts5.9 and es2022
Full Changelog: 0.4.1...0.5.0
0.4.1
- Modules are now available with
.jsextension- Old:
@noble/post-quantum/slh-dsa - New:
@noble/post-quantum/slh-dsa.js - Old path is still available
- This simplifies working in browsers natively without transpilers
- Old:
- slh-dsa: zeroize keygen inputs when argument was undefined
- update noble-hashes to 1.8.0
- Typescript source can now be used without compilation in node.js v24, due to erasableSyntaxOnly
New Contributors
Full Changelog: 0.4.0...0.4.1
0.4.0
- Export both external and internal prehashed, versions of algorithms
- Reuse noble-hashes polyfill for setBigUint64
Full Changelog: 0.3.1...0.4.0
0.3.1
0.3.0
- The package is now available on JSR.
- Use isolatedDeclarations typescript option, which massively simplifies documentation auto-gen, and more
- Check out JSR page for one example
- Add tons of comments everywhere to improve autocompletion, LLM code gen, and basic code understanding.
- Upgrade hashes to v1.7.0
Full Changelog: 0.2.1...0.3.0
0.2.1
- Expose context-based methods from ML-DSA
- Upgrade noble-hashes to v1.6.0
Full Changelog: 0.2.0...0.2.1