4.4 KiB
4.4 KiB
0.16.0 - 2019-01-15
- Reorganize opcode types to eliminate unsafe code
- Un-expose some macros that were unintentionally exported
- Update rust-secp256k1 dependency to 0.12
- Remove
util::iter::Pairtype which does not belong in this library - Minor bugfixes and optimizations
0.15.1 - 2018-11-08
0.15.0 - 2018-11-03
- Significant API overhaul:
- Remove
nu_selectmacro and low-level networking support - Move
network::consensus_paramstoconsensus::params - Move many other things into
consensus::params - Move
BitcoinHashfromnetwork::serializetoutil::hash; remove impl forVec<u8> - Rename/restructure error types
- Rename
Consensus{De,En}codertoconsensus::{De,En}coder - Replace
Raw{De,En}coderwith blanket impls ofconsensus::{De,En}coderonio::Readandio::Write - make
serializeandserialize_hexinfallible
- Remove
- Make 0-input transaction de/serialization always use segwit
- Implement
FromStrandDisplayfor many more types
0.14.2 - 2018-09-11
- Add serde support for
Address
0.14.1 - 2018-08-28
- Reject non-compact
VarInts on various types - Expose many types at the top level of the crate
- Add
Ord,PartialOrdimpls forScript
0.14.0 - 2018-08-22
- Add regtest network to
Networkenum - Add
Script::is_op_return()which is more specific thanScript::is_provably_unspendable() - Update to bech32 0.8.0; add Regtest bech32 address support
- Replace rustc-serialize dependency with hex as a stopgap toward eliminating any extra dependencies for this; clean up the many independent hex encoders and decoders throughout the codebase.
- Add conversions between
ChildNumberandu32; make representation non-public; fix documentation - Add several derivation convenience to
bip32extended keys - Make
deserialize::deserialize()enforce no trailing bytes - Replace
TxOutRefwithOutPoint; use it inTxInstruct. - Use modern
as_to_into_conventions for array-wrapping types; implDisplayrather thanToStringfor most types - Change
script::Instructionsiterator to allow rejecting non-minimal pushes; fix bug where errors would iterate forever. - Overhaul
util::Error; introduceserialize::Errorand use it forSimpleDecoderandSimpleDecoderrather than parameterizing these over their error type. - Overhaul
UDecimalandDecimalserialization and parsing and fix many lingering parsing bugs - Update to serde 1.0 and strason 0.4
- Update to secp256k1 0.11.0
- Many, many documentation and test improvements.
0.13.1
- Add
Displaytrait to uints,FromStrtrait toNetworkenum - Add witness inv types to inv enum, constants for Bitcoin regtest network,
is_coin_baseaccessor for tx inputs - Expose
merkleroot(Vec<Sha256dHash>)
0.13
- Move witnesses inside the
TxInstructure - Add
Transaction::get_weight() - Update bip143
sighash_allAPI to be more ergonomic
0.12
- The in-memory blockchain was moved into a dedicated project rust-bitcoin-chain.
- Removed old script interpreter
- A new optional feature "bitcoinconsensus" lets this library use Bitcoin Core's native
script verifier, wrappend into Rust by the rust-bitcoinconsenus project.
See
Transaction::verifyandScript::verifymethods. - Replaced Base58 traits with
encode_slice,check_encode_slice, from andfrom_checkfunctions in the base58 module. - Un-reversed the Debug output for Sha256dHash
- Add bech32 support
- Support segwit address types
0.11
- Remove
numdependency at Matt's request; agree this is obnoxious to require all downstream users to also have anumdependency just so they can useUint256::from_u64.