fix(deps): update dependency @noble/curves to v2 - #159
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/noble-curves-2.x
branch
from
July 18, 2026 23:21
3c70330 to
949cf36
Compare
renovate
Bot
force-pushed
the
renovate/noble-curves-2.x
branch
from
August 6, 2026 09:07
949cf36 to
c17d5c9
Compare
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.
This PR contains the following updates:
^1.9.2→^2.3.0Release Notes
paulmillr/noble-curves (@noble/curves)
v2.3.0Compare Source
Security & constant-timeness
X25519 hardening
It was possible to execute a remote timing attack on X25519, across many samples, and learn up to 4.036 bits of long-term private key. Other 247 bits were NOT affected.
The impact: mainly fingerprinting (recognition of key across deployments), NOT key recovery, NOT X25519 breakage. Maintainer was also not able to escalate to co-residency (SMT).
Reported and found by:
geostergiop@aueb.gr)kpatsak@unipi.gr)Performance
ed25519, p256, p384, p521secp256k1.Point.BASE.precompute(8)(likewise for other curves).Misc
Full Changelog: paulmillr/noble-curves@2.2.0...2.3.0
v2.2.0Compare Source
ed25519: make zip215 verification logic match spec more strictly (spec vectors were not enough)Uint8Array, while TS 5.9+ made it genericUint8Array<ArrayBuffer>TS2345(We're skipping v2.1, to align with other noble packages)
Full Changelog: paulmillr/noble-curves@2.0.1...2.2.0
v2.0.1Compare Source
/ed25519, switch to/ed25519.jsnow. See 2.0.0 for more details.ed25519: export map_to_curve_elligator2_curve25519 #211rootsOfUnityNew Contributors
GitHub Immutable Releases
This GH release does not include standalone noble-curves.js: use 2.0.0 for now, until we upgrade to newly added Immutable Releases
Full Changelog: paulmillr/noble-curves@2.0.0...2.0.1
v2.0.0Compare Source
High-level
v2 massively simplifies internals, improves security, reduces bundle size and lays path for the future. To simplify upgrading, upgrade first to curves 1.9.x. It would show deprecations in vscode-like text editor.
.jsextension must be used for all modules@noble/curves/ed25519@noble/curves/ed25519.jsNew features
decaf44isValidSecretKey,isValidPublicKeyChanges
Point.fromHexnow expects string-only hex inputs, usePoint.fromBytesfor Uint8ArraymessageHash, the methods now expect unhashed message.
To bring back old behavior, use option
{prehash: false}This change doesn't affect secp256k1, which has been using lowS since beginning.
If you tested against specific sign / verify vectors, upgrading to v2 would fail, unless old behavior is brought back.
To bring back old behavior, use option
{lowS: false}{format: 'der'}.This reduces malleability
signature.toBytes()bls.longSignatures (G1 pubkeys, G2 sigs) and bls.shortSignatures (G1 sigs, G2 pubkeys).
{message: ..., publicKey: ...}[]weierstrass() + ecdsa()/edwards() + eddsa()pippengerRenamings
p256,p384,p521modules have been moved intonistjubjubmodule has been moved intomiscabstract/curve.jssubmodulePoint.BASE.multiply()andPoint.Fn.fromBytes(secretKey)decaf44.Point*curve*_hasher.Example:
secp256k1.hashToCurve=>secp256k1_hasher.hashToCurve()Removed features
curve parameters
pasta,bn254_weierstrass(NOT pairing-based bn254) curvesFull Changelog: paulmillr/noble-curves@1.9.6...2.0.0
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.