Skip to content

Releases: bitcoindevkit/bdk

Release 0.26.0

04 Jan 18:28
v0.26.0
cd64d12
Compare
Choose a tag to compare
Release 0.26.0 Pre-release
Pre-release

Summary

This release improves Fulcrum electrum server compatibility and fixes public descriptor template key origin paths. We also snuck in small enhancements to configure the electrum client to validate the domain using SSL and sort TransactionDetails by block height and timestamp.

Changelog

Fixed

  • Make electrum blockchain client save_tx function order independent to work with Fulcrum servers. #808
  • Fix wrong testnet key origin path in public descriptor templates. #818
  • Make README.md code examples compile without errors. #820

Added

  • For electrum blockchain client, allow user to configure whether to validate the domain using SSL. #805
  • Implement ordering for TransactionDetails. #812

Changed

  • Bump hwi dependency to 0.4.0. #825
  • Bump esplora-client dependency to 0.3 #830

What's Changed

New Contributors

Full Changelog: v0.25.0...v0.26.0

Release 0.25.0

05 Dec 21:04
v0.25.0
d288cbb
Compare
Choose a tag to compare
Release 0.25.0 Pre-release
Pre-release

Summary

This release fixes slow sync time and big script_pubkeys table with SQLite, the wallet rescan height for the FullyNodedExport and setting the network for keys in the KeyMap when using descriptor templates. Also added are new blockchain and mnemonic examples.

Changelog

Fixed

  • Slow sync time and big script_pubkeys table with SQLite.
  • Wallet rescan height for the FullyNodedExport.
  • Setting the network for keys in the KeyMap when using descriptor templates.

Added

  • Examples for connecting to Esplora, Electrum Server, Neutrino and Bitcoin Core.
  • Example for using a mnemonic in a descriptors.

What's Changed

Full Changelog: v0.24.0...v0.25.0

Release 0.24.0

05 Nov 21:00
v0.24.0
2275b5f
Compare
Choose a tag to compare
Release 0.24.0 Pre-release
Pre-release

Summary

This release contains important dependency updates for rust-bitcoin to 0.29 and rust-miniscript to 8.0, plus related crates that also depend on the latest version of rust-bitcoin. The release also includes a breaking change to the BDK signer which now produces low-R signatures by default, saving one byte. A bug was found in the get_checksum and get_checksum_bytes functions, which are now deprecated in favor of fixed versions called calc_checksum and calc_checksum_bytes. And finally a new hardware-signer features was added that re-exports the hwi crate, along with a new hardware_signers.rs example file.

Changelog

Changed

  • Updated dependency versions for rust-bitcoin to 0.29 and rust-miniscript to 8.0, plus all related crates. @afilini #770
  • BDK Signer now produces low-R signatures by default, saving one byte. If you want to preserve the original behavior, set allow_grinding in the SignOptions to false. @vladimirfomene #779
  • Deprecated get_checksumand get_checksum_bytes due to bug where they calculates the checksum of a descriptor that already has a checksum. Use calc_checksum and calc_checksum_bytes instead. @evanlinjin #765
  • Remove deprecated "address validators". @afilini #770

Added

What's Changed

Full Changelog: v0.23.0...v0.24.0

v0.23.0

07 Oct 11:35
v0.23.0
0facb99
Compare
Choose a tag to compare
v0.23.0 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v0.22.0...v0.23.0

v0.22.0

08 Sep 07:56
v0.22.0
32db387
Compare
Choose a tag to compare
v0.22.0 Pre-release
Pre-release

Summary

This release brings support for hardware signers on desktop through the HWI library.

It also includes fixes and improvements which are part of our ongoing effort of integrating BDK and LDK together.

Changelog

Added

  • Functions to create FeeRate from sats/kvbytes and sats/kwu. #678
  • Custom hardware wallet signer HwiSigner in wallet::hardwaresigner module. #682
  • Function allow_dust on TxBuilder. #689
  • Implementation of Deref<Target=UrlClient> for EsploraBlockchain. #722
  • Implementation of Deref<Target=Client> for ElectrumBlockchain #705
  • Implementation of Deref<Target=Client> for RpcBlockchain. #731

Changed

  • FeeRate function name as_sat_vb to as_sat_per_vb. #678
  • Verify signatures after signing. #718
  • Dependency electrum-client to 0.11.0. #737

All Changes

New Contributors

Full Changelog: v0.21.0...v0.22.0

Release 0.21.0

11 Aug 19:11
v0.21.0
5493379
Compare
Choose a tag to compare
Release 0.21.0 Pre-release
Pre-release

Highlights of this released are the new Wallet::get_balance() which returns a detailed breakdown of how much funds are trusted, untrusted or immature and a completely rewritten RpcBlockchain which removes some of the limitations of the previous implementation. This release also contains many bug fixes and general improvements related to the coin selection and more broadly the transaction creation logic. A big thanks to our past and latest new contributors. See below for all the details.

What's Changed

New Contributors

Full Changelog: v0.20.0...v0.21.0

Release 0.20.0

13 Jul 18:38
v0.20.0
78d26f6
Compare
Choose a tag to compare
Release 0.20.0 Pre-release
Pre-release

Highlights for this release include bug fixes for the ElectrumBlockchain and descriptor templates, new transactions building feature to discourage fee sniping, and new transaction signing options. Also with this release MSRV is now 1.56.1 and AddressValidator is deprecated. A big thanks to our past and latest new contributors. See below for all the details.

What's Changed

New Contributors

Full Changelog: v0.19.0...v0.20.0

Release 0.19.0

10 Jun 16:58
v0.19.0
fa4c73a
Compare
Choose a tag to compare
Release 0.19.0 Pre-release
Pre-release

This release brings experimental taproot support including tr() descriptors, taproot PSBTs, signing key and script spend taproot PSBTs, and tr() in descriptor! macros. The release also bring a new coin selection algorithm OldestFirstCoinSelection, a sqlite-db fix, and major dependency updates. See below for the changes.

What's Changed

New Contributors

Full Changelog: v0.18.0...v0.19.0

Release 0.18.0

21 Apr 15:33
v0.18.0
e3ce500
Compare
Choose a tag to compare
Release 0.18.0 Pre-release
Pre-release

This release includes an important security fix, see the "Security Advisory: Miniscript MINIMALIF Bug" blog post for more details.

Other changes in this release include improvements to the key generation traits, new wallet functions to get signers, descriptor checksum and address validators, and a new sqlite-bundled feature for mobile users. The Database::flush() function was deprecated and the WalletExport struct was renamed to FullyNodedExport.

What's Changed

New Contributors

Full Changelog: v0.17.0...v0.18.0

Release 0.17.0

18 Mar 03:01
v0.17.0
cac312d
Compare
Choose a tag to compare
Release 0.17.0 Pre-release
Pre-release

This release brings a change to the wallet sync API to decouple the Wallet from the Blockchain, see the CHANGELOG for all the details. Also in this release is a change to the wallet sync verification logic which is now enabled via a build time feature. Two new wallet functions were added to get an internal address and to let offline wallets load and cache addresses. See below for the complete list of improvements and fixed bugs.

What's Changed

New Contributors

Full Changelog: v0.16.1...v0.17.0