Making a release
================

To make a release of libwbxml, do the following:

(1) Check out a fresh copy from GitHub

   Please check upfront if your fork is in sync with the upstream repositiory.
   GitHub can do this for you by just clicking on the button "Sync fork".

(2) Update the version numbers in CMakeLists.txt

   Please follow strictly the guidance in CMakelists.txt.

   Package Version:
   LIBWBXML_VERSION_MAJOR
   LIBWBXML_VERSION_MINOR
   LIBWBXML_VERSION_PATCH

   Library Version:
   LIBWBXML_LIBVERSION_CURRENT 
   LIBWBXML_LIBVERSION_REVISION
   LIBWBXML_LIBVERSION_AGE

(3) Test the source code

   Run "make test" again several times to try to see race conditions.

   "cmake . -B/tmp/build/libwbxml"
   "cd /tmp/build/libwbxml"
   "make"
   "make test"

(4) Update ChangeLog

   Check ChangeLog to be complete and add the new release name.

(5) Create a pull request for the new release

   git pull
   git status
   git diff
   git commit -a -m "libwbxml v$MAJOR.$MINOR.$PATCH"
   git push

   Please create the pull request via the web GUI of GitHub.

(6) Merge the pull request.

   Please merge the pull request via the web GUI of GitHub.
   Please use "libwbxml v$MAJOR.$MINOR.$PATCH" as title and description.

(7) Create a new tag.

   Please create a new tag via the web GUI of GitHub.

   libwbxml-$MAJOR.$MINOR.$PATCH

(8) Write the release notes

   Please create a new release on GitHub and use the web GUI of Github. 
   Please reflect about the ChangeLog and add think about to whom you
   would like to say thank you.

(9) Celebrate the release!

