Skip to content

Release bdk_chain v0.23.3 #2154

@oleonardolima

Description

@oleonardolima

Summary

<--release summary to be used in announcements-->

Commit

<--latest commit ID to include in this release-->

Changelog

Checklist

Release numbering must follow Semantic Versioning. These steps assume the current master
branch development version is 0.23.3.

On the day of the feature freeze

Change the release/chain-0.23.x branch to the next MINOR+1 version:

  • Switch to the release/chain-0.23.x branch.
  • Create a new PR branch called release/chain-0.23.3.
  • Bump the release/chain-0.23.3 branch to the next development MINOR+1 version.
    • Change the Cargo.toml version value to 0.23.3.
    • Update the CHANGELOG.md file.
    • The commit message should be "chore(release): bump bdk_chain to 0.23.3".
  • Create PR and merge the release/chain-0.23.3 branch to master.
    • Title PR "chore(release): bump bdk_chain to 0.23.3".

Create a new release branch and release candidate tag:

  • Double check that your local release/chain-0.23.x is up-to-date with the upstream repo.
  • Create a new branch called release/chain-0.23.3 from release/chain-0.23.x.
  • Bump the release/chain-0.23.x branch to 0.23.3 version.
    • Change the Cargo.toml version value to 0.23.3.
    • The commit message should be "chore(release): bump bdk_chain to 0.23.3".
  • Add a tag to the HEAD commit in the release/chain-0.23.x branch.
    • The tag name should be chain-0.23.3
    • Use message "Release chain-0.23.3".
    • Make sure the tag is signed, for extra safety use the explicit --sign flag.
  • Push the release/chain-0.23.3 branch and new tag to the bitcoindevkit/bdk repo.
    • Use git push --tags option to push the new chain-0.23.3 tag.

If any issues need to be fixed before the MAJOR.MINOR+1.0 version is released:

  • Merge fix PRs to the master branch.
  • Git cherry-pick fix commits to the release/MAJOR.MINOR+1 branch.
  • Verify fixes in release/MAJOR.MINOR+1 branch.
  • Bump the release/MAJOR.MINOR+1 branch to MAJOR.MINOR+1.0-rc.x+1 version.
    • Change the Cargo.toml version value to MAJOR.MINOR+1.0-rc.x+1.
    • The commit message should be "Bump version to MAJOR.MINOR+1.0-rc.x+1".
  • Add a tag to the HEAD commit in the release/MAJOR.MINOR+1 branch.
    • 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 --sign flag.
  • Push the new tag to the bitcoindevkit/bdk repo.
    • Use git push --tags option to push the new vMAJOR.MINOR+1.0-rc.x+1 tag.

On the day of the release

Tag and publish new release:

  • Bump the release/chain-0.23.x branch to 0.23.3 version.
    • Change the Cargo.toml version value to 0.23.3.
    • The commit message should be "chore(release): bump bdk_chain to 0.23.3".
  • Add a tag to the HEAD commit in the release/chain-0.23.x branch.
    • The tag name should be chain-0.23.x
    • The first line of the tag message should be "Release chain-0.23.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.
  • 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.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 🎉

Sub-issues

Metadata

Metadata

Assignees

Labels

releaseRelease related issue or PR

Type

Projects

Status

In Progress

Relationships

None yet

Development

No branches or pull requests

Issue actions