-
Notifications
You must be signed in to change notification settings - Fork 412
Closed
Description
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.
Commit
Changelog
bdk_core
- test(core): add unit tests for merge trait test(core): add unit tests for
mergetrait #1738
bdk_bitcoind_rpc
- feat(rpc): introduce FilterIter feat(rpc): introduce FilterIter #1614
bdk_wallet
- test(wallet): small cleanups to test_wallet_transactions_relevant test(wallet): small cleanups to test_wallet_transactions_relevant #1785
- refactor(wallet): cleanup and remove unused code in create_tx refactor(wallet): cleanup and remove unused code in create_tx #1768
- Architectural Decision Records Architectural Decision Records #1592
- fix(wallet): improve safety on finaize psbt fix(wallet): improve safety on finaize psbt #1790
- Change default tx to version 2 Change default tx to version 2 #1789
- test(wallet): create tx locktime cltv for a specific time test(wallet): create tx locktime cltv for a specific time #1682
- feat(wallet): support Testnet4 in valid networks feat(wallet): support Testnet4 in valid networks #1805
- fix(wallet): use map_keychain in Wallet::build_fee_bump fix(wallet): use
map_keychaininWallet::build_fee_bump#1812 - ci: add secondary MSRV job of 1.75.0 ci: add secondary MSRV job of 1.75.0 #1803
- ci: apply zizmor security audit ci: apply
zizmorsecurity audit #1778
bdk_electrum
- test(electrum): test for checking that fee calculation is correct test(electrum): test for checking that fee calculation is correct #1685
- Bump crate MSRV to 1.75.0 ci: add secondary MSRV job of 1.75.0 #1803
- deps: bump
electrum-clientto 0.23.0
Checklist
Release numbering must follow Semantic Versioning. These steps assume the current master branch development version is v1.0.0.
On the day of the feature freeze
Change the master branch to the next MINOR+1 version:
- Ensure all milestone issues and PRs closed, archive them on the project board.
- Switch to the
masterbranch. - Create a new PR branch called
release/bump_dev_1.1.0. - Create a "draft" release page and release notes comparing master commit with prior tag
v1.0.0 - Determine which crates need a major release bump and which only need a patch release by looking at the git log.
cargo-semver-checkscan also help with this
cargo semver-checks --baseline-rev <prev-tag> - Bump the
bump_dev_1.1.0branch to the next development version.- Bump the modified crates versions in their
Cargo.tomlfiles. [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
- For crates that changed update their
CHANGELOG.mdfiles, see "keep a changelog". - The commit message should be: [update this list with only changed crates]
Bump bdk_wallet version to 1.1.0 bdk_core to TBD bdk_chain to TBD bdk_bitcoind_rpc to 0.18.0 bdk_electrum to 0.21.0 bdk_esplora to TBD bdk_file_store to TBD bdk_testenv to TBD
- Bump the modified crates versions in their
- Create PR and merge the
release/bump_dev_1.1.0branch tomaster.- Title PR "Bump bdk_wallet version to 1.1.0". PR Bump bdk_wallet to v1.1.0 #1822
On the day of the release
Tag and publish new release:
- Add a tag to the
HEADcommit in themasterbranch.git tag wallet-1.1.0 --sign -e- The tag name should be
wallet-1.1.0 - The first line of the tag message should be "Release wallet-1.1.0".
- 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
--signflag.
- Verify the new tag with
git tag -v wallet-1.1.0 - Add similar tags for other crates that changed versions.
- core-TBD
- chain-TBD
- bitcoind_rpc-0.18.0
- electrum-0.21.0
- esplora-TBD
- file_store-TBD
- testenv-TBD
- Wait for the CI to finish one last time.
- Push the new tags to the
bitcoindevkit/bdkrepo.git push upstream --tags
- 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 wallet-1.1.0. - In the release notes body put the Summary and Changelog.
- Use the "+ Auto-generate release notes" button to add details from included PRs.
- This is the final
1.1.0release, do not 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 releases, 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