Release Process ==================== - [x] **Ensure future Release Process issues are created from [the template](https://github.com/dashpay/dash/blob/develop/doc/release-process.md)** * [x] Update translations, see [translation_process.md](https://github.com/dashpay/dash/blob/master/doc/translation_process.md#synchronising-translations). (https://github.com/dashpay/dash/pull/6460) * [x] Update manpages, see [gen-manpages.sh](https://github.com/dashpay/dash/blob/master/contrib/devtools/README.md#gen-manpagessh). (https://github.com/dashpay/dash/pull/6464) Before every minor and major release: * [x] Update [Security.md](SECURITY.md) (@kwvg) (https://github.com/dashpay/dash/pull/6461) * [x] Update DIPs with any changes introduced by this release (see [this pull request](https://github.com/dashpay/dips/pull/142) for an example) (@kwvg) * [x] Update version in `configure.ac` (don't forget to set `CLIENT_VERSION_IS_RELEASE` to `true`) (@PastaPastaPasta) (#6413) * [x] Write release notes (@PastaPastaPasta) (https://github.com/dashpay/dash/pull/6459) * [x] Update `src/chainparams.cpp` `nMinimumChainWork` with information from the `getblockchaininfo` rpc. (@PastaPastaPasta) (#6411) * [x] Update `src/chainparams.cpp` `defaultAssumeValid` with information from the `getblockhash` rpc. (@PastaPastaPasta) (#6411) - 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. * [x] Verify Insight works (@ktechmidas/infra) (https://insight.testnet.networks.dash.org:3002/insight/status working) * [x] Ensure that governance is functional (@knst) * [ ] Verify p2pool works (unmaintained; no responsible party) * [x] Tag version and push (@PastaPastaPasta ) * [x] Validate that CI passes * [x] Notify mobile team of new protocol version, if applicable Before every major release: * [x] Update hardcoded [seeds](/contrib/seeds/README.md), see [this pull request](https://github.com/dashpay/dash/pull/5914) for an example. (@PastaPastaPasta) (https://github.com/dashpay/dash/pull/6414) * [x] Update [`src/chainparams.cpp`](/src/chainparams.cpp) `m_assumed_blockchain_size` and `m_assumed_chain_state_size` with the current size plus some overhead (see [this](#how-to-calculate-assumed-blockchain-and-chain-state-size) for information on how to calculate them). (@PastaPastaPasta) (https://github.com/dashpay/dash/pull/6475) * [x] Update [`src/chainparams.cpp`](/src/chainparams.cpp) `chainTxData` with statistics about the transaction count and rate. Use the output of the `getchaintxstats` RPC, see [this pull request](https://github.com/dashpay/dash/pull/5692) for an example. Reviewers can verify the results by running `getchaintxstats <window_block_count> <window_last_block_hash>` with the `window_block_count` and `window_last_block_hash` from your output. (@PastaPastaPasta) (#6411) * [ ] Ensure all TODOs are evaluated and resolved if needed ### After 3 or more people have guix-built and their results match: - [x] Create windows / macOS detached signatures and commit * [x] Combine the `all.SHA256SUMS.asc` file from all signers into `SHA256SUMS.asc`: * [x] GPG sign each download / binary * [x] Upload zips and installers, as well as `SHA256SUMS.asc` from last step, to GitHub as GitHub draft release. * [x] Validate `SHA256SUMS.asc` and all binaries attached to GitHub draft release are correct * [ ] Notarize macOS binaries * [x] Publish release on GitHub * [ ] Fast-forward `master` branch on GitHub * [x] Update the dash.org download links * [ ] Ensure that docker hub images are up to date * [ ] Update Flatpak version - [ ] Test Docker build runs without errors in Dashmate ### Announce the release: * [ ] Release on Dash forum: https://www.dash.org/forum/topic/official-announcements.54/ (necessary so we have a permalink to use on twitter, reddit, etc.) * [ ] Prepare product brief (major versions only) * [ ] Prepare a release announcement tweet * [ ] Follow-up tweets with any important block heights for consensus changes * [ ] Post on Reddit * [ ] Celebrate ### After the release: * [ ] Submit patches to BTCPay to ensure they use latest / compatible version see https://github.com/dashpay/dash/issues/4211#issuecomment-966608207 * [ ] Update Core and User docs (docs.dash.org) * [ ] Test Docker build runs without error in Dashmate * [ ] Add new Release Process items to repo [Release Process](release-process.md) document * [ ] Merge `master` branch back into `develop` so that `master` could be fast-forwarded on next release again
Release Process
Before every minor and major release:
configure.ac(don't forget to setCLIENT_VERSION_IS_RELEASEtotrue) (@PastaPastaPasta) ([v22.0.x] chore: set release true #6413)src/chainparams.cppnMinimumChainWorkwith information from thegetblockchaininforpc. (@PastaPastaPasta) (chore: update nMinimumChainWork, defaultAssumeValid, checkpointData, chainTxData for mainnet and testnet #6411)src/chainparams.cppdefaultAssumeValidwith information from thegetblockhashrpc. (@PastaPastaPasta) (chore: update nMinimumChainWork, defaultAssumeValid, checkpointData, chainTxData for mainnet and testnet #6411)reindex-chainstatewithassumevalid=0to catch any defectthat causes rejection of blocks in the past history.
Before every major release:
src/chainparams.cppm_assumed_blockchain_sizeandm_assumed_chain_state_sizewith the current size plus some overhead (see this for information on how to calculate them). (@PastaPastaPasta) (chore: bumped chain assumed sizes based on latest usage #6475)src/chainparams.cppchainTxDatawith statistics about the transaction count and rate. Use the output of thegetchaintxstatsRPC, seethis pull request for an example. Reviewers can verify the results by running
getchaintxstats <window_block_count> <window_last_block_hash>with thewindow_block_countandwindow_last_block_hashfrom your output. (@PastaPastaPasta) (chore: update nMinimumChainWork, defaultAssumeValid, checkpointData, chainTxData for mainnet and testnet #6411)After 3 or more people have guix-built and their results match:
all.SHA256SUMS.ascfile from all signers intoSHA256SUMS.asc:SHA256SUMS.ascfrom last step, to GitHub as GitHub draft release.SHA256SUMS.ascand all binaries attached to GitHub draft release are correctmasterbranch on GitHubAnnounce the release:
After the release:
masterbranch back intodevelopso thatmastercould be fast-forwarded on next release again