Release Checklist
This is the checklist for cutting a release.
- Eliminate all compiler warnings.
- Run scan-build and eliminate warnings.
- Run and pass the test suite.
- debug (with AddressSanitizer and UndefinedBehaviorSanitizer)
- release
- minrelease
- Run timeconst.sh.
- Run the randmath.sh script an excessive amount and add failing tests to test suite.
- Run valgrind on the test suite.
- Have other testers try to break it.
- Fuzz with AFL
- Fix AFL crashes as much as possible.
- Repeat steps 1-9 again and repeat until nothing is found.
- Run the release script.
- Upload the custom tarball to GitHub.
- Add sha's to release notes.
- Edit release notes for the changelog.