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.13.0 #157

Closed
19 of 25 tasks
DanGould opened this issue Jan 2, 2024 · 1 comment
Closed
19 of 25 tasks

Release 0.13.0 #157

DanGould opened this issue Jan 2, 2024 · 1 comment
Milestone

Comments

@DanGould
Copy link
Contributor

DanGould commented Jan 2, 2024

Create a new minor release

Summary

payjoin-0.13.0 improves taproot and v2 payjoin support for integration with downstream projects.

Commit

26f0d06 (this will change since we need #155)

Changelog

0.13.0 - 2024-01-??

API

  • Parse json errors from the receiver into WellKnown or other ResponseErrors

Fixes

Checklist

Release numbering must follow Semantic Versioning. These steps assume the current master
branch development version is MAJOR.MINOR.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-MAJOR-MINOR+1, eg. bump-dev-0-22.
  • Bump the bump-dev-MAJOR-MINOR+1 branch to the next development MINOR+1 version.
    • Change the Cargo.toml version value to MAJOR.MINOR+1.0.
    • Update the CHANGELOG.md file.
    • The commit message should be "Bump version to MAJOR.MINOR+1.0".
  • Create PR and merge the bump-dev-MAJOR-MINOR+1 branch to master.
    • Title PR "Bump version to MAJOR.MINOR+1.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/MAJOR.MINOR+1 from master.
  • Bump the release/MAJOR.MINOR+1 branch to MAJOR.MINOR+1.0-rc.1 version.
    • Change the Cargo.toml version value to MAJOR.MINOR+1.0-rc.1.
    • The commit message should be "Bump version to MAJOR.MINOR+1.0-rc.1".
  • Add a tag to the HEAD commit in the release/<CRATE>-MAJOR.MINOR+1 branch.
    • The tag name should be <CRATE>-MAJOR.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 --sign flag.
  • Push the release/<CRATE>-MAJOR.MINOR branch and new tag to the payjoin/rust-payjoin repo.
    • Use git push --tags option to push the new <CRATE>-MAJOR.MINOR+1.0-rc.1 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/<CRATE>-MAJOR.MINOR+1 branch.
  • Verify fixes in release/<CRATE>-MAJOR.MINOR+1 branch.
  • Bump the release/<CRATE>-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/<CRATE>-MAJOR.MINOR+1 branch.
    • The tag name should be <CRATE>-MAJOR.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 payjoin/rust-payjoin repo.
    • Use git push --tags option to push the new <CRATE>-MAJOR.MINOR+1.0-rc.x+1 tag.

On the day of the release

Tag and publish new release:

  • Bump the release/<CRATE>-MAJOR.MINOR+1 branch to MAJOR.MINOR+1.0 version.
    • Change the Cargo.toml version value to MAJOR.MINOR+1.0.
    • The commit message should be "Bump version to MAJOR.MINOR+1.0".
  • Add a tag to the HEAD commit in the release/MAJOR.MINOR+1 branch.
    • The tag name should be <CRATE>-MAJOR.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 --sign flag.
  • Wait for the CI to finish one last time.
  • Push the new tag to the payjoin/rust-payjoin repo.
  • Build the docs locally to ensure they are building correctly.
  • Publish the crate in question 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 <CRATE>-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, Nostr, and stacker.news.
  • Celebrate 🎉
@DanGould DanGould modified the milestones: 0.14.0, 0.13.0 Jan 4, 2024
@DanGould
Copy link
Contributor Author

DanGould commented Jan 4, 2024

needs #161, actually, this is already released, and is not horribly breaking, so we can include it in a patch

@DanGould DanGould removed the blocked label Jan 4, 2024
@DanGould DanGould closed this as completed Jan 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant