-
Notifications
You must be signed in to change notification settings - Fork 410
Closed
Labels
releaseRelease related issue or PRRelease related issue or PR
Milestone
Description
Create a new minor release
Summary
This release brings new utilities functions on PSBTs like fee_amount() and fee_rate() and migrates BDK to use our new external esplora client library. As always many bug fixes, docs and tests improvement are also included.
Commit
Changelog
What's Changed
- Update electrum-client to 0.11.0 by @afilini in Update electrum-client to 0.11.0 #737
- Change configs for source-base code coverage by @wszdexdrf in Change configs for source-base code coverage #708
- Run code coverage on every PR by @danielabrozzoni in Run code coverage on every PR #747
- Add psbt_signer.rs example by @notmandatory in Add psbt_signer.rs example #744
- Add fee_amount() and fee_rate() functions to PsbtUtils trait by @notmandatory in Add fee_amount() and fee_rate() functions to PsbtUtils trait #728
- Improve docs regarding PSBT finalization by @tnull in Improve docs regarding PSBT finalization #753
- Add tests to improve coverage by @vladimirfomene in Add tests to improve coverage #745
- Enable signing taproot transactions with only
non_witness_utxosby @afilini in Enable signing taproot transactions with onlynon_witness_utxos#757 - Add datatype for is_spent sqlite column by @vladimirfomene in Add datatype for is_spent sqlite column #713
- Update compiler example to a Policy example by @rajarshimaitra in Update compiler example to a Policy example #730
- Remove redundant duplicated keys check by @afilini in Remove redundant duplicated keys check #761
- Fix the release process by @afilini in Fix the release process #754
- Remove genesis_block lazy initialization by @shobitb in Remove genesis_block lazy initialization #756
- Add vscode filter to gitignore by @evanlinjin in Add vscode filter to gitignore #762
- Fix
Wallet::descriptor_checksumto actually return the checksum by @evanlinjin in FixWallet::descriptor_checksumto actually return the checksum #763 - Use the esplora client crate by @afilini in Use the esplora client crate #764
Checklist
On the day of the feature freeze
Change the master branch to the next MINOR+1 version:
- Switch to the
masterbranch. - Create a new PR branch called
bump_dev_MAJOR_MINOR+1, eg.bump_dev_0_22. - Bump the
bump_dev_MAJOR_MINOR+1branch to the next development MINOR+1 version.- Change the
Cargo.tomlversion value toMAJOR.MINOR+1.0. - The commit message should be "Bump version to MAJOR.MINOR+1.0".
- Change the
- Create PR and merge the
bump_dev_MAJOR_MINOR+1branch tomaster. Bump version to 0.23.0 #768- Title PR "Bump version to MAJOR.MINOR+1.0".
Create a new release branch and release candidate tag:
- Double check that your local
masteris up-to-date with the upstream repo. - Create a new branch called
release/MAJOR.MINOR+1frommaster. - Bump the
release/MAJOR.MINOR+1branch toMAJOR.MINOR+1.0-rc.1version.- Change the
Cargo.tomlversion value toMAJOR.MINOR+1.0-rc.1. - The commit message should be "Bump version to MAJOR.MINOR+1.0-rc.1".
- Change the
- Add a tag to the
HEADcommit in therelease/MAJOR.MINOR+1branch.- The tag name should be
vMAJOR.MINOR+1.0-rc.1 - Use message "Release MAJOR.MINOR+1.0 rc.1".
- Make sure the tag is signed, for extra safety use the explicit
--signflag.
- The tag name should be
- Push the
release/MAJOR.MINORbranch and new tag to thebitcoindevkit/bdkrepo.- Use
git push --tagsoption to push the newvMAJOR.MINOR+1.0-rc.1tag.
- Use
If any issues need to be fixed before the MAJOR.MINOR+1.0 version is released:
- Merge fix PRs to the
masterbranch. - Git cherry-pick fix commits to the
release/MAJOR.MINOR+1branch. - Verify fixes in
release/MAJOR.MINOR+1branch. - Bump the
release/MAJOR.MINOR+1branch toMAJOR.MINOR+1.0-rc.x+1version.- Change the
Cargo.tomlversion value toMAJOR.MINOR+1.0-rc.x+1. - The commit message should be "Bump version to MAJOR.MINOR+1.0-rc.x+1".
- Change the
- Add a tag to the
HEADcommit in therelease/MAJOR.MINOR+1branch.- The tag name should be
vMAJOR.MINOR+1.0-rc.x+1, where x is the current release candidate number. - Use tag message "Release MAJOR.MINOR+1.0 rc.x+1".
- Make sure the tag is signed, for extra safety use the explicit
--signflag.
- The tag name should be
- Push the new tag to the
bitcoindevkit/bdkrepo.- Use
git push --tagsoption to push the newvMAJOR.MINOR+1.0-rc.x+1tag.
- Use
On the day of the release
Tag and publish new release:
- Bump the
release/MAJOR.MINOR+1branch toMAJOR.MINOR+1.0version.- Change the
Cargo.tomlversion value toMAJOR.MINOR+1.0. - The commit message should be "Bump version to MAJOR.MINOR+1.0".
- Change the
- Add a tag to the
HEADcommit in therelease/MAJOR.MINOR+1branch.- The tag name should be
vMAJOR.MINOR+1.0 - The first line of the tag message should be "Release MAJOR.MINOR+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.
- The tag name should be
- Wait for the CI to finish one last time.
- Push the new tag to the
bitcoindevkit/bdkrepo. - Publish all the updated crates to crates.io.
- Create the release on GitHub.
- Go to "tags", click on the dots on the right and select "Create Release".
- Set the title to
Release MAJOR.MINOR+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.
- Until we reach a
1.0.0release 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 Mastodon.
- Celebrate 🎉
cryptoquick, notmandatory and vladimirfomenecryptoquick
Metadata
Metadata
Assignees
Labels
releaseRelease related issue or PRRelease related issue or PR