diff --git a/doc/release-process.md b/doc/release-process.md index 75ea5d4f1..e72aa90c4 100644 --- a/doc/release-process.md +++ b/doc/release-process.md @@ -62,13 +62,19 @@ Install deps on Linux: - A `CLIENT_VERSION_BUILD` of 50 means "actual non-beta release" - Make sure to keep the values in configure.ac and src/clientversion.h the same. The variables are prefixed wth an underscore in configure.ac - Run `make manpages`, commit + push results + - hushd must be running so the script can automatically get the correct version number + - There is a hack in the script where you can hardcode a version number if hushd isn't running. + - Comment out the HUSHVER line and uncomment the line above it with a hardcoded version number - PROTIP: Man page creation must be done after updating the version number and recompiling and before Debian package creation - Update checkpoints in src/chainparams.cpp via util/checkpoints.pl + - hushd must be running to run this script, since it uses hush-cli to get the data - checkpoints.pl will just generate the data you need, it must be manually copied into the correct place - - Checkpoint are a list of block heights and block hashes that tell a full node the correct block history of the blockchain - - Checkpoints make block verification a bit faster, because nodes can say "is this block a descendant of a checkpoint block" instead of doing full consensus checks, which take more time + - Checkpoints are a list of block heights and block hashes that tell a full node the correct block history of the blockchain + - Checkpoints make block verification a bit faster, because nodes can say "is this block a descendant of a checkpoint block?" instead of doing full consensus checks, which take more time - Checkpoints also provide a bit of security against some attacks that would create malicious chainforks - - Update man pages + - They only provide limited security, because they talk about the past, not future block heights. + - Try to generate checkpoints as close to the release as possible, so you can have a recent block height be protected. + - For instance, don't update checkpoints and then do a release a month later. You can always update checkpoint data again or multiple times - Update copyright years (if applicable) with util/replace.pl - Do a fresh clone and fresh sync with new checkpoints - Stop node, wait 20 minutes, and then do a partial sync with new checkpoints @@ -76,6 +82,7 @@ Install deps on Linux: - Make Git Tag (Gitea can do this) - Use util/gen-linux-binary-release.sh to make a Linux release binary - Use util/build-debian-package.sh to make an x86 Debian package for the release + - Debian packages should be done after you make manpages, because those are included in Debian packages - Use util/build-debian-package-ARM.sh (does this still work?) to make an ARM Debian package for the release - Upload the debian packages to the Gitea release page, with SHA256 sums