Skip to content

Releases: bitcoindevkit/bdk_wallet

3.1.0

14 Jun 03:57
v3.1.0
58fe631

Choose a tag to compare

Summary

bdk_wallet v3.1.0 introduces the sign_with_signers method for Wallet giving callers more control over the signing process by accepting a custom list of SignersContainer, and LoadParams gains a convenient two_path_descriptor method for validating the wallet descriptors loaded from persistence. A SECURITY.md document has been added to the repository with instructions for reporting vulnerabilities. This release also includes several bug fixes and improvements.

What's Changed

  • refactor: Delegate rusqlite::Connection persister to transaction persister by @shinigami-777 in #421
  • feat(wallet): add LoadParams::two_path_descriptor method by @yukibtc in #418
  • docs(wallet): fix misleading RBF comment in create_tx by @va-an in #422
  • fix(coin_selection): calculate_cs_result returns the required UTXOs first by @ValuedMammal in #390
  • chore(tests): replace deprecated FeeRate::from_sat_per_vb_unchecked by @none34829 in #455
  • fix(descriptor): correct variable binding names in l: and u: fragment modifiers by @tnull in #454
  • chore: allow local justfile overrides by @Shgit29 in #460
  • chore: bump dev version to 3.1.0-alpha.0 by @ValuedMammal in #441
  • fix(ci): pin idna_adapter to 1.2.1 by @oleonardolima in #466
  • fix: always validate non_witness_utxo in add_foreign_utxo by @tnull in #461
  • fix: handle MultiXPrv/MultiXPub in network kind detection and fixup by @tnull in #459
  • Add SECURITY.md by @luisschwab in #437
  • fix: avoid panic on hardened derivation paths in PSBT key origins by @tnull in #458
  • fix(descriptor): correct index tracking in combinations() function by @tnull in #453
  • fix(audit): add non-witness-utxo validation for psbt by @muhahahmad68 in #471
  • fix(types): avoid reachable panics in Utxo::txout for Foreign variant by @muhahahmad68 in #487
  • Fix wallet name generation to use explicit public descriptor checksum by @AmosOO7 in #482
  • fix(coin_selection): avoid per-utxo fee rounding by @benthecarman in #479
  • fix(signer): respect allow_all_sighashes in SignerWrapper::sign_input by @muhahahmad68 in #476
  • docs: suggest moving most PR checklist items to contributing guide by @noahjoeris in #492
  • feat(wallet): add Wallet::sign_with_signers by @noahjoeris in #490
  • Release 3.1.0 by @ValuedMammal in #501

New Contributors

Full Changelog: v3.0.0...v3.1.0

Release wallet-2.4.0

28 Apr 19:29
wallet-2.4.0
d51afed

Choose a tag to compare

Summary

This release focuses on back porting migration support and event system enhancements from the 3.0 release. Key additions include get_pre_v1_wallet_keychains migration helper for upgrading from pre-1.0 bdk sqlite databases, new event tracking methods (apply_unconfirmed_txs_events, apply_evicted_txs_events), and an events_helper function for advanced event handling. The wallet::signer module deprecation has been reverted until the new PSBT signer is ready.

Changelog

Added

  • Add get_pre_v1_wallet_keychains migration helper to assist with migrating from pre-1.0 bdk sqlite databases #365, #415
  • Add Wallet::apply_unconfirmed_txs_events method for tracking unconfirmed transaction events #399
  • Add Wallet::apply_evicted_txs_events method for tracking evicted transaction events #399
  • Add Wallet::events_helper method for advanced users to generate WalletEvents after custom operations #399

Reverted

  • Un-deprecate wallet::signer module #405

What's Changed

Full Changelog: wallet-2.3.0...wallet-2.4.0

Release 3.0.0

13 Apr 14:18
v3.0.0
5df32ca

Choose a tag to compare

Summary

BDK Wallet 3.0.0 includes documentation enhancements and important updates to continuous integration and developer workflows. This is a major release that includes changes from the latest release candidates, summaries of which are also linked to below.

What's Changed

Full Changelog: v3.0.0-rc.2...v3.0.0


3.0.0-rc.2

BDK Wallet 3.0.0-rc.2 features enhanced ergonomics and type safety of the pre version 1.0 wallet migration utility and fixes a panic in the descriptor! macro when provided with invalid locktime values. The macro now handles improperly constructed AbsLockTime and RelLockTime values by propagating an error back to the caller.

Release notes: https://github.com/bitcoindevkit/bdk_wallet/releases/tag/v3.0.0-rc.2

3.0.0-rc.1

BDK Wallet 3.0.0-rc.1 introduces major API changes including persistent UTXO locking, structured wallet events, and adopts NetworkKind throughout the codebase for improved network handling. This release also adds support for Caravan wallet format import/export and includes a special migration utility for SQLite databases existing prior to version 1.0. Documentation and test coverage have been expanded, along with several quality of life improvements.

Important

Changes to persisted data
This release includes a SQLite migration which adds a new table to the wallet database bdk_wallet_locked_outpoints used for tracking UTXO lock statuses. This change is backwards compatible.

Release notes: https://github.com/bitcoindevkit/bdk_wallet/releases/tag/v3.0.0-rc.1

Release 3.0.0-rc.2

26 Mar 00:28
v3.0.0-rc.2
4e202c8

Choose a tag to compare

Release 3.0.0-rc.2 Pre-release
Pre-release

Summary

BDK Wallet 3.0.0-rc.2 features enhanced ergonomics and type safety of the pre version 1.0 wallet migration utility and fixes a panic in the descriptor! macro when provided with invalid locktime values. The macro now handles improperly constructed AbsLockTime and RelLockTime values by propagating an error back to the caller.

What's Changed

  • fix(dsl): handle invalid RelLockTime without panicking by @AmosOO7 in #404
  • fix(dsl): handle invalid AbsLockTime without panicking by @AmosOO7 in #409
  • fix(rusqlite): fix get_pre_v1_wallet_keychains migration helper by @notmandatory in #411
  • chore: bump version to 3.0.0-rc.2 by @ValuedMammal in #417

New Contributors

Full Changelog: v3.0.0-rc.1...v3.0.0-rc.2

Release 3.0.0-rc.1

10 Mar 23:25
v3.0.0-rc.1
fca6523

Choose a tag to compare

Release 3.0.0-rc.1 Pre-release
Pre-release

Summary

BDK Wallet 3.0.0-rc.1 introduces major API changes including persistent UTXO locking, structured wallet events, and adopts NetworkKind throughout the codebase for improved network handling. This release also adds support for Caravan wallet format import/export and includes a special migration utility for SQLite databases existing prior to version 1.0. Documentation and test coverage have been expanded, along with several quality of life improvements.

Important

Changes to persisted data
This release includes a SQLite migration which adds a new table to the wallet database bdk_wallet_locked_outpoints used for tracking UTXO lock statuses. This change is backwards compatible.

What's Changed

New Contributors

Full Changelog: wallet-2.3.0...v3.0.0-rc.1

Release wallet-2.3.0

04 Dec 16:58
wallet-2.3.0
5ed44c9

Choose a tag to compare

Summary

This minor release of BDK Wallet v2.3.0 includes a new feature for returning events upon applying blocks to the Wallet. It also fixes a TxBuilder::build_fee_bump error when a parent of the transaction being fee-bumped isn't found in the wallet.

Changelog

Added

  • feat: add apply_block_events and apply_block_connected_to_events #336

Fixed

  • fix: (backport #337) - don't fail in build_fee_bump for missing parent txid #349
  • ci: pin syn crate to 2.0.106 #338

What's Changed

Full Changelog: wallet-2.2.0...wallet-2.3.0

Release wallet-2.2.0

01 Oct 15:14
wallet-2.2.0
4c5702e

Choose a tag to compare

Summary

This minor release of BDK Wallet v2.2.0 includes a new feature for returning events upon applying an update to the Wallet. It also includes new test facilities for testing persistence, as well as documentation improvements.

Important

Note that the signer module has been deprecated and is planned to be removed in a future release.

The current PSBT signing logic can be found in bitcoin::psbt module, most notably Psbt::sign.

What's Changed

  • docs: add metadata fields to issue templates for triage by @LagginTimes in #296
  • ci: automated update to rustc 1.89.0 by @create-pr-actions[bot] in #298
  • docs: (Backport #306) - add wording on required use of xpub for multipath constructor by @thunderbiscuit in #309
  • feat: (Backport #300) - Add utilities to test persistence by @ValuedMammal in #311
  • feat: Return wallet events when applying updates by @notmandatory in #310

New Contributors

Full Changelog: wallet-2.1.0...wallet-2.2.0

Release wallet-2.1.0

07 Aug 15:00
wallet-2.1.0
6905189

Choose a tag to compare

Summary

This release of bdk_wallet v2.1.0 introduces two significant features: comprehensive support for BIP-389 two-path multipath descriptors with automatic receive/change separation through new Wallet::create_from_two_path_descriptor, and enhanced transaction building capabilities with TxBuilder::exclude_unconfirmed and TxBuilder::exclude_below_confirmations for filtering UTXOs by confirmation status. The release also includes important fixes related to coin selection and script pubkey (SPK) cache recovery.

What's Changed

New Contributors

Full Changelog: wallet-2.0.0...wallet-2.1.0

Release wallet-2.0.0

04 Jun 23:48
wallet-2.0.0
4c76dc8

Choose a tag to compare

Summary

This release includes a bug fix for handling stuck or evicted transactions, performance enhancements for large wallets, more extensive test coverage, and the return of TxDetails. This is the first stable release since the bdk_wallet crate moved to a new repository.

The below bdk chain client crate versions are compatible with this bdk_wallet release:

  • bdk_bitcoind_rpc 0.20.0
  • bdk_electrum 0.23.0
  • bdk_esplora 0.22.0
  • bdk_kyoto 0.11.0

Changes to persisted data

The wallet ChangeSet is extended to include the following (sub-)fields. This change is backwards compatible.

  • tx_graph::ChangeSet::first_seen
  • tx_graph::ChangeSet::last_evicted
  • keychain_txout::ChangeSet::spk_cache

What's Changed

Full Changelog: wallet-1.2.0...wallet-2.0.0

Release wallet-2.0.0-beta.0

29 May 12:51
wallet-2.0.0-beta.0
ce70bb7

Choose a tag to compare

Pre-release

Summary

This is a beta release in preparation for a final v2.0.0 of BDK wallet. We encourage users to test the release and report any issues.

The release includes a bug fix for handling stuck or evicted transactions, performance enhancements for large wallets, more extensive test coverage, and the return of TxDetails. This is the first release since the bdk_wallet crate moved to a new repository.

Changes to persisted data

The wallet ChangeSet is extended to include the following (sub-)fields. This change is backwards compatible.

  • tx_graph::ChangeSet::first_seen
  • tx_graph::ChangeSet::last_evicted
  • keychain_txout::ChangeSet::spk_cache

What's Changed

New Contributors

Full Changelog: wallet-1.2.0...wallet-2.0.0-beta.0