Closed
Description
Create a new major (beta) release
Summary
BDK Wallet 1.0.0-beta.3 is out! 🚀 Fixed transaction creation to not skip unused addresses, added function for sorting wallet transactions and option to change default BNB fallback back coin selection. We moved the bdk_hwi crate functionality to the rust-hwi repo.
Commit
TBD
Changelog
- chore: add
print_stdout
/print_stderr
lints to workspace level. chore: addprint_stdout
/print_stderr
lints to workspace level #1425 - ci: add token for cron-update-rust.yml. ci: add token for cron-update-rust.yml #1580
- feat(core): add
TxUpdate::map_anchors
. feat(core): addTxUpdate::map_anchors
#1587 - ci: pin
tokio-util
dependency version to build with rust 1.63. ci: pintokio-util
dependency version to build with rust 1.63 #1590 - feat(wallet): add transactions_sort_by function. feat(wallet): add transactions_sort_by function #1477
- docs: update CONTRIBUTING.md. docs: update CONTRIBUTING.md #1584
- fix(wallet): only mark change address used if
create_tx
succeeds. fix(wallet): only mark change address used ifcreate_tx
succeeds #1579 - refactor(wallet): use
Amount
everywhere. refactor(wallet): useAmount
everywhere #1595 - Change methods of
IndexedTxGraph
/TxGraph
/Wallet
that insert txs to be more generic. Change methods ofIndexedTxGraph
/TxGraph
/Wallet
that insert txs to be more generic #1586 - fix: typos by @storopoli. fix: typos #1599
- fix(wallet): do
check_wallet_descriptor
when creating and loading. fix(wallet): docheck_wallet_descriptor
when creating and loading #1597 - refactor(bdk_hwi): remove
bdk_hwi
, asHWISigner
's being moved torust-hwi
. refactor(bdk_hwi): removebdk_hwi
, asHWISigner
's being moved torust-hwi
#1561 - Allow custom fallback algorithm for bnb. Allow custom fallback algorithm for bnb #1581
- fix(core): calling
CheckPoint::insert
with existing block must succeed. fix(core): callingCheckPoint::insert
with existing block must succeed #1601 - fix(wallet): fix SingleRandomDraw to error if insufficient funds. fix(wallet): fix SingleRandomDraw to error if insufficient funds #1605
Checklist
Release numbering must follow Semantic Versioning. These steps assume the current master
branch development version is 1.0.0-beta.2.
On the day of the feature freeze
Change the master
branch to the 1.0.0-beta.3 version:
- Ensure all alpha milestone issues and PRs closed, archive them on the project board.
- Switch to the
master
branch. - Create a new PR branch called
release/bump_dev_1.0.0_beta.3
. - Create a "draft" release page and release notes comparing master commmit with prior tag
v1.0.0-beta.2
- Determine which crates need a major release bump and which only need a patch release with
semver-checks
against the previous release tag.
cargo semver-checks --baseline-rev v1.0.0-beta.2
- Bump the
bump_dev_1.0.0_beta.3
branch to the next development version.-
Bump the modified crates versions in their
Cargo.toml
files. [update this list with only changed crates]- bdk_core
- bdk_chain
- bdk_bitcoind_rpc
- bdk_electrum
- bdk_esplora
- bdk_file_store
- bdk_testenv
- bdk_wallet
-
The commit message should be: [update this list with only changed crates]
Bump bdk_wallet version to 1.0.0-beta.3 bdk_core to 0.1.1 bdk_chain to 0.18.1 bdk_bitcoind_rpc to 0.14.1 bdk_electrum to 0.17.1 bdk_esplora to 0.17.1 bdk_file_store to 0.15.1 bdk_testenv to 0.8.1
-
- Create PR and merge the
release/bump_dev_1.0.0-beta.3
branch tomaster
. Bump bdk_wallet version to 1.0.0-beta.3 #1608- Title PR "Bump bdk_wallet version to 1.0.0-beta.3".
On the day of the release
Tag and publish new release:
- Add a tag to the
HEAD
commit in themaster
branch.git tag v1.0.0-beta.3 --sign -e
- The tag name should be
v1.0.0-beta.3
- The first line of the tag message should be "Release 1.0.0-beta.3".
- 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.
- Wait for the CI to finish one last time.
- Push the new tag to the
bitcoindevkit/bdk
repo.git push upstream --tag v1.0.0-beta.3
- Publish all the updated crates to crates.io. [update this list with only changed crates]
cargo publish -p <crate name>
- bdk_core
- bdk_chain
- bdk_testenv
- bdk_bitcoind_rpc
- bdk_electrum
- bdk_esplora
- bdk_file_store
- bdk_wallet
- 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-beta.3
. - 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 final
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
Type
Projects
Status
Done