Skip to content

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, and 6.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 as https://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.
  • Update CMakeLists.txt versions
    • Update the VERSION in the project() 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 version in avif.h
    • Set AVIF_VERSION_* values to correspond to your new version's values, and be sure to set AVIF_VERSION_DEVEL to 0.
  • 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, setting AVIF_VERSION_DEVEL back to 1. Commit to main and push.
  • Verify that the Releases page is automatically updated by CI at some point in the next hour or two.
Clone this wiki locally