4.4 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			4.4 KiB
		
	
	
	
	
	
	
	
| name | about | title | labels | assignees | 
|---|---|---|---|---|
| Minor Release | Create a new minor release [for release managers only] | Release MAJOR.MINOR+1.0 | release | 
Create a new minor release
Summary
<--release summary to be used in announcements-->
Commit
<--latest commit ID to include in this release-->
Changelog
<--add notices from PRs merged since the prior release, see "keep a changelog"-->
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 
masterbranch. - Create a new PR branch called 
bump_dev_MAJOR_MINOR+1, eg.bump_dev_0_22. - Bump the 
bump_dev_MAJOR_MINOR+1branch to the next development MINOR+1 version.- Change the 
Cargo.tomlversion value toMAJOR.MINOR+1.0. - The commit message should be "Bump version to MAJOR.MINOR+1.0".
 
 - Change the 
 - Create PR and merge the 
bump_dev_MAJOR_MINOR+1branch tomaster.- Title PR "Bump version to MAJOR.MINOR+1.0".
 
 
Create a new release branch and release candidate tag:
- Double check that your local 
masteris up-to-date with the upstream repo. - Create a new branch called 
release/MAJOR.MINOR+1frommaster. - Bump the 
release/MAJOR.MINOR+1branch toMAJOR.MINOR+1.0-rc.1version.- Change the 
Cargo.tomlversion value toMAJOR.MINOR+1.0-rc.1. - The commit message should be "Bump version to MAJOR.MINOR+1.0-rc.1".
 
 - Change the 
 - Add a tag to the 
HEADcommit in therelease/MAJOR.MINOR+1branch.- The tag name should be 
vMAJOR.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 
--signflag. 
 - The tag name should be 
 - Push the 
release/MAJOR.MINORbranch and new tag to thebitcoindevkit/bdkrepo.- Use 
git push --tagsoption to push the newvMAJOR.MINOR+1.0-rc.1tag. 
 - Use 
 
If any issues need to be fixed before the MAJOR.MINOR+1.0 version is released:
- Merge fix PRs to the 
masterbranch. - Git cherry-pick fix commits to the 
release/MAJOR.MINOR+1branch. - Verify fixes in 
release/MAJOR.MINOR+1branch. - Bump the 
release/MAJOR.MINOR+1branch toMAJOR.MINOR+1.0-rc.x+1version.- Change the 
Cargo.tomlversion value toMAJOR.MINOR+1.0-rc.x+1. - The commit message should be "Bump version to MAJOR.MINOR+1.0-rc.x+1".
 
 - Change the 
 - Add a tag to the 
HEADcommit in therelease/MAJOR.MINOR+1branch.- 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 
--signflag. 
 - The tag name should be 
 - Push the new tag to the 
bitcoindevkit/bdkrepo.- Use 
git push --tagsoption to push the newvMAJOR.MINOR+1.0-rc.x+1tag. 
 - Use 
 
On the day of the release
Tag and publish new release:
- Bump the 
release/MAJOR.MINOR+1branch toMAJOR.MINOR+1.0version.- Change the 
Cargo.tomlversion value toMAJOR.MINOR+1.0. - The commit message should be "Bump version to MAJOR.MINOR+1.0".
 
 - Change the 
 - Add a tag to the 
HEADcommit in therelease/MAJOR.MINOR+1branch.- The tag name should be 
vMAJOR.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 
--signflag. 
 - The tag name should be 
 - Wait for the CI to finish one last time.
 - Push the new tag to the 
bitcoindevkit/bdkrepo. - 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.0release 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 🎉