-
Notifications
You must be signed in to change notification settings - Fork 396
Closed
Description
Create a new minor release
Summary
This is release includes major changes required to finalize the bdk_wallet 1.0.0 APIs, including: upgrading to rust-bitcoin 0.32 and rust-miniscript 0.12.0, constructing a Wallet now requires two descriptors (external and internal), the db
field was removed from Wallet, staged changes can be persisted via a blocking or async data store.
Commit
Changelog
Fixed
- Fix KeychainTxOutIndex range-based methods. No descriptor ids in spk txout index #1463
Changed
- Upgrade rust bitcoin to 0.32.0, miniscript to 0.12.0. bump(deps): upgrade rust
bitcoin
to0.32.0
,miniscript
to0.12.0
and others #1448- Use compute_txid() instead of deprecated txid().
- Use minimal_non_dust() instead of dust_value().
- Use signature and sighash_type fields, instead of previous sig and hash_type.
- Use sighash::P2wpkhError, and sighash::TaprootError instead of older sighash::Error.
- Converts from Network to NetworkKind, where expected.
- Converts from Weight type to current used usize.
- Use .into() to convert from AbsLockTime and RelLockTime to absolute::LockTime and relative::LockTime.
- Remove use of deprecated ThirtyTwoByteHash trait, use Message::from_digest().
- Update the miniscript policy and dsl macros to proper expect and handle new Threshold type, instead of the previous two parameters.
- Add further bitcoin::Amount usage on public APIs. feat: add further
bitcoin::Amount
usage on public APIs #1426- Updated CreateTxError::FeeTooLow to use bitcoin::Amount.
- Updated Wallet::calculate_fee(). to use bitcoin::Amount
- Updated TxBuilder::fee_absolute(). to use bitcoin::Amount.
- Updated CalculateFeeError::NegativeFee to use bitcoin::SignedAmount.
- Updated TxGraph::calculate_fee(). to use bitcoin::Amount.
- Updated PsbUtils::fee_amount() to use bitcoin::Amount.
- Wallet::get_balance() renamed to Wallet::balance(). refactor(wallet): rename get_balance() to balance() #1455
- Constructing a Wallet now requires two distinct descriptors. Make Wallet require a change descriptor #1390
- Removed duplicated
InsufficientFunds
error member. Remove duplicated InsufficientFunds error member #1441 - Refactor wallet and persist mods, remove bdk_persist crate. Refactor wallet and persist mod, remove bdk_persist crate #1454 and Remove
persist
submodule #1473- Removed
db
fromWallet
, users are now responsible for persisting changes, see docs and examples. - Removed the
bdk_persist
crate. - Remove persist submodule from bdk_chain.
- Change Wallet to outsource it's persistence logic by introducing Wallet::take_staged.
- Add take convenience method to Append trait.
- Removed
Checklist
Release numbering must follow Semantic Versioning. These steps assume the current master
branch development version is 1.0.0-alpha.12.
On the day of the feature freeze
Change the master
branch to the 1.0.0-alpha.13 version:
- Switch to the
master
branch. - Create a new PR branch called
release/bump_dev_1.0.0_alpha.13
. - Create a "draft" release page and release notes comparing master commmit with prior tag
v1.0.0-alpha.12
- Bump the
bump_dev_1.0.0_alpha.13
branch to the next development MINOR+1 version.- Bump the modified crates versions in their
Cargo.toml
files. [update this list with only changed crates]- bdk_chain
- bdk_bitcoind_rpc
- bdk_electrum
- bdk_esplora
- bdk_file_store
- bdk_sqlite
- bdk_testenv
- bdk_wallet
- bdk_hwi
- The commit message should be: [update this list with only changed crates]
Bump bdk version to 1.0.0-alpha.13 bdk_chain to 0.16.0 bdk_bitcoind_rpc to 0.12.0 bdk_electrum to 0.15.0 bdk_esplora to 0.15.0 bdk_file_store to 0.13.0 bdk_sqlite keep at 0.2.0 bdk_testenv to 0.6.0 bdk_hwi to 0.3.0
- Bump the modified crates versions in their
- Create PR and merge the
release/bump_dev_1.0.0-alpha.13
branch tomaster
. Bump bdk version to 1.0.0-alpha.13 #1472- Title PR "Bump bdk version to 1.0.0-alpha.13".
On the day of the release
Tag and publish new release:
- Add a tag to the
HEAD
commit in themaster
branch.- The tag name should be
v1.0.0-alpha.13
- The first line of the tag message should be "Release 1.0.0-alpha.13".
- In the body of the tag message put a copy of the Summary and Changelog for the release.
- Make sure the tag is signed, for extra safety use the explicit
--sign
flag.
- The tag name should be
- Wait for the CI to finish one last time.
- Push the new tag to the
bitcoindevkit/bdk
repo. - Publish all the updated crates to crates.io. [update this list with only changed crates]
- bdk_chain
- bdk_testenv
- bdk_bitcoind_rpc
- bdk_electrum
- bdk_esplora
- bdk_file_store
- bdk_sqlite
- bdk_wallet
- bdk_hwi
- Create the release on GitHub.
- Go to "tags", click on the dots on the right and select "Create Release".
- Set the title to
Release 1.0.0-alpha.13
. - In the release notes body put the Summary and Changelog.
- Use the "+ Auto-generate release notes" button to add details from included PRs.
- Until we reach a
1.0.0
release check the "Pre-release" box.
- Make sure the new release shows up on crates.io and that the docs are built correctly on docs.rs.
- Announce the release, using the Summary, on Discord, Twitter and Nostr.
- Celebrate 🎉
Metadata
Metadata
Assignees
Labels
releaseRelease related issue or PRRelease related issue or PR
Type
Projects
Status
Done