Skip to content

Commit ab9fad5

Browse files
authored
Merge pull request #2313 from jasonandjay/fix/changelog-v7
docs: add v7.0.0-rc.0 changelog with breaking changes
2 parents dc8d9e2 + c682e62 commit ab9fad5

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,37 @@
1+
# 7.0.1
2+
__added__
3+
- `crypto`: Restore `ripemd160`, `sha1`, and `sha256` hash helpers (#2248)
4+
- `p2ms`: Support up to 20 public keys for n-of-20 multisig (previously capped at 16). This is relevant for P2WSH-wrapped multisig where the P2SH script-size limit does not apply. (#2297)
5+
6+
__fixed__
7+
- `psbt`: Remove unnecessary `tapInternalKey` check for signature validation of taproot inputs (#2270)
8+
- Bump `valibot` dependency (#2308)
9+
10+
# 7.0.0
11+
__breaking__
12+
- **Buffer → Uint8Array**: All public APIs now use standard `Uint8Array` instead of Node.js `Buffer`. This affects all payment types, `Transaction`, `Psbt`, `Block`, and `script` modules. `Buffer` (a `Uint8Array` subclass) is still accepted as input, but return types are now `Uint8Array`. (#2161)
13+
- **Transaction values: number → bigint**: `Transaction.Output.value` changed from `number` to `bigint`. `Psbt` output values, `Psbt.getFee()`, and `witnessUtxo.value` are all `bigint` now. Update your code: `value: 10000``value: BigInt(10000)` or `value: 10000n`.
14+
- **typeforce → valibot**: Runtime type validation switched from `typeforce` to `valibot`. All `typeforce` re-exports removed (`Buffer256bit`, `Hash160bit`, `Hash256bit`, `Number`, `Array`, `Boolean`, `String`, `Buffer`, `Hex`, `UInt8`, `UInt32`, `BufferN`, `Null`, `oneOf`, `maybe`, `tuple`, `Function`, `Satoshi`). Replaced by valibot schemas (`Buffer256bitSchema`, `Hash160bitSchema`, `Hash256bitSchema`, `BufferSchema`, `HexSchema`, `UInt8Schema`, `UInt32Schema`, `SatoshiSchema`, `NBufferSchemaFactory`).
15+
- **ESM support**: Package is now dual CJS/ESM. Added `"type": "module"` and `exports` field in `package.json`. CJS files use `.cjs` extension. Internal import paths now require `.js` extension.
16+
- **Node.js ≥ 18 required**: Minimum Node.js version bumped from 8 to 18.
17+
- **Dependency major bumps**: `bip174` 2.x → 3.x, `bs58check` 3.x → 4.x, `varuint-bitcoin` 1.x → 2.x.
18+
19+
__added__
20+
- `uint8array-tools` dependency for cross-platform Uint8Array utilities
21+
- `valibot` dependency for runtime type validation
22+
- `toXOnly` exported from `psbt/bip371`
23+
- Taproot multisig with verified unspendable internalPubkey example
24+
- Better error message when signing a transaction without outputs
25+
26+
__changed__
27+
- Coverage tooling switched from `nyc` to `c8`
28+
- TypeScript execution switched from `ts-node` to `tsx`
29+
- Fix tx version read/write to use uint32 instead of int32
30+
31+
__fixed__
32+
- Fix multisig taproot example's provable nonce calculation
33+
- Various typo fixes
34+
135
# 6.1.7
236
__added__
337
- skip ecc library verification via DANGER_DO_NOT_VERIFY_ECCLIB flag

0 commit comments

Comments
 (0)