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
bitcoin
dependency requirement to v0.32.6 to reflect used API by @tnull in #266 - feat: add
justfile
by @luisschwab in #268 - Prefer Utxo::Local over Utxo::Foreign in OldestFirstCoinSelection by @nymius in #265
- Preserve insertion order of manually selected utxos if
TxOrdering::Untouched
by @nymius in #262 - feat: Add
exclude_unconfirmed
andexclude_below_confirmations
by @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_txs
by @ValuedMammal in #270 - Fix
KeychainTxOutIndex
recovery logic when spk-cache is enabled by @evanlinjin in #288 - docs(wallet): add
sync
operation tobdk_wallet
examples by @tvpeter in #274 - chore(deps): bump
bdk-chain
to0.23.1
by @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_rpc
0.20.0bdk_electrum
0.23.0bdk_esplora
0.22.0bdk_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
- chore: split bdk_wallet into it's own repository by @notmandatory in #2
- chore: remove
lazy_static
from Cargo.toml by @luisschwab in #218 - chore(example_wallet_rpc): bump
ctrlc
to 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_chain
to 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
ChangeSet
by @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
Debug
onDisplay
implementations 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::Amount
instead ofu64
on tests by @luisschwab in #223 - fix(wallet): fix
into_descriptor_key
for DescriptorPublicKey by @ValuedMammal in #241 - fix: Validate prevouts in
get_psbt_input
by @evanlinjin in #232 - Bring back TxDetails by @thunderbiscuit in #201
- deps: Update
bdk_chain
to 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_seen
tx_graph::ChangeSet::last_evicted
keychain_txout::ChangeSet::spk_cache
What's Changed
- chore: split bdk_wallet into it's own repository by @notmandatory in #2
- chore: remove
lazy_static
from Cargo.toml by @luisschwab in #218 - chore(example_wallet_rpc): bump
ctrlc
to 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_chain
to 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
ChangeSet
by @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
Debug
onDisplay
implementations 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::Amount
instead ofu64
on tests by @luisschwab in #223 - fix(wallet): fix
into_descriptor_key
for DescriptorPublicKey by @ValuedMammal in #241 - fix: Validate prevouts in
get_psbt_input
by @evanlinjin in #232 - Bring back TxDetails by @thunderbiscuit in #201
- deps: Update
bdk_chain
to 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_chain
version 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_recipient
to acceptAddress
by @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
miniscript
to12.3.1
by @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_keychain
inWallet::build_fee_bump
by @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::transactions
should only return relevant transactions. #1779- Minor updates to fix new rustc 1.83.0 clippy warnings. #1776
Documentation
- Reword the
next_unused_address
API docs. #1680
What's Changed
- docs(wallet): reword the
next_unused_address
doc 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
transactions
method 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