Closed
Description
Create a new minor release
Summary
BDK release 0.24.0 is out! It has dependency updates for rust-bitcoin to 0.29 and rust-miniscript to 8.0, new default low-R signatures (saves 1 byte), bug fix for descriptor checksums and a new hardware-signer feature.
Commit
Changelog
Changed
- Updated dependency versions for
rust-bitcoin
to0.29
andrust-miniscript
to8.0
, plus all related crates. @afilini Upgrade to rust-bitcoin 0.29 #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 Add signature grinding for ECDSA signatures #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 Fix how descriptor checksums are calculated #765 - Remove deprecated "address validators". @afilini Upgrade to rust-bitcoin 0.29 #770
Added
- New
calc_checksum
andcalc_checksum_bytes
, replace deprecatedget_checksum
andget_checksum_bytes
. @evanlinjin Fix how descriptor checksums are calculated #765 - Re-export the hwi crate when the feature hardware-signer is on. @danielabrozzoni Add HWI example in docs #758
- New examples/hardware_signer.rs. @danielabrozzoni Add HWI example in docs #758
- Make psbt module public to expose PsbtUtils trait to downstream projects. @notmandatory Make psbt mod public and add required docs #782
Checklist
Release numbering must follow Semantic Versioning. These steps assume the current master
branch development version is 0.23.0.
On the day of the feature freeze
Change the master
branch to the next MINOR+1 version:
- Switch to the
master
branch. - Create a new PR branch called
bump_dev_0_24
. - Bump the
bump_dev_0_24
branch to the next development version.- Change the
Cargo.toml
version value to0.24.0
. - The commit message should be "Bump version to 0.24.0".
- Change the
- Create PR and merge the
bump_dev_0_24
branch tomaster
.- Title PR "Bump version to 0.24.0".
Create a new release branch and release candidate tag:
- Double check that your local
master
is up-to-date with the upstream repo. - Create a new branch called
release/0.24
frommaster
. - Bump the
release/0.24
branch to0.24.0-rc.1
version.- Change the
Cargo.toml
version value to0.24.0-rc.1
. - The commit message should be "Bump version to 0.24.0-rc.1".
- Change the
- Add a tag to the
HEAD
commit in therelease/0.24
branch.- The tag name should be
v0.24.0-rc.1
- Use message "Release 0.24.0 rc.1".
- Make sure the tag is signed, for extra safety use the explicit
--sign
flag.
- The tag name should be
- Push the
release/0.24
branch and new tag to thebitcoindevkit/bdk
repo.- Use
git push --tags
option to push the newv0.24.0-rc.1
tag.
- Use
If any issues need to be fixed before the 0.24.0 version is released:
- Merge fix PRs to the
master
branch. - Git cherry-pick fix commits to the
release/0.24
branch. - Verify fixes in
release/0.24
branch. - Bump the
release/0.24
branch to0.24.0-rc.x+1
version.- Change the
Cargo.toml
version value to0.24.0-rc.x+1
. - The commit message should be "Bump version to 0.24.0-rc.x+1".
- Change the
- Add a tag to the
HEAD
commit in therelease/0.24
branch.- The tag name should be
v0.24.0-rc.x+1
, where x is the current release candidate number. - Use tag message "Release 0.24.0 rc.x+1".
- Make sure the tag is signed, for extra safety use the explicit
--sign
flag.
- The tag name should be
- Push the new tag to the
bitcoindevkit/bdk
repo.- Use
git push --tags
option to push the newv0.24.0-rc.x+1
tag.
- Use
On the day of the release
Tag and publish new release:
- Bump the
release/0.24
branch to0.24.0
version.- Change the
Cargo.toml
version value to0.24.0
. - The commit message should be "Bump version to 0.24.0".
- Change the
- Add a tag to the
HEAD
commit in therelease/0.24
branch.- The tag name should be
v0.24.0
- The first line of the tag message should be "Release 0.24.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
--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.
- Create the release on GitHub.
- Go to "tags", click on the dots on the right and select "Create Release".
- Set the title to
Release 0.24.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.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 Mastodon.
- Celebrate 🎉