Skip to content

Latest commit

 

History

History
34 lines (27 loc) · 2.14 KB

release-process.md

File metadata and controls

34 lines (27 loc) · 2.14 KB

Release Process

Before every release candidate:

Before every minor and major release:

  • Update bips.md to account for changes since the last release.
  • Update version in configure.ac (don't forget to set CLIENT_VERSION_IS_RELEASE to true)
  • Write release notes (see below)
  • Update src/chainparams.cpp nMinimumChainWork with information from the getblockchaininfo rpc.
  • Update src/chainparams.cpp defaultAssumeValid with information from the getblockhash rpc.
    • The selected value must not be orphaned so it may be useful to set the value two blocks back from the tip.
    • Testnet should be set some tens of thousands back from the tip due to reorgs there.
    • 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.

Before every major release:

  • Update hardcoded seeds, see this pull request for an example.
  • Update BLOCK_CHAIN_SIZE to the current size plus some overhead.
  • Update src/chainparams.cpp chainTxData with statistics about the transaction count and rate. Use the output of the RPC getchaintxstats, see this pull request 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.

Finally:

  • Announce the release:
    • Update xpchain.io
    • Official announcements in Discord, Twitter, etc.
    • Archive release notes for the new version to doc/release-notes/ (branch master and branch of the release)
    • Create a new GitHub release with a link to the archived release notes.
    • Celebrate