Afon Release

Maven release

The Maven release is performed by executing the script:

./release.sh

It uses the maven-release-plugin to create a git tag afon-<version> with a fixed release version and build the released components off of the tag.

It takes two inputs:

Version:    release version (semver)
Next:       next snapshot version (optional, defaults to the current project version)

For example, to release a preview version but remain on the same SNAPSHOT version:

./release.sh 1.0-beta-1

To release a stable version and move to the next SNAPSHOT version:

./release.sh 1.0 1.1-SNAPSHOT

The release commits and tag are pushed upon successful release.

NOTE: For the moment, the deploy stage of the release to a Repository Manager is disabled, and only the distribution CLI is uploaded to the “Afon Distribution” share drive.

Release notes

Before preparing the tag, release.sh updates release_notes.md with the closed issues of the GitHub milestone titled after the release version, and commits it if changed. Issues still open in the milestone are not included. The milestone must therefore exist before releasing, and the gh CLI must be authenticated with a token holding the repo scope.

The release notes are generated by milestones.sh, which can also be run on its own, e.g. to preview them:

afon-cli.sh github-milestones <version>                                     # writes ~/.afon/milestone-<version>.md
afon-cli.sh github-milestones -- <version> --state open                     # lists only the issues still open
afon-cli.sh github-milestones -- <version> release_notes.md --state closed  # also updates the version section in release_notes.md

Option --state is one of all|open|closed (or done, same as closed) and defaults to all. Use -- before the script args when passing options, so that afon.sh does not interpret them as its own. The version section in release_notes.md is replaced if present, or inserted above the previous releases. The release notes are included in the binary distributions.


Back to top

© 2026 Emrys Health Ltd. Registered in England and Wales.

Maintained by Emrys Health