Bitcoin Cash Node Release Process
Before Release
-
Check configuration
- Check features planned for the release are implemented and documented (or more informally, that the Release Manager agrees it is feature complete)
- Check that finished tasks / tickets are marked as resolved
-
Verify tests passed
- Any known issues or limitations should be documented in release notes
- Known bugs should have tickets
- Run
arc lint --everything
and check there is no linter error - Ensure that bitcoind and bitcoin-qt run with no issue on all supported platforms. Manually test bitcoin-qt by sending some transactions and navigating through the menus.
-
Update the documents / code which needs to be updated every release
- Check that release-notes.md is complete, and fill in any missing items.
- Update bips.md to account for changes since the last release.
- (major releases) Update
BLOCK_CHAIN_SIZE
to the current size plus some overhead. - Update seeds as per contrib/seeds/README.md.
- Update
src/chainparams.cpp
m_assumed_blockchain_size and m_assumed_chain_state_size with the current size plus some overhead.
-
Add git tag for release a. Create the tag:
git tag vM.m.r
(M = major version, m = minor version, r = revision) b. Push the tag to GitLab:git push <gitlab remote> master git push <gitlab remote> vM.m.r
-
Increment version number for the next release in:
doc/release-notes.md
(and copy existing one to versioneddoc/release-notes/*.md
)configure.ac
CMakeLists.txt
contrib/seeds/makeseeds.py
(only after a new major release)
Release
-
Create Gitian Builds (see gitian-building.md)
-
Verify matching Gitian Builds, gather signatures
-
Verify IBD bith with and without
-checkpoints=0 -assumevalid=0
-
Upload Gitian Builds to bitcoincashnode.org
-
Create a release on our GitHub mirror:
contrib/release/github-release.sh -a <path to release binaries> -t <release tag> -o <file containing your Github OAuth token>
-
Create Ubuntu PPA packages: Maintainers need to clone packaging and follow instructions to run
debian-packaging.sh
in that repository. -
Notify maintainers of AUR and Docker images to build their packages. They should be given 1-day advance notice if possible.
After Release
-
Update version number on www.bitcoincashnode.org
-
Publish signed checksums (various places, e.g. blog, reddit, etc. etc.)
-
Announce Release:
- Twitter @bitcoincashnode
- Public slack channels friendly to Bitcoin Cash Node announcements