- Make release branch from lily/servant
- Modify the version variables in CMakeLists.txt paying special notice to SOVERSION
- Run https://lily-is.land/kazv/release-utils/-/blob/servant/collect-changelog.perl?ref_type=heads under the root of the repository
- Paste the result into CHANGELOG.md
- For kazv only, modify `moe.kazv.mxc.kazv.appdata.xml` to add the new release
- Commit, with the title being `Release vX.Y.Z`
- Push and make a merge request on GitLab, write a short statement describing the changes into the body of the merge request (the Summary part). This will be used in the release notes.
- After CI passes, merge the MR
- Tag the release with `vX.Y.Z` on the new `lily/servant`
- Make a GitLab Release on the tag
- In https://lily-is.land/kazv/kazv.pg.kazv.moe add the changelog for the release
- When tag pipeline passes, download the artifact (AppImage) from the prod build
- Sign and upload the artifact to the package registry, using https://lily-is.land/kazv/kazv/-/snippets/7
- Add the links to the registry to the release