Skip navigation.
Free Chess Database

Creating Release

The suggested procedure to create a release:

  • Make sure everything is committed that should be in the release
  • Update ChangeLog, ChangeLog.txt file
  • If year was changed, update year in Copyright header line of source files
  • Change the version number in src/database/version.h
  • Change the version number in mac_osx/Info.plist
  • Change the version number in the pkg template (macOS)
  • Change the version number in the setup*.iss file (windows installer)
  • Change the version number in the mac_deploy_dyn file (mac os installer)
  • Change the version number in the make_tarball file (linux installer)
  • Compile and verify that it works correctly.
  • Commit changes
  • Set the current release into chessx.sourceforge.net/versions/current.txt
  • Update translations in chessx.sourceforge.net/translations/dict.txt and *.qm
  • Tag release in SVN:

    svn -m"New Release" copy https://svn.code.sf.net/p/chessx/code/trunk https://svn.code.sf.net/p/chessx/code/tags/release-M-m-r

    M = Major version
    m = minor version
    r = release
    Example:

    svn -m"New Release" copy https://svn.code.sf.net/p/chessx/code/trunk https://svn.code.sf.net/p/chessx/code/tags/release-1-1-0

  • Export the release, and use the export to distribute source by executing unix/make_tarball, and build binaries:

    svn export http://chessx.svn.sourceforge.net/svnroot/chessx/tags/release-1-1-0 chessx-1.1.0

  • Change version number in the places mentioned above by incrementing the release number, and commit. This ensures that subsequent SVN builds will not show the same version number as the release.

Guideline for version numbers

  • If the release number is 0 it can be ommitted in version.h, and when creating the release on Sourceforge, ie 0.4 is sufficient. It is recommended that for the SVN tag, the .0 is kept for consistency.
  • Increment major version for major releases, usually not backwards compatible, or big look and feel changes.
  • Increment minor version for added features, and important bug fixes. Indicates that the user should upgrade.
  • Increment release for other bug fixes. If the bug is not bothering the user, he does not need to upgrade now.