Skip to content

2.2.0

Latest

Choose a tag to compare

@paulmillr paulmillr released this 28 Apr 09:20
Immutable release. Only release title and notes can be modified.
2.2.0
7fcd124
  • April 2026 self-audit (all files): no major issues found
    • Audited for spec compliance and security
    • Improve robustness of OP_CODESEPARATOR: previously tx with would roundtrip via script/encode decode, which means we can verify OR consider correct tx which because of wrong preimage (number canonicalization/minimal encoding won't preserve exact bytes)
    • musig2: partialSigVerify was incorrectly returning true when a specific nonce was correct, but other pubnonces were broken / different from aggregated nonce
    • Hardened weight calculation for varint / mixed segwit + legacy
  • Fix all Byte Array types, to ensure proper work in both TypeScript 5.6 & TypeScript 5.9+
    • TS 5.6 has Uint8Array, while TS 5.9+ made it generic Uint8Array<ArrayBuffer>
    • This creates incompatibility of code between versions
    • Previously, it was hard to use and constantly emitted errors similar to TS2345
    • See [typescript#62240](microsoft/TypeScript#62240) for more context
  • Fix compilation issues on TypeScript v6
  • Improve tree-shaking, reduce bundle sizes
  • Upgrade all dependencies
  • Add initial support for tapBip32Derivation
  • PSBT merging now works with different versions
  • Minor improvements by contributors

(We're skipping v2.1, to align with other noble / scure packages)

New Contributors

Full Changelog: 2.0.1...2.2.0