Release preparation checklist
Clone this wiki locally
This is a checklist which must be followed when preparing a new OF release.
All the steps must be completed to successfully publish a release, so if you are currently prepare a release, go through them sequentially.
- Make sure your local repo is in sync with current upstream openFrameworks.
- Releases should have an associated milestone, and the name of the milestone will be the name of the release. If this is a quick release (e.g., fixing one significant issue), the name of the release should increment on the previous release (e.g., 0.8.2 -> 0.8.3).
- There can be no issues left in the milestone before a release. If there are issues, move them to the next milestone.
- Update the changelog. Look at/ask for a list of merged PRs since the last release tag when doing this - the policy is that any relevant changes enter the codebase via PRs, so this is much easier and higher-level than wading through commit logs. Add to the changelog in
./changes.txt. Commit this change to
master. This script by @bilderbuchi compiles a list of merged PRs since the last tag.
- Call to dev list to ask for people to test across their different platforms / compilers. Potentially: announce a release candidate, and repeat this step until satisfied.
- Update the version number defines in
ofConstants.h. Commit this change to
master. This should be the last commit for each release.
stable(this is typically a fast-forward merge).
- Check out
stable. Note the last/current commit SHA, this will be the release commit, and it must not be changed afterwards!
- Make sure you're at the release commit (on the
stablebranch). Create a tag at the release commit, containing only the version number, e.g.
git tag 0.8.2
masterto the OF repo, using the
--tagsoption to also push the tag you just created.
- Site: Generate the packages (how? Arturo or Theo typically does this)
- Site: Change the version number of the current release on the OF Site at: https://github.com/openframeworks/ofSite/blob/master/_version.py
- Write an announcement mail to the developer mailing list, and an announcement tweet to Twitter, listing the version number, release commit and date, relevant changes.