Release Checklist

  • Jack Atkinson
  • Last Updated: February 2026

This guide covers how to prepare and push a release of FTorch. Follow this checklist to ensure that documentation, tags, archives etc. are all updated consistently and correctly.

Release Checklist

  1. Ensure that you are working from the main branch.
  2. Clarify the name of the release.
    1. Releases follow Semantic Versioning with the form vX.Y.Z
  3. Create a git branch vX.Y.Z-release
  4. Update the CHANGELOG.md.
    1. Move all content currently listed under ## Unreleased to be under a header for the current version
      1. The new header should be titled ## vX.Y.Z - yyyy-mm-dd
      2. The version number should be a hyperlink to the GitHub tag: https://github.com/Cambridge-ICCS/FTorch/releases/tag/vX.Y.Z
      3. Add a link to the diff before the changes of the form: GitHub diff with A.B.C pointing to https://github.com/Cambridge-ICCS/FTorch/compare/vA.B.C...vX.Y.Z), where A.B.C was the previous release.
    2. Update the ## Unreleased section:
      1. Add empty section headers ready for future changes
      2. Update the GitHub diff to compare vX.Y.Z to HEAD
    3. Add the CHANGELOG.md to the git staging index
  5. Update the CMakeLists.txt
    1. Change set(PACKAGE_VERSION X.Y.Z)
    2. Add the CMakeLists.txt to the git staging index
  6. Update code on the git remote:
    1. Commit the updated version files with message: Update version number for release vX.Y.Z
    2. Push to remote.
    3. Open a Pull Request for release preparation
    4. Once approved merge via rebase
  7. Create a tag for the release
    1. Ensure that you are on the main branch.
    2. Run git pull to get the latest version of the code, ensuring that the most recent commit is Update version number for release vX.Y.Z.
    3. Run git tag -a vX.Y.Z -m "Version X.Y.Z". Optionally add -s to also sign.
    4. Push tags to the remote with git push --tags origin main.
  8. Create a GitHub release corresponding to the new tag.
    1. Release creation for FTorch.
    2. Title: v.X.Y.Z
    3. Add brief release notes, referencing full details in Changelog.
    4. Ensure "Set as the latest release" is checked.
  9. Check that Zenodo archive is updated accordingly.
    1. Zenodo has been linked with the ICCS GitHub so the archive should appear automatically.
    2. Check author details and descriptions and update manually as appropriate.
  10. Party like you just published a release!
    1. Publicise on mailing list and wherever appropriate.