How to Perform Individual Releases
Please see https://docs.xfce.org/contribute/dev/make-a-release for an up to date documentation!
Bugfix Releases
Let's assume that Olivier wants to do a bugfix release of xfwm4
and that the previous release has been xfwm4
4.6.0.
If the 4.6.0 release was done correctly, there should be an xfce-4.6
branch in the xfwm4
repository.
These are the steps Olivier needs to go through for a proper release of xfwm4
4.6.1:
Preparations
- Check out the stable branch with
git checkout --track -b xfce-4.6 remotes/origin/xfce-4.6
- Synchronize the branch with the public repository (for translations and fixes committed by others):
git pull --rebase
- Make sure the application compiles and that
./autogen.sh --enable-gtk-doc ... && make distcheck
works; commit build fixes as needed
- Update the NEWS, AUTHORS, README, THANKS, HACKING etc. files
- If your ChangeLog is not generated automatically, update the ChangeLog from git with
git log > ChangeLog
Bumping the Version and Generating the Release Tarball
- Update the major, minor and micro version to
4
,6
and1
in the configure template (e.g.configure.in.in
) - If the component is or contains a library and there were new symbols added since the last release, update the libtool version in the configure template
- Remove the
git
fromxfwm4_version_tag
in the configure script template - Rebuild the translation files (
po/*.pot?
) to update Project-Id-Version and prevent problems during make distcheck with./autogen.sh --enable-gtk-doc ...
- Make sure everything builds fine; fix problems locally without committing:
./autogen.sh --enable-gtk-doc ... && make distcheck
There should now be a release tarball in the root directory of the component called xfwm4-4.6.1.tar.bz2
.
Committing and Tagging the Release
- Commit all local changes with a commit subject like this:
Release 4.6.1!
- After the commit, create an annotated tag for the release with
git tag -a xfwm4-4.6.1
You can also sign the tag with a GPG key by adding an additional parameter to the
git tag
command. For more information about tagging read thegit-tag
manual. - Push the release commit and the tag with
git push && git push --tags
Uploading the Release Tarball and Sending Announcements
- Compute the SHA1 checksum of the
xfwm4-4.6.1.tar.bz2
tarball generated by the last run ofmake distcheck
withsha1sum xfwm4-4.6.1.tar.bz2
- Open https://releases.xfce.org/ in your browser, log in with your Xfce HTTPS credentials
- Click on
Release New Version
link next to your project (xfwm4
in this case) - Follow the instructions presented to you by the release manager software to upload the
xfwm4-4.6.1.tar.bz2
tarball with the SHA1 checksum you computed before- For the announcements, please only pick mailing lists that make sense. Everything should be announced on
announce@xfce.org
andxfce@xfce.org
. Software affecting developers should be announced onxfce4-dev@xfce.org
in addition, and so on.
After the Release
- Add the
git
back toxfwm4_version_tag()
in the configure template; commit the change - Don't forget to add the version to your project on http://bugzilla.xfce.org/
- You might want to update the following websites:
- Freshmeat
- Gnomefiles
- others
- Switch back to the development branch using
git checkout master
- Celebrate