Development: Making a Release - TigerVNC/tigervnc GitHub Wiki

Quick guide to how we make releases.

Creating a new branch

  1. Update the translation template file:

    $ make translations_update
    $ git commit -m "Update translation template file" po/tigervnc.pot
    
  2. Create the release branch:

    $ git branch 1.2-branch master
    
  3. Check out the master branch:

    $ git checkout master
    
  4. Update the version number in these files:

    • CMakeLists.txt
    • java/CMakeLists.txt
    • unix/xserver/hw/vnc/xvnc.c

    If the release is 1.2.0 then the master branch should have 1.2.80 as the version number.

  5. Commit the version change:

    $ git commit -m "Change development version to 1.2.80" \
    CMakeLists.txt java/CMakeLists.txt unix/xserver/hw/vnc/xvnc.c
    
  6. Push the master branch to GitHub:

    $ git push --dry-run [email protected]:TigerVNC/tigervnc.git master
    
    (check that everything looks sane)
    
    $ git push [email protected]:TigerVNC/tigervnc.git master
    

Beta

  1. Check out the release branch:

    $ git checkout 1.2-branch
    
  2. Update the version number in these files:

    • CMakeLists.txt
    • java/CMakeLists.txt
    • unix/xserver/hw/vnc/xvnc.c
  3. Commit the version change:

    $ git commit -m "TigerVNC 1.1.90 (1.2.0 beta)" \
    CMakeLists.txt java/CMakeLists.txt unix/xserver/hw/vnc/xvnc.c
    
  4. Tag the beta:

    $ git tag -a -m "TigerVNC 1.1.90 (1.2.0 beta)" v1.1.90 1.2-branch
    
  5. Push everything to GitHub:

    $ git push --dry-run [email protected]:TigerVNC/tigervnc.git v1.1.90 1.2-branch
    
    (check that everything looks sane)
    
    $ git push [email protected]:TigerVNC/tigervnc.git v1.1.90 1.2-branch
    
  6. Create a build (only Brian can do this right now)

  7. Create a release entry on SourceForge. Use the beta folder.

  8. Fill out the GitHub release using this template as a base:

    A beta of TigerVNC 1.2.0 is now available. Lots of changes have been made since
    the last release, but the highlights are:
    
      - Something
      - Something else
      - Something more
    
    
    Binaries are available from SourceForge:
    
    https://sourceforge.net/projects/tigervnc/files/beta/1.2beta
    
    Regards
    The TigerVNC Developers
    
  9. Use the same template as above and send an annoucement to the tigervnc-announce mailing list.

  10. Inform the translation project that a new release needs translation.

Proper release

This follows the same steps as the beta, except for these changes:

  • Don't inform the translation project about the new release.

  • Use the simple "TigerVNC 1.2.0" as the version commit and tag message.

  • Update the HTML version of the man pages on the main web page. You can generate them using groff:

    $ groff -mandoc -Thtml -P-l Xvnc.man > Xvnc.html
    
  • Use the stable folder on SourceForge.

Bug fix releases

Do exactly the same as the initial release.