# Versions

## 4.8.0

- `decodeBase58`: Add method to decode a base58check string into its payload

## 4.7.2

- `nonWitnessHashToSign`: Add method to calculate the pre-SegWit hash to sign

## 4.6.0

- `v0HashToSign`: Add method to calculate the v0 witness hash to sign

## 4.5.3

- `encodeBase58Address`: Add method to convert hash and version to b58 address

## 4.4.0

- `transactionFromComponents`: Add method to form a raw tx from tx components

## 4.3.0

- `hashForP2pkh`: Add method to get the p2pkh hash160 for a public key

## 4.2.0

- `encodeBech32Address`: Add method to encode a bech32/bech32m address string
- `hashForP2wpkh`: Add method to get the p2wpkh hash160 for a public key

## 4.1.1

- `p2msScript`: Add method to get pay to multi-sig script for keys + required

## 4.0.0

- `sizeOfTransaction`: Add method to get transaction weight and virtual size

### Breaking Changes

- End support for Node.js v20, require v22+

## 3.2.0

- `decode_bech32_address.js`: Add method to decode a bech32/bech32m address
- `id_for_transaction.js`: Add method to derive the standard tx id for a raw tx

## 3.1.0

- `p2pkhOutputScript`: Add method to get an output script for a p2wpkh hash
- `p2shOutputScript`: Add method to get an output script for a p2sh hash
- `p2trOutputScript`: Add method to get an output script for a p2tr hash
- `p2wpkhOutputScript`: Add method to get an output script for a p2wpkh hash
- `p2wshOutputScript`: Add method to get an output script for a p2wsh hash
- `unsignedTxFromPsbt`: Add method to get the unsigned tx out of a PSBT

## 3.0.0

- `decodeBase58Address`: Add method to convert b58 address to hash and version

### Breaking Changes

- End support for Node.js v18, require v20+

## 2.0.0

- `idForTransactionComponents`: Add method to get transaction id for components
- `queryTransactions`: Add method to find transaction outputs matching a query

### Breaking Changes

- End support for Node.js v16, require v18+

## 1.6.0

- `previousBlockId`: Add method to get the previous block id from a block

## 1.5.0

- `scriptAsScriptElements`: Convert an encoded script into script elements

## 1.4.0

- `scriptElementsAsScript`: Convert an array of script elements to a script

## 1.3.0

- `componentsOfTransaction`: Parse transaction hex into its component elements

## 1.2.1

- `noLocktimeIdForTransaction`: Fix id derivation to correct value

## 1.2.0

- Add `idForBlock`: to calculate the block id given a hex encoded block

## 1.1.0

- Add `noLocktimeIdForTransaction` for a hash that doesn't cover the locktime

## 1.0.0

- Add `compactIntAsNumber` to convert a Bitcoin variable byte size int
- Add `numberAsCompactInt` to convert a number to a Bitcoin variable byte int
