This mostly applies to repository collaborators, but feel free to contribute to the process if you'd like.
- meaningful changes have taken place on master
- the CHANGELOG has been updated to reflect the changes (ideally when the pull requests were merged, or edited in a pull request if its own)
- an issue has been created on GitHub proposing the release
- that issue has been tagged with
release - the release issue has received approval from at least one project collaborator
- Ensure that any changes made to master have been documented in the
CHANGELOGand committed to GitHub. Ideally theCHANGELOGis already up to date, however if not, you will want to create a new branch, edit theCHANGELOG, push to GitHub and create a pull request. Please wait until this pull request has been approved and merged before continuing. - Ensure you have received release approval as per the above checklist.
- Ensure that your git working directory is clean and up to date with master.
- Determine what version you should bump. This project follows semver, so use the following guidelines:
- major - this is for "breaking" changes and major application milestones. This will often correspond to an actual milestone on GitHub.
- minor - this is for new features and additions.
- patch - this is for bugfixes.
- Prepare the release with the
prepare-release.shscript:
$ ./scripts/prepare-release.sh [major|minor|patch]This script will perform some sanity checks, compute and set the new application version, and update the CHANGELOG, prompting you for confirmation and for a final git diff along the way.
- Push to GitHub with
git push --tagsto send the new tag upstream. - Travis CI will then build the application, push the release to GitHub with release notes, and update the website at
gh-pageswith HTML and Sparkle XML (which pushes the update to users).