Changelog information can be found in each release's git tag and can be viewed with git tag -ln100 "v*".
Changelog info is also documented on the GitHub releases
page. See DEVELOPMENT_CYCLE.md for more details.
- Added
descriptorcommand for generating descriptors - Added wallet subcommand
configfor saving and reusing wallet configuration - Added non-persisted async payjoin support
- Added
completionscommand to generate shell completions - Added
walletscommand to list all saved wallets configs - Refactor sync kyoto client to be borrowed/referenced
- Updated
cont_integrationandauditworkflows - Updated
--prettyto be used in any position - Updated documentation to include installation prerequisite
- Updated dependencies
bdk_electrumto v0.23.2,bdk_kyototo v0.15.4,bdk_redbto v0.1.1,clapto v4.6,clap_completeto v4.6,env_loggerto v0.11.10,thiserrorto v2.0.18,tracingto v0.1.44,tomlto v1.1.0,reqwestto v0.13.2,urlto v2.5.8 and other transitive dependencies - Replaced
coverallswithcodecovfor coverage reporting - Fixed config test to use any client
- Locked payjoin version to 1.0.0-rc.1
- Fix duplicate wallet creation in non-persistent path
- Removed remaining MSRV mentions in documentation
- Removed MSRV and bumped Rust Edition to 2024
- Added
--prettyflag for formatting outputs in human-readable form - Updated
bdk_walletto2.1.0,bdk_bitcoind_rpcto0.21.0,bdk_esplorato0.22.1,bdk_kyototo0.13.1 - Updated
tracing-subscriberto 0.3.20 - Added
trscript type tocompilecommand to support creating taproot descriptors - Added
redbas an alternative persistence tosqlite - Removed connection requirement for sending transactions in
bdk_kyoto - Added
justcommand runner for common commands andregtestbitcoind - Renamed
BuilderErrortoKyotoBuilderErrorand addedKyotoUpdateError - Updated
bdk_electrumto 0.23.0 - Added
justexample for starting, connecting and funding a wallet in regtest
- Changed the MSRV to 1.75.0 and bumped the rust edition to 2021
- Changed
electrumclient to usebdk_electrum,sqlitefeature to usebdk_wallet/rusqlite - Updated
replto use shlex instead ofregex,rustylineandfd-lock - Updated
bdk_walletto 1.0.0 - Updated
bdk_bitcoind_rpcto0.18.0,bdk_electrumto0.21.0,bdk_esplorato0.20.1,bdk-reservesto0.29.0 - Updated
electrsdto v31.0 - Updated
clapto v4.5 - Added
cbf(compact block filter) feature usingbdk-kyoto - Replaced
regtest-bitcoinfeature withrpc - Added custom error enum
- Set
replandsqliteas the default features - Set default fee rate to
FeeRate::BROADCAST_MIN - Enabled replace-by-fee by default
- Replaced
ExtendedPrivateKeywithXpriv - Replaced
list_transactionswithtransactions - Replaced
allow_shringkingwithdrain_tomethods - Replaced
Wallet<D>withPersistedWallet<D> - Replaced
descriptorCLI parameter withext-descriptorandchangewithint-descriptor - Dropped support for
sled - Dropped
key-value-dbfeature - Dropped
esplora-ureq,esplora-reqwest,regtest-bitcoin,regtest-electrum,regtest-nodeandreservesfeatures
- Added hardware signers through the use of HWI.
- Bumped rustc stable to 1.65.
- Bumped electrsd version to v0.22.*.
- Check that a
PSBTis signed before broadcast, else throw a useful error message to user. - Miniscript Translation capability to an
AliasMapin wasm, to enhance the paly ground interface. - cli-app framework from
structoptoclap. - Temporarily disable
compact_filtersuntilbdk v1.0.0launch.
- Add distinct
key-value-dbandsqlite-dbfeatures, keep default askey-value-db - Reorganize existing codes in separate modules. Change crate type from lib to bin.
- Rewrite relevant doc comments as
structopthelp document. - Update
bdkandbdk-reservesto v0.22.0. - Change default database to
sqlite. - Change the
esplora-reqwestfeature to always use async mode - Change rpc
--skip-blocksoption to--start-timewhich specifies time initial sync will start scanning from. - Add new
bdk-cli node <command> [<args>]to control the backend node deployed byregtest-*features. - Add an integration testing framework in
src/tests/integration.rs. This framework uses theregtest-*feature to run automated testing with bdk-cli. - Add possible values for
networkoption to improve help message, and fix typo in doc. - Add a module
wasmcontaining objects to use bdk-cli from web assembly
- Re-license to dual MIT and Apache 2.0 and update project name to "Bitcoin Dev Kit"
- Update to bdk and bdk-reserves to
0.18.0 - Add 'verify' feature flag which enables transaction verification against consensus rules during sync.
- Add experimental
regtest-*features to automatically deploy local regtest nodes (bitcoind, and electrs) while running cli commands. - Put cached wallet data in separate directories: ~/.bdk-bitcoin/<wallet_name>
- New MSRV set to
1.56
- Replace
wallet bump_feecommand--send_allwith new--shrinkoption - Add 'reserve' feature to enable proof of reserve
- If no wallet name is provided, derive one from the descriptor instead of using "main"
- Add optional cookie authentication for rpc backend
- Add RPC backend support, after bdk v0.12.0 release
- Update default feature to not include electrum
- Upgrade to
bdkv0.12.x - Add top level command "Compile" which compiles a miniscript policy to an output descriptor
- Add
CompactFilterOptstoWalletOptsto enable compact-filter blockchain configuration - Add
verboseoption toWalletOptsto display PSBTs and transaction details also in JSON format - Require at most one blockchain client feature be enabled at a time
- Change default esplora server URL to https://blockstream.info/testnet/api/ to match default testnet network
- Add support for
wasm - Upgrade
bdkto0.4.0andbdk-macrosto0.3.0 - A wallet without a
Blockchainis used when handling offline wallet sub-commands - Add top level commands "wallet", "key", and "repl"
- Add "key" sub-commands to "generate" and "restore" a master private key
- Add "key" sub-command to "derive" an extended public key from a master private key
- "repl" command now has an "exit" sub-command
- "wallet" sub-commands and options must be proceeded by "wallet" command
- "repl" command loop now includes both "wallet" and "key" sub-commands
- Add CONTRIBUTING.md
- Add CI and code coverage Discord badges to the README
- Add CI and code coverage github actions workflows
- Add scheduled audit check in CI
- Add CHANGELOG.md
- If an invalid network name return an error instead of defaulting to
testnet