Document what’s changed, keeping an eye out for breaking changes that will affect the version number.
Release notes typically follow this pattern:
Fixed
- Something was fixed (#pr-number). Thanks @pr-author!
Added
- Something was added (#pr-number). Thanks @pr-author!
Improved
- Something was improved (#pr-number). Thanks @pr-author!
Thank you to {authors of PRs that improved code quality} for improvements to the code base! Thank you to {reviewers of PRs} for reviewing pull requests!
Try to call out more important items earlier in the list.
You can use the compare page on GitHub to see what’s changed since the previous release. Typically only the merge commits (those of the form Merge pull request #2342 from branch-name) are needed. Click the link to the PR to see what changed.
If the changes in this release are breaking, then increment the minor number (0.26.0
to 0.27.0
). Otherwise increment the patch number (0.26.0
to 0.26.1
).
The version number needs to be set in the CarthageKitVersion
struct and in the Info.plist
s for both carthage
and CarthageKit
.
This commit can be made directly to master
and then pushed to GitHub.
Create a new release on GitHub. The tag version should always be 3 numbers (i.e. 0.26.0
, not 0.26
). Check This is a pre-release for now.
Now that you’ve created the release, do a git pull
: you need the tag locally when you create the installer.
Run make package
to create the installer locally. It’s probably a good idea to install it and run carthage version
to make sure that you’ve picked up the changes.
Edit the release you created. Add the Carthage.pkg
and CarthageKit.framework
that were created, uncheck This in a pre-release, and publish! Congratulations, you’ve published the release! 👏
Many people install Carthage with Homebrew. In order for them to upgrade, the Homebrew formula needs to be updated.
Normally only tag
and revision
need to be updated in the formula. But if the supported Xcode versions have changed, that will need to be updated as well.
The sha256
values will be automatically changed by homebrew once the bottles are ready.
Once you open a PR against the Homebrew repo, it’s typically merged within a few hours. You can open a PR from your own fork or from Carthage/homebrew-core.