Releases: chaintope/bitcoinrb
Releases · chaintope/bitcoinrb
v0.9.0 release
The following fixes and improvements are included in this release:
Bitcoin::PSBT
supports PSBT data read from file and write to file.Bitcoin::Taproot::SimpleBuilder
change following:- The interface that receives script and leaf version has been changed to an interface that receives
Bitcoin::Taproot::LeafNode
. Bitcoin::Taproot
provides some utility methods to help spending P2TR.
- The interface that receives script and leaf version has been changed to an interface that receives
For more detail about how to build and spend P2TR, see the Wiki page.
v0.8.0 release
The following fixes and improvements are included in this release:
- Add strict data check for transaction parsing(8e3f985)
- Accelerating taproot testing through parallel execution
- Speed up to use libsecp256k1 with
Bitcoin::ExtPubkey#derive
same asExtKey#derive
(b3b2ec9) - Implement Bitcoin::MessageSign that sign any message using key(see wiki)
- Add
Bitcoin::Script#p2tr?
which check script whether P2TR or not(f164afe) - Add
Bitcoin::Taproot::SimpleBuilder
to support building Taproot P2TR and creating transactions when spending it.
v0.7.0 release
This release includes the following improvements and features:
P2P
The new P2P messages sendaddrv2
and addrv2
defined in BIP-155 have been added.
Bitcoin::Message::SendAddrV2
Bitcoin::Message::AddrV2
In addition, the following features have been added that are useful for handling P2P messages.
Bitcoin::Message::Base#from_pkt(message)
: This method decodes a single P2P message containing the magic bytes and creates an instance of the corresponding message class.Bitcoin::Message#decode(command, payload)
: This method creates an instance of the corresponding message class from the P2P command and payload specified in the arguments.
Improvements
- Improve
String#opcode
performance: The performance ofString#opcode
, which is extended with open classes, has been improved. It used to convert all data to bytes, but nowString#ord
is executed after specifying the character encoding. This change is not expected to have any impact, but if it does, please report it. - Update the dependent library bech32rb: The version of the dependent library bech32rb has been updated to v1.1.0. It now supports bech32m, the Taproot address encoding.
bitcoinrb v0.6.0 release
Notable Changes
This release includes following new features, various bug fixes:
- Support schnorr signature(BIP340).
- Support taproot and taprscrpt consensus(BIP341 and BIP342).
- Support ruby 3.0 environment.
- Add signet chain parameter. (1a701c3)
- Fix
Bitcoin::RPC::BitcoinCoreClient
exception message string to JSON format. (1054307) - Add public key full validation when initializing Bitcoin::Key. (09bd128)
bitcoinrb v0.5.0
Notable changes
Support BIP74 payment code
Support BIP74 (Payment code) in Bitcoin::PaymentCode
Add BIP157 messages
Add BIP157 messages.
Support BIP85
Support BIP85 in Bitcoin::BIP85Entropy
Bitcoin::Script
- Fix
#to_s
display bug when an empty string is set from the stack.
PSBT
Due to CVE-2020-14199, Bitcoin::PSBT::Tx
now includes and allow both non_witness_utxo
and witness_utxo
for segwit inputs.
Miscellaneous
- Change peer discovery to find peer which supports NODE_BLOOM
- Change coinbase script loading logic in Bitcoin::TxIn
- Remove
rest-client
gem dependency. - Add
ECDSA::Point#to_hex
method which convert Elliptic Curve Point to hex string.
bitcoinrb v0.4.0
Notable changes
- Remove fork coin support: Fork_ID of Bitcoin Cash was supported, but fork coin support was removed because the difference in specifications with Bitcoin including the addition of opcode became large.
- Add
Bitcoin::Script#to_addr
method to replaceBitcoin::Script#addresses
. - Fix testnet extended public key version byte for p2wsh-p2sh.
- Add depth limit check for Extended Key. If you try to derive a key with more than 256 depth, you will get an error.