Update (2019): This article was written on 2015. For newer alternatives, consider tools like np.
Releasing packages involves the same repetitive tasks: updating the change log, bumping versions, tagging a release, and so on. Here are a few tools to make this chore easier.
.json files. This works with any file type with semver tags.
There are many change log tools available, but I've found that the sanest solution is to update the log as features get implemented. Maintain an "unreleased" list on top of the change log—on release time, you'll simply need to add a date.
Git Extras comes with the
git release command, which automates creating a release commit, tags it with the right version, and pushes it.