Releases: bitcoindevkit/bdk
Release 0.28.1
Summary
This patch release backports (from the BDK 1.0 dev branch) a fix for a bug in the policy condition calculation and adds a new taproot single key descriptor template (BIP-86). The policy condition calculation bug can cause issues when a policy subtree fails due to missing info even if it's not selected when creating a new transaction, errors on unused policy paths are now ignored.
Changelog
Fixed
Added
What's Changed
- Fix release/0.28 branch 1.57 MSRV errors by @notmandatory in #991
- Backporting "Fix policy condition calculation" onto release/0.28 by @junderw in #1008
- Ignore rocksdb audit error RUSTSEC-2022-0046 by @notmandatory in #1007
- Backport new taproot descriptor template (BIP86) by @notmandatory in #1033
- ci: pin dependencies with Cargo update instead of in Cargo.toml by @notmandatory in #1054
- release: bump version to 0.28.1 by @notmandatory in #1057
New Contributors
Full Changelog: v0.28.0...v0.28.1
Release 1.0.0-alpha.1
Summary
The BDK 1.0.0-alpha release should be used for experimentation only, APIs are still unstable and the code is not fully tested. This alpha.1 release introduces the new ChainOracle
struct for more efficient chain syncing. A new std
default feature was added for bdk
, bdk_chain
and bdk_esplora
crates; when disabled these crates can be used in no-std
projects. BDK 1.0.0-alpha.x docs are now published to docs.rs.
Changelog
Fixed
- Fixed a bug in the policy condition calculation. #932
- Pin base64 to 0.21.0 #990
- Fix docsrs publishing for bdk crate. #1011
Changed
- Refactor
bdk_chain
to use newChainOracle
structure. #926 #963 #965 #975 #976 - Better no std support. #894
- Set
default-features = false
forrust-bitcoin
andrust-miniscript
. - Introduce
std
default feature forbdk
,bdk_chain
andbdk_esplora
.
- Set
Added
- Add a simple conversion tool for going to kilo weight units. #953
- Add Custom spk iterator. #927
- Add taproot descriptor template (BIP-86). #840
What's Changed
- Add fixes for publishing to crates.io by @notmandatory in #914
- Fix policy condition calculation by @afilini in #932
- Introduce redesigned
bdk_chain
structures by @evanlinjin in #926 - Add sat_per_kwu to FeeRate by @benthecarman in #953
- Cleanup IndexedTxGraph test. by @rajarshimaitra in #959
- Reenable code coverage upload to Coveralls by @notmandatory in #960
- Custom spk iterator by @LagginTimes in #927
- Various tweaks to redesigned structures by @evanlinjin in #963
- Implement persistence with the new structures by @evanlinjin in #965
- Improve
txout
listing and balance APIs for redesigned structures by @evanlinjin in #975 - Fixed typos in CONTRIBUTING.md by @jonmarrs in #981
- Pin base64 to 0.21.0 to keep the MSRV to 1.57.0 by @danielabrozzoni in #990
- Unpin base64 by @danielabrozzoni in #993
- Documentation regarding absolute_fee and fee_rate updated by @roy9495 in #957
- Rename "keychanins" to keychains by @danielabrozzoni in #1001
- Reimplement
Wallet
,ElectrumExt
andEsplora{Async}Ext
with redesigned structures. by @evanlinjin in #976 - Pin log dependency to 0.4.18 to keep the MSRV to 1.57.0 by @danielabrozzoni in #1009
- create taproot descriptor template by @vladimirfomene in #840
- Better no-std support by @evanlinjin in #894
- Fix cargo features by @evanlinjin in #1017
- [ci] fix docsrs error for bdk crate by @notmandatory in #1011
- Bump version to 1.0.0-alpha.1 by @notmandatory in #1026
New Contributors
- @LagginTimes made their first contribution in #927
- @jonmarrs made their first contribution in #981
- @roy9495 made their first contribution in #957
Full Changelog: v1.0.0-alpha.0...v1.0.0-alpha.1
Release 0.28.0
Summary
This is a maintenance release and includes changes from yanked version 0.27.2 including to disable default-features for rust-bitcoin and rust-miniscript dependencies, and for rust-esplora-client optional dependency. New default std feature must now be enabled unless building for wasm.
Changelog
- Bump bip39 crate to v2.0.0 #875
- Set default-features = false for rust-bitcoin and rust-miniscript #882
- Update esplora client dependency to version 0.4 #884
- Added new std feature as part of default features #930
What's Changed
- Set dev-dependency base64ct version to <1.6.0 by @notmandatory in #877
- Set
default-features = false
for rust-bitcoin and rust-miniscript by @benthecarman in #882 - Update esplora client dependency to version 0.4 by @notmandatory in #884
- Bump version to 0.27.2 by @notmandatory in #892
- Bump bip39 crate to v2.0.0 by @tnull in #875
- Add default
std
feature, prep for 0.28.0 release by @notmandatory in #930
Full Changelog: v0.27.1...v0.28.0
Release 1.0.0-alpha.0
Summary
The first "alpha" release of the new BDK 1.0 refactoring work. This is still a WIP and only meant to be used for testing and experimentation with downstream projects.
Also bumping below workspace crate versions:
bdk_chain to 0.4.0
bdk_electrum to 0.2.0
bdk_esplora to 0.2.0
bdk_file_store to 0.1.0
Changelog
Not updating the CHANGELOG file for alpha releases, just putting here for the record.
Release 0.27.2
RELEASE YANKED FROM CRATES.IO
See: #897
Summary
Disable default-features for rust-bitcoin and rust-miniscript dependencies, and for rust-esplora-client optional dependency.
Changelog
Changed
- Set default-features = false for rust-bitcoin and rust-miniscript #882
- Update esplora client dependency to version 0.4 #884
What's Changed
- Set dev-dependency base64ct version to <1.6.0 by @notmandatory in #877
- Set
default-features = false
for rust-bitcoin and rust-miniscript by @benthecarman in #882 - Update esplora client dependency to version 0.4 by @notmandatory in #884
- Bump version to 0.27.2 by @notmandatory in #892
Full Changelog: v0.27.1...v0.27.2
Release 0.27.1
Summary
Fixes RUSTSEC-2022-0090, this issue is only applicable if you are using the optional sqlite database feature.
Changelog
Changed
- Update optional sqlite dependency from 0.27.0 to 0.28.0. #867
Full Changelog: v0.27.0...v0.27.1
Release 0.27.0
Summary
A maintenance release with a bump in project MSRV to 1.57.0, updated dependence and a few developer oriented improvements. Improvements include better error formatting, don't default to async/await for wasm32 and adding derived PartialEq and Eq on SyncTime.
Changelog
Changed
- Improve display error formatting #814
- Don't default to use async/await on wasm32 #831
- Project MSRV changed from 1.56.1 to 1.57.0 #842
- Update rust-miniscript dependency to latest bug fix release 9.0 #844
Added
- Derive PartialEq, Eq on SyncTime #837
What's Changed
- Update esplora-client by @rajarshimaitra in #830
- Bump CI Rust stable version to 1.65.0 by @yukibtc in #815
- Bump project MSRV to 1.57.0 by @notmandatory in #842
- Improve display error formatting by @yukibtc in #814
- Don't default to use
async
/await
onwasm32
by @tnull in #831 - Derive
PartialEq
,Eq
onSyncTime
by @MaxFangX in #837 - Document return type of
sign
method. by @Tibo-lg in #834 - Update CHANGELOG and release process by @notmandatory in #846
- Add small clarification to docs by @thunderbiscuit in #838
- Update rust-miniscript to 9.0 by @notmandatory in #844
- Update electrsd to version 0.22 by @notmandatory in #847
- Bump version to 0.27.0 by @notmandatory in #852
New Contributors
Full Changelog: v0.26.0...v0.27.0
Release 0.26.0
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
What's Changed
- Downgrade ubuntu to 20.04 for test_hardware_wallet CI job by @notmandatory in #811
- Update ci nightly-docs workflow to use nightly-2022-12-14 by @notmandatory in #822
- Make README.md code examples compile without errors by @petertodd in #820
- fix: make save_tx order independent by @bodymindarts in #808
- Fix wrong key origin path in public descriptor templates by @yukibtc in #818
- Implement ordering for TransactionDetails by @benthecarman in #812
- electrum: add validate_domain to ElectrumBlockchainConfig by @icota in #805
- Bump hwi to 0.4.0 by @danielabrozzoni in #825
- [#344] Add assert_matches by @Synesso in #821
- Bump version to 0.26.0 by @notmandatory in #828
New Contributors
- @petertodd made their first contribution in #820
- @bodymindarts made their first contribution in #808
- @yukibtc made their first contribution in #818
- @benthecarman made their first contribution in #812
- @icota made their first contribution in #805
- @Synesso made their first contribution in #821
Full Changelog: v0.25.0...v0.26.0
Release 0.25.0
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
- Fix wallet export rescan height by @LLFourn in #785
- Add code example for each supported backend by @w0xlt in #526
- fix: ensure the key network is updated in the KeyMap as well by @afilini in #800
- Add mnemonic_to_descriptors example by @vladimirfomene in #746
- Bump version to 0.25.0 by @notmandatory in #803
- Ensure there are no duplicated script_pubkeys in sqlite by @afilini in #806
Full Changelog: v0.24.0...v0.25.0
Release 0.24.0
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
to0.29
andrust-miniscript
to8.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_checksum
andget_checksum_bytes
due to bug where they calculates the checksum of a descriptor that already has a checksum. Usecalc_checksum
andcalc_checksum_bytes
instead. @evanlinjin #765 - Remove deprecated "address validators". @afilini #770
Added
- New
calc_checksum
andcalc_checksum_bytes
, replace deprecatedget_checksum
andget_checksum_bytes
. @evanlinjin #765 - Re-export the hwi crate when the feature hardware-signer is on. @danielabrozzoni #758
- New examples/hardware_signer.rs. @danielabrozzoni #758
- Make psbt module public to expose PsbtUtils trait to downstream projects. @notmandatory #782
What's Changed
- Bump version to 0.23.0 by @afilini in #768
- Add enhancement request github issue template by @notmandatory in #772
- Update psbt_signer example to use descriptor! macro by @notmandatory in #780
- Add signature grinding for ECDSA signatures by @vladimirfomene in #779
- Make psbt mod public and add required docs by @notmandatory in #782
- Add HWI example in docs by @danielabrozzoni in #758
- Upgrade to rust-bitcoin 0.29 by @afilini in #770
- Fix how descriptor checksums are calculated by @evanlinjin in #765
- Bump version to 0.24.0 by @notmandatory in #788
Full Changelog: v0.23.0...v0.24.0