Release Guidelines

From Buzztrax

Jump to: navigation, search

There are a lot of things to check before doing a release :)

Release naming scheme

We will just increment version numbers. All version below the feature level of original buzz will be named 0.X, afterwards 1.X and so on. When a new release is planned, we will release versions named Z.X-rcY. These release candidates are for people who like to test a new version. It is likely to have bugs though. Only when the version is considered as stable, it will be re-released as Z.X.

We don't use the odd-even number scheme where odd release numbers such as 0.3 denote development versions. Development versions can be obtained from the source code repository.


  • update build files: run autoupdate and autoscan
  • update and spellcheck files: README, NEWS
    • git log --summary --format=short RELEASE_0_8.. >ChangeLog-0.9
  • update COPYING
  • src/ui/edit/about-dialog.c
    • copy NEWS into dialog
    • check year for copyright
  • check translations: ( cd po; intltool-update -r )
  • test that all translations are marked:
 cd po
 # create pseudolocalized po file
 podebug --format='[i18n]' --input buzztrax-0.10.0.pot --output debug.po
 # or
 podebug --rewrite=xxx buzztrax-0.10.pot debug.po
 # compile po into mo
 msgfmt debug.po -o
 # install mo
 cp ~/buzztrax/share/locale/de/LC_MESSAGES/
 # start the app
 LANG="de_DE.utf8" LANGUAGE="de_DE" ~/buzztrax/bin/buzztrax-edit
  • touch po/ChangeLog
  • make dist or GNOME_DISABLE_CRASH_DIALOG=1 make distcheck
  • upload tarball to
  • sent email:
subject buzztrax-0.10.pot
  • upload API docs

Stable Release checklist

  • update translations
 # cd po && for file in *.po; do wget -O$file$file; done
 # cd po && for file in *.po; do curl$file >$file; done
 # until translations got updated
 sed -i -e 's/buzztard/buzztrax/g' -e 's/Buzztard/Buzztrax/g' -e '' po/*.po
 # extract translated messages to e.g. verify them via automated translation
 echo -e "$(msggrep -Te ".*" -p po/de.po | grep -v '^#' | sed -e 's/.*[^\]=//')"
  • run unit tests
  • update images for api-docs
 cp /tmp/lt-bt_gst_*.svg docs/reference/bt-gst/images/
  • update element presets
 # show presets that need updates
 find src -name "*.prs" -printf "diff -u $PWD/%p $HOME/.local/share/gstreamer-1.0/presets/%f;\n"
 # e.g. update them for GstBtEBeats
 cp /home/ensonic/.local/share/gstreamer-1.0/presets/GstBtEBeats.prs ./src/gst/audio/GstBtEBeats.prs
  • make dist or GNOME_DISABLE_CRASH_DIALOG=1 make distcheck
  • tag repository:
 git tag -s -u <gpg-key-id> -a RELEASE_0_3 -m"release: 0.3"
 # git push origin RELEASE_0_3
 git push --follow-tags
  • sign tarball
 gpg --armor --output buzztrax-0.10.tar.gz.asc --detach-sig buzztrax-0.10.tar.gz

Bugfix Release checklist

 git checkout -b BRANCH_0_10
 git cherry-pick <commit> <commit> ...
 git tag -s -a RELEASE_0_10_1 -m"release: 0.10.1"
 git push --follow-tags


make dist

remove ChangeLog from po/, DISTFILES


Support Us


GStreamer Logo
Become a Friend of GNOME
Linux Sound Logo
GNU Library Public Licence
GNU Free Documentation License 1.2