```
consensus.vDeployments[Consensus::DEPLOYMENT_MN_RR].bit = 10;
consensus.vDeployments[Consensus::DEPLOYMENT_MN_RR].nStartTime = 1704067200; // January 1, 2024
consensus.vDeployments[Consensus::DEPLOYMENT_MN_RR].nTimeout = 1767225600; // January 1, 2026
```
[x] This update should be reviewed with a reindex-chainstate with assumevalid=0 to catch any defect that causes rejection of blocks in the past history. (@kwvg ) (@knst)
[x] Ensure that governance is functional (@knst)
[ ] Ensure that testnet coinbase is partially going to platform (@knst)
[ ] Verify p2pool works (unmaintained; no responsible party)
[x] Notify mobile team of new protocol version
Tag the Release
[ ] Tag v21.0.0 and push (@PastaPastaPasta)
Check CI
[ ] Validate that CI passes
Do Guix Build (for unsigned binaries) and create PRs
[ ] Pasta Guix Build
[ ] Udjin Guix Build
[ ] Thephez Guix Build
[ ] Kittywhiskers Guix Build
[ ] Knst Guix Build
Create Windows/OS X detached signatures (note: it might be decided skip signed binaries for RCs)
Only once the Windows/OS X builds each have 3 matching signatures may they be signed with their respective release keys.
[ ] Pasta creates windows detached signature and commits
[ ] pasta creates OS X detached signature
Update Guix Builds with signed binaries (note: it might be decided skip signed binaries for RCs)
[ ] Pasta Guix Build
[ ] Udjin Guix Build
[ ] Thephez Guix Build
[ ] Kittywhiskers Guix Build
[ ] Knst Guix Build
After 3 or more people have guix-built and their results match:
[ ] Create SHA256SUMS.asc for the builds
[ ] GPG sign each download / binary
[ ] Upload zips and installers, as well as SHA256SUMS.asc from last step, to github as github draft release.
[ ] Validate SHA256SUMS.asc and all binaries attached to github draft release are correct
[ ] Fast forward master; merge master into develop
[ ] Make develop branch the default branch in Github (note this is a potentially breaking change for people who simply clone the repo and build without specifying a branch)
Additional Items
[ ] Prepare release blog post (necessary so we have a permalink to use on twitter, reddit, etc.)
[ ] Prepare product brief (major versions only?) (@thephez; need to talk with marina and publish this asap)
[ ] Prepare a release announcement tweet (tell Marina)
[ ] Follow-up tweets with any important block heights for consensus changes (Marina again)
[ ] Post on reddit
[ ] Update docs (readme and RTD) (@thephez)
[ ] Test Docker build runs without errors in Dashmate (@shumkov)
[ ] Add new Release Process items to in repo release process document (@knst)
v21.0.0 Release Process
Before every minor and major release:
Tag the Release
Check CI
Do Guix Build (for unsigned binaries) and create PRs
Create Windows/OS X detached signatures (note: it might be decided skip signed binaries for RCs) Only once the Windows/OS X builds each have 3 matching signatures may they be signed with their respective release keys.
Update Guix Builds with signed binaries (note: it might be decided skip signed binaries for RCs)
After 3 or more people have guix-built and their results match:
Announce the release:
After the release
Additional Items