Release Checklist
This is the checklist for cutting a release.
- Update the README.
- Update the manuals.
- Test history manually.
- Run and pass the
release.sh
script, without tests, on my own machine. - Run and pass the
release.sh
script on my own machine. - Run and pass the
release.sh
script, without generated tests and sanitizers, on FreeBSD. - Run Coverity Scan and eliminate warnings, if possible (both only).
- Run the randmath.py script an excessive amount and add failing tests to test suite.
- Have other testers try to break it.
- Fuzz with AFL.
- Fix AFL crashes.
- Repeat steps 3-11 again and repeat until nothing is found.
- Change the version (remove "-dev") and commit.
- Run "make clean_tests".
- Run the release script.
- Upload the custom tarball to GitHub.
- Add sha's to release notes.
- Edit release notes for the changelog.
- Increment to the next version (with "-dev").