Skip to content

Release payjoin-1.2.0 #1920

Closed
Closed

Description

@DanGould

Create a new minor release

Rationale: #1446 (non-blocking receive) and #1907 (FFI uses payjoin::url) merged after payjoin 1.1.0. We didn't manage to release all of the FFI changes because there's a bunch of automation that doesn't exist. And it requires a bunch of manual tagging that we didn't yet do. And now we want to do those FFI releases so it makes sense to do that on top of the code we already wrote instead of waiting for another tag.

Summary

Commit

Changelog

Checklist

Release numbering must follow Semantic Versioning. These steps assume the current master
branch development version is MAJOR.MINOR.0. Release-managed crates are payjoin,
payjoin-cli, and payjoin-mailroom; tags use the <crate>-<version> scheme.

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-CRATE-MAJOR-MINOR+1, eg. bump-CRATE-0-22.
  • Bump the bump-CRATE-MAJOR-MINOR+1 branch to the next development MINOR+1 version.
    • Change the Cargo.toml version value to MAJOR.MINOR+1.0 for the crate being released,
      and update every workspace member's version requirement on it to match.
    • Run contrib/update-lock-files.sh to apply upgrades to the Cargo lock files.
    • Update the crate's CHANGELOG.md file, adding a ## MAJOR.MINOR+1.0 section that
      summarizes the PRs merged since the last release tag.
    • The commit message should be "Bump CRATE version to MAJOR.MINOR+1.0".
  • Create PR for the bump-CRATE-MAJOR-MINOR+1 branch to master.
    • Title PR "Bump CRATE version to MAJOR.MINOR+1.0".
  • Merge the bump-CRATE-MAJOR-MINOR+1 branch to master.

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 bump-CRATE-MAJOR.MINOR+1 branch.
  • Verify fixes in bump-CRATE-MAJOR.MINOR+1 branch.

On the day of the release

  • Create a signed annotated tag on the HEAD commit in the master branch.
    • The tag name should be CRATE-MAJOR.MINOR+1.0, eg. payjoin-1.0.0.
    • The first line of the tag message should be "Release CRATE-MAJOR.MINOR+1.0".
    • In the body of the tag message put a copy of the Summary and Changelog for the release.
    • Sign with a key committed under contrib/release/keys/, using the explicit --sign flag.
      **‼️ This thing needs to be a script. It doesn't really make any sense for us to have the whole section and change log repeated in the tag. ** WE SHOULD DO THIS DIFFERENTLY
  • Push the new tag to the payjoin/rust-payjoin repo.
  • Approve the release environment when it requests a reviewer.
  • Announce the release, using the Summary, on Discord, Twitter, Nostr, and stacker.news.
  • Celebrate 🎉
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions