Howto prepare a new release

  • Make sure all closed bugs and features have a target version
  • Postpone all open issues targeted at this version
  • Close the version milestone on redmine and set the date
  • Create a new version milestone on redmine
  • Bump version in CMakeLists.txt
  • Update CHANGELOG
  • Update translations (run share/translations/
  • Remove translations that don't meet the 80% criteria (
  • Build Mac OS X bundle
    • Boot Mac OS X 10.7 and follow instructions in INSTALL
    • make package
    • make test
  • Build Window bundle
    • Boot Windows 7 and follow instructions in INSTALL
    • make package
    • make test
  • Check binaries against virus scanners with VirusTotal
  • Create source tarball
    • git tag -s $VERSION
    • git archive --prefix keepassx-$VERSION/ -o keepassx-$VERSION.tar.gz $VERSION
  • Sign all files:
    for file in KeePassX-$VERSION.dmg keepassx-$VERSION.tar.gz KeePassX-$; do gpg --armor --sign --detach-sign --output $file.sig $file; done
    sha256sum KeePassX-$VERSION.dmg keepassx-$VERSION.tar.gz KeePassX-$ > SHA256SUMS; gpg --armor --sign --detach-sign --output SHA256SUMS.sig SHA256SUMS
  • Upload files to
  • git push origin master $TAG
  • Update
  • Write blog post
  • Add new changelog entry in