-
Notifications
You must be signed in to change notification settings - Fork 212
Release Checklist
Wan-Teh Chang edited this page Oct 11, 2022
·
17 revisions
This is just a helpful checklist on making a new libavif release. It is intended to be updated if/when release practices change.
These two commits are useful for an example of what a release (and its immediate subsequent commit) looks like:
Checklist:
- Come up with a new version number! For the purposes of this checklist, I'll use
6.7.7
as the old version, and6.7.8
as the new one. - Update the CHANGELOG
- Click the CHANGELOG link. At the top of the page, there is an
Unreleased
link which is a shortcut to GitHub's list of every commit since the previous release. Use this to audit the current Unreleased CHANGELOG's list of Added/Changed/Removed and update it accordingly. - Add a new header just below the
Unreleased
line which will be for the new version. It should look like## [6.7.8] - 2021-09-22
- Add/Update the links at the very bottom of the CHANGELOG. Unreleased should link to the new version
...HEAD
, such ashttps://github.com/AOMediaCodec/libavif/compare/v6.7.8...HEAD
, and you must add a new line that links your new version to the range since the last release, such as[6.7.8]: https://github.com/AOMediaCodec/libavif/compare/v6.7.7...v6.7.8
.
- Click the CHANGELOG link. At the top of the page, there is an
- Update CMakeLists.txt versions
- Update the
VERSION
in theproject()
line near the top to the new version - Bump the SOVERSION (
LIBRARY_VERSION_*
), following the documentation above it. SOVERSION's values are not intended to correspond with libavif's version, but simply be incremented correctly as library compatibility changes.
- Update the
- Update the version in
avif.h
- Set
AVIF_VERSION_*
values to correspond to your new version's values, and be sure to setAVIF_VERSION_DEVEL
to0
.
- Set
- Commit all of this to the
main
branch. Typically the commit message is the name of the new release, such as:git commit -a -m v6.7.8
- Push main:
git push
- Create a tag for this release:
git tag -a v6.7.8 -m v6.7.8
- Push the new tag:
git push origin v6.7.8
- Update
avif.h
one more time, settingAVIF_VERSION_DEVEL
back to1
. Commit to main and push. - Verify that the Releases page is automatically updated by CI at some point in the next hour or two.