packages feed

ppad-tx-0.2.0: CHANGELOG

# Changelog

- 0.2.0 (2026-10-10)
  * Breaking: TxId is abstract. Construct one with mk_txid (replacing
    mkTxId), unwrap it with un_txid; null_txid is the all-zero txid
    coinbase inputs reference.
  * Breaking: each TxIn carries its own witness (txin_witness), and
    Tx's tx_witnesses field is gone, so a transaction can no longer
    hold a different number of witnesses than inputs.
  * Breaking: the serialisation builders (put_compact, put_outpoint,
    to_strict, etc.) are no longer exported.
  * Widens sighash_legacy and sighash_segwit to take a raw 32-bit
    hashType, matching consensus (the full value is committed to the
    preimage; only the low byte determines behaviour). The SighashType
    ADT remains, as the canonical-byte enum, via encode_sighash. This
    is a breaking change.
  * Strips OP_CODESEPARATOR from the script code in legacy sighashes.
  * Adds BIP341 taproot sighashes (sighash_taproot_keypath,
    sighash_taproot_scriptpath).
  * Adds NFData instances for all transaction types, an NFData
    instance for SighashType, and Ord instances for TxId and OutPoint.
  * Fixes from_bytes, which threw an exception on compactSize lengths
    of 2^63 or more, and now rejects counts exceeding the remaining
    input.
  * Rejects segwit-flagged transactions carrying no witness data, and
    serialises transactions whose witnesses are all empty in the legacy
    format, as Bitcoin Core does.

- 0.1.0 (2026-04-18)
  * Initial release.