Releases: bitcoindevkit/bdk_wallet
Release wallet-2.2.0
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.
*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
- @LagginTimes made their first contribution in #296
- @110CodingP made their first contribution in #300
Full Changelog: wallet-2.1.0...wallet-2.2.0
Release wallet-2.1.0
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
- chore: bump dev version to 2.1.0-alpha.0 by @ValuedMammal in #256
- ci: automated update to rustc 1.87.0 by @create-pr-actions[bot] in #242
- Bump
bitcoindependency requirement to v0.32.6 to reflect used API by @tnull in #266 - feat: add
justfileby @luisschwab in #268 - Prefer Utxo::Local over Utxo::Foreign in OldestFirstCoinSelection by @nymius in #265
- Preserve insertion order of manually selected utxos if
TxOrdering::Untouchedby @nymius in #262 - feat: Add
exclude_unconfirmedandexclude_below_confirmationsby @evanlinjin in #258 - test: Move bump fee + foreign utxo tests by @ValuedMammal in #199
- chore: add CODEOWNERS file by @luisschwab in #233
- Multipath descriptor support (BIP 389) by @schjonhaug in #275
- clippy: fix uninlined format args by @ValuedMammal in #287
- docs(wallet): expand docs for
apply_evicted_txsby @ValuedMammal in #270 - Fix
KeychainTxOutIndexrecovery logic when spk-cache is enabled by @evanlinjin in #288 - docs(wallet): add
syncoperation tobdk_walletexamples by @tvpeter in #274 - chore(deps): bump
bdk-chainto0.23.1by @oleonardolima in #292 - Release 2.1.0 by @oleonardolima in #293
New Contributors
- @create-pr-actions[bot] made their first contribution in #242
- @tnull made their first contribution in #266
- @nymius made their first contribution in #265
- @schjonhaug made their first contribution in #275
- @tvpeter made their first contribution in #274
- @oleonardolima made their first contribution in #292
Full Changelog: wallet-2.0.0...wallet-2.1.0
Release wallet-2.0.0
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_rpc0.20.0bdk_electrum0.23.0bdk_esplora0.22.0bdk_kyoto0.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_seentx_graph::ChangeSet::last_evictedkeychain_txout::ChangeSet::spk_cache
What's Changed
- chore: split bdk_wallet into it's own repository by @notmandatory in #2
- chore: remove
lazy_staticfrom Cargo.toml by @luisschwab in #218 - chore(example_wallet_rpc): bump
ctrlcto 3.4.6 by @luisschwab in #217 - chore(example_wallet_esplora_async): bump tokio to 1.38.1 by @luisschwab in #219
- deps!: update
bdk_chainto 0.22.0 by @ValuedMammal in #208 - Chore: migrate library version naming convention on master by @thunderbiscuit in #215
- docs(wallet): provide guidance on use of
ChangeSetby @ValuedMammal in #198 - ci: Add Ubuntu 24.04 ARM support for build-test job by @vkprogrammer-001 in #200
- Add zizmor github actions security analysis workflow by @notmandatory in #8
- fix: no
DebugonDisplayimplementations by @luisschwab in #12 - chore: create and apply rustfmt.toml by @luisschwab in #213
- feat(test): add legacy descriptor tests by @luisschwab in #214
- feat(test-utils)!: use
bitcoin::Amountinstead ofu64on tests by @luisschwab in #223 - fix(wallet): fix
into_descriptor_keyfor DescriptorPublicKey by @ValuedMammal in #241 - fix: Validate prevouts in
get_psbt_inputby @evanlinjin in #232 - Bring back TxDetails by @thunderbiscuit in #201
- deps: Update
bdk_chainto 0.23.0 by @ValuedMammal in #247
Full Changelog: wallet-1.2.0...wallet-2.0.0
Release wallet-2.0.0-beta.0
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_seentx_graph::ChangeSet::last_evictedkeychain_txout::ChangeSet::spk_cache
What's Changed
- chore: split bdk_wallet into it's own repository by @notmandatory in #2
- chore: remove
lazy_staticfrom Cargo.toml by @luisschwab in #218 - chore(example_wallet_rpc): bump
ctrlcto 3.4.6 by @luisschwab in #217 - chore(example_wallet_esplora_async): bump tokio to 1.38.1 by @luisschwab in #219
- deps!: update
bdk_chainto 0.22.0 by @ValuedMammal in #208 - Chore: migrate library version naming convention on master by @thunderbiscuit in #215
- docs(wallet): provide guidance on use of
ChangeSetby @ValuedMammal in #198 - ci: Add Ubuntu 24.04 ARM support for build-test job by @vkprogrammer-001 in #200
- Add zizmor github actions security analysis workflow by @notmandatory in #8
- fix: no
DebugonDisplayimplementations by @luisschwab in #12 - chore: create and apply rustfmt.toml by @luisschwab in #213
- feat(test): add legacy descriptor tests by @luisschwab in #214
- feat(test-utils)!: use
bitcoin::Amountinstead ofu64on tests by @luisschwab in #223 - fix(wallet): fix
into_descriptor_keyfor DescriptorPublicKey by @ValuedMammal in #241 - fix: Validate prevouts in
get_psbt_inputby @evanlinjin in #232 - Bring back TxDetails by @thunderbiscuit in #201
- deps: Update
bdk_chainto 0.23.0 by @ValuedMammal in #247
New Contributors
- @notmandatory made their first contribution in #2
- @luisschwab made their first contribution in #218
- @ValuedMammal made their first contribution in #208
- @thunderbiscuit made their first contribution in #215
- @vkprogrammer-001 made their first contribution in #200
- @evanlinjin made their first contribution in #232
Full Changelog: wallet-1.2.0...wallet-2.0.0-beta.0
Release wallet-1.2.0
Summary
In this release of bdk_wallet 1.2.0 The TxBuilder add_recipient function now accepts anything that implements Into<ScriptBuf>. The wallet considers a coinbase output eligible for selection if it will mature in the next block. Wallets persisted with a rusqlite::Connection are checked to be thread-safe. The bdk_chain dependency is updated to version 0.21.1, plus a number of internal cleanups.
What's Changed
- Fix off-by-one error checking coinbase maturity in optional UTxOs by @nymius in bitcoindevkit/bdk#1830
- wallet: Bump bitcoin dependency to v0.32.4 by @stevenroose in bitcoindevkit/bdk#1853
bdk_wallet: Pinbdk_chainversion to latest release by @evanlinjin in bitcoindevkit/bdk#1860- Refactor/use iterators to preselect utxos by @nymius in bitcoindevkit/bdk#1798
- Refactor file store by @nymius in bitcoindevkit/bdk#1684
- docs: update CONTRIBUTING.md with section for new contributors by @notmandatory in bitcoindevkit/bdk#1871
- fix(examples): make regtest default on wallet_example_rpc by @luisschwab in bitcoindevkit/bdk#1872
- chore(examples): make change descriptor optional on example_wallet_rpc by @luisschwab in bitcoindevkit/bdk#1865
- Generalize
add_recipientto acceptAddressby @rustaceanrob in bitcoindevkit/bdk#1841 - doc: remove 1.0 roadmap stuff and fix broken links from README by @luisschwab in bitcoindevkit/bdk#1882
- doc: remove persist crate from README by @luisschwab in bitcoindevkit/bdk#1884
- fix(wallet): allow PersistedWallet to be Send + Sync by @notmandatory in bitcoindevkit/bdk#1874
- example_cli: add feerate option to psbt new cmd by @ValuedMammal in bitcoindevkit/bdk#1840
- chore: bump
miniscriptto12.3.1by @LagginTimes in bitcoindevkit/bdk#1924 - chore: bump bdk_wallet to 1.2.0 by @ValuedMammal in bitcoindevkit/bdk#1925
New Contributors
- @Musab1258 made their first contribution in bitcoindevkit/bdk#1895
Full Changelog: bitcoindevkit/bdk@wallet-1.1.0...wallet-1.2.0
Release wallet-1.1.0
Summary
In this release of bdk_wallet v1.1.0 the tx builder is updated to use transaction version 2 by default, and support for wallets using testnet4 is now live. This release also includes important updates to bdk_electrum which has a new MSRV of 1.75.0 to stay current with the latest security fixes, bdk_bitcoind_rpc introduces a new compact block filter module, as well as various bug fixes and improvements.
What's Changed
- test(wallet): small cleanups to test_wallet_transactions_relevant by @notmandatory in bitcoindevkit/bdk#1785
- refactor(wallet): cleanup and remove unused code in create_tx by @notmandatory in bitcoindevkit/bdk#1768
- docs: add architectural decision records (ADR) by @ValuedMammal in bitcoindevkit/bdk#1592
- fix(wallet): improve safety on finalize psbt by @f3r10 in bitcoindevkit/bdk#1790
- feat(wallet): change default tx to version 2 by @benalleng in bitcoindevkit/bdk#1789
- test(wallet): create tx locktime cltv for a specific time by @f3r10 in bitcoindevkit/bdk#1682
- feat(wallet): support Testnet4 in valid networks by @ValuedMammal in bitcoindevkit/bdk#1805
- fix(wallet): use
map_keychaininWallet::build_fee_bumpby @ValuedMammal in bitcoindevkit/bdk#1812 - ci: add secondary MSRV job of 1.75.0 by @oleonardolima in bitcoindevkit/bdk#1803
- ci: apply zizmor security audit by @oleonardolima in bitcoindevkit/bdk#1778
New Contributors
- @f3r10 made their first contribution in bitcoindevkit/bdk#1790
- @benalleng made their first contribution in bitcoindevkit/bdk#1789
- @pluveto made their first contribution in bitcoindevkit/bdk#1738
Full Changelog: bitcoindevkit/bdk@wallet-1.0.0...wallet-1.1.0
Release wallet-1.0.0
Summary
This is the final bdk_wallet 1.0.0 release. It contains small improvements to the wallet transactions function and
next_unused_address API docs. Please thank all the contributors who made this first major release possible and
who's continued effort make the BDK project so awesome!
Changelog
Changed
Wallet::transactionsshould only return relevant transactions. #1779- Minor updates to fix new rustc 1.83.0 clippy warnings. #1776
Documentation
- Reword the
next_unused_addressAPI docs. #1680
What's Changed
- docs(wallet): reword the
next_unused_addressdoc by @oleonardolima in bitcoindevkit/bdk#1680 - chore[chain,wallet]: fix build warnings by @notmandatory in bitcoindevkit/bdk#1774
- ci: automated update to rustc 1.83.0 by @create-pr-actions in bitcoindevkit/bdk#1776
transactionsmethod should only return relevant transactions by @evanlinjin in bitcoindevkit/bdk#1779- Bump bdk_wallet version to 1.0.0 by @notmandatory in bitcoindevkit/bdk#1784
Full Changelog: bitcoindevkit/bdk@v1.0.0-beta.6...wallet-1.0.0