Project

General

Profile

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/update.sh)
  • Remove translations that don't meet the 80% criteria (https://www.transifex.com/projects/p/keepassx/)
  • Build Mac OS X bundle
    • Boot Mac OS X 10.7 and follow instructions in INSTALL
    • cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_VERBOSE_MAKEFILE=ON -DWITH_GUI_TESTS=ON -DWITH_CXX11=OFF
    • make package
    • make test
  • Build Window bundle
    • Boot Windows 7 and follow instructions in INSTALL
    • cmake -G"MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DWITH_GUI_TESTS=ON -DCMAKE_PREFIX_PATH=/opt/windows_32
    • 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-$VERSION.zip; do gpg --armor --sign --detach-sign --output $file.sig $file; done
    sha256sum KeePassX-$VERSION.dmg keepassx-$VERSION.tar.gz KeePassX-$VERSION.zip > SHA256SUMS; gpg --armor --sign --detach-sign --output SHA256SUMS.sig SHA256SUMS
  • Upload files to https://www.keepassx.org/dev/projects/keepassx/files
  • git push origin master $TAG
  • Update https://www.keepassx.org/changelog
  • Write blog post
  • Add new changelog entry in https://code.launchpad.net/~keepassx/keepassx/ppa