Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.27.0 #851

Closed
18 of 24 tasks
notmandatory opened this issue Feb 2, 2023 · 2 comments
Closed
18 of 24 tasks

Release 0.27.0 #851

notmandatory opened this issue Feb 2, 2023 · 2 comments
Assignees
Labels
release Release related issue or PR

Comments

@notmandatory
Copy link
Member

notmandatory commented Feb 2, 2023

Create a new minor release

Summary

A maintenance release with a bump in project MSRV to 1.57.0, updated dependence and a few developer oriented improvements. Improvements include better error formatting, don't default to async/await for wasm32 and adding derived PartialEq and Eq on SyncTime.

Commit

553df31

Changelog

Changed

Added

Checklist

Release numbering must follow Semantic Versioning. These steps assume the current master
branch development version is 0.26.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_27.
  • Bump the bump_dev_0_27 branch to the next development MINOR+1 version.
    • Change the Cargo.toml version value to 0.27.0.
    • Update the CHANGELOG.md file.
    • The commit message should be "Bump version to 0.27.0".
  • Create PR and merge the bump_dev_0_27 branch to master.
    • Title PR "Bump version to 0.27.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.27 from master.
  • Bump the release/0.27 branch to 0.27.0-rc.1 version.
    • Change the Cargo.toml version value to 0.27.0-rc.1.
    • The commit message should be "Bump version to 0.27.0-rc.1".
  • Add a tag to the HEAD commit in the release/0.27 branch.
    • The tag name should be v0.27.0-rc.1
    • Use message "Release 0.27.0 rc.1".
    • Make sure the tag is signed, for extra safety use the explicit --sign flag.
  • Push the release/MAJOR.MINOR branch and new tag to the bitcoindevkit/bdk repo.
    • Use git push --tags option to push the new v0.27.0-rc.1 tag.

If any issues need to be fixed before the 0.27.0 version is released:

  • Merge fix PRs to the master branch.
  • Git cherry-pick fix commits to the release/0.27 branch.
  • Verify fixes in release/0.27 branch.
  • Bump the release/0.27 branch to 0.27.0-rc.x+1 version.
    • Change the Cargo.toml version value to 0.27.0-rc.x+1.
    • The commit message should be "Bump version to 0.27.0-rc.x+1".
  • Add a tag to the HEAD commit in the release/0.27 branch.
    • The tag name should be v0.27.0-rc.x+1, where x is the current release candidate number.
    • Use tag message "Release 0.27.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 v0.27.0-rc.x+1 tag.

On the day of the release

Tag and publish new release:

  • Bump the release/0.27 branch to 0.27.0 version.
    • Change the Cargo.toml version value to 0.27.0.
    • The commit message should be "Bump version to 0.270".
  • Add a tag to the HEAD commit in the release/0.27 branch.
    • The tag name should be v0.27.0
    • The first line of the tag message should be "Release 0.27.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.
  • 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.27.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 🎉
@notmandatory notmandatory added the release Release related issue or PR label Feb 2, 2023
@notmandatory notmandatory self-assigned this Feb 2, 2023
@notmandatory
Copy link
Member Author

notmandatory commented Feb 3, 2023

@thunderbiscuit
Copy link
Contributor

The ffi has bumped to the official release and all tests have passed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Release related issue or PR
Projects
Archived in project
Development

No branches or pull requests

2 participants