# Release process checklist for libipuz ## Before beginning - [ ] Refresh your memory with https://wiki.gnome.org/MaintainersCorner/Releasing - [ ] Update the overview files and any other devel docs that need updating. - [ ] Update README.md with any changes - [ ] Go through outstanding issues! Make sure we're ready to go and not forgetting something. - [ ] Make sure we pass all tests! `ninja test -C _build` - [ ] Update `NEWS.md`, see below for the preferred format and hints. - [ ] Update `docs/index.md` to indicate latest release version ## Release the source - [ ] Commit the changes above, and do a git pull to make sure you have everything. - [ ] Build it one more time - [ ] Create a release with `meson dist` in the _build directory. This won't work if there are uncommitted changes. - [ ] Create a signed tag: `git tag -s x.y.z` with the version number. - [ ] `git push origin master` - [ ] `git push origin x.y.z` the signed tag - [ ] Create a [release in Gitlab](#gitlab-release). ## Gitlab release - [ ] Go to https://gitlab.gnome.org/jrb/libipuz/-/releases and click the **New release** button. - [ ] Select the tag `x.y.z` you created as part of the release steps. - [ ] If there is an associated milestone, select it too. - [ ] Fill in the release title - `x.y.z - stable` or `x.y.z - development`. - [ ] Copy the release notes from NEWS.md. ## Post release - [ ] Bump the version immediately post-release, and push it to master. Any API additions will require a new version of this library. ## Format for release notes in NEWS The `NEWS` file contains the release notes. Please use something close to this format; it is not mandatory, but makes the formatting consistent, and is what tooling expects elsewhere - also by writing Markdown, you can just cut&paste it into a Gitlab release. You can skim bits of the NEWS file for examples on style and content. New entries go at the **top** of the file. An easy way to double check you got all the news is to run `git log x.y.z..@ --oneline`, where `x.y.z` is the last release tag. Example News ```markdown ============= Version x.y.z ============= Release date: Month xx, 20xx Optional Summary ## Changes: libipuz x.y.z * Update 1 * Update 2 * Update 3 ## Special thanks for this release: - Any people that you want to highlight. ```