BitcoinJS v3.0.0 Release Notes

  • ๐Ÿš€ From this release users can expect out-of-the-box Segregated Witness support. The majority of breaking changes have been in how script encoding/decoding occurs, with the introduction of witness stacks.

    โž• added

    • โž• Added script.types enums (#679)
    • Added script.*.*.{check,encode,decode[,encodeStack,decodeStack]} functions (#681, #682)
    • โž• Added minimal TransactionBuilder.prototype.build absurd fee-safety (#696)
    • โž• Added script.(decompile/compile)PushOnly and script.toStack functions (#700)
    • โž• Added Transaction.prototype.toBuffer Segregated Witness serialization support (#684, #701)
    • โž• Added Transaction.prototype.hasWitnesses (#718)
    • โž• Added script.witnessCommitment.* template
    • โž• Added TransactionBuilder.prototype.sign now has two additional parameters, witnessValue, and witnessScript
    • โž• Added Transaction.hashForWitnessV0 and Transaction.setWitness (5c2fdb60436714f18440dc709f0be065928c1e49)

    ๐Ÿ›  fixed

    • ๐Ÿ›  Fixed script must compile minimally (#638)
    • ๐Ÿ›  Fixed Transaction and Block versions should be Int32, signed integers (#662)

    โœ‚ removed

    • โœ‚ Removed ecdsa.calcPubKeyRecoveryParam, ecdsa.recoverPubKey (#456)
    • โœ‚ Removed buffer-equals/buffer-compare dependencies (#650)
    • โœ‚ Removed HDNode.prototype.toString (#665)
    • โœ‚ Removed dogecoin network (#675)
    • โœ‚ Removed message export, moved to bitcoinjs-message (#456)

    ๐Ÿ“‡ renamed

    • Removed script.* functions in favour of bitcoin.script.*.(input/output).(encode/decode/check) style (#682)