Release versioning

x.y.z

where:

  • x - major change
  • y - minor change, should be done few time per year
  • z - bug fixing release

How to make a release

Release related files

  • microcol-dist/src/icon_square_64x64.ico - should be 64 x 64 px square Microsoft icon

Release pre-requirements

Installed java 1.8.

Release steps

Following guide is useful when new minor or major change should be released. Guide suppose releasing version x.y.0.

  1. Verify that project is clean and all files committed. Command:
    git status
  2. Create new branch and switch to it:
    git checkout -b rel-x.y

    Now all further operations will be done in rel-x.y branch.

  3. Set final package version:
    mvn versions:set -DnewVersion=x.y.0
  4. Release binaries:
    mvn clean package

    Verify release binaries. Release files could be found at places:

    • microcol-dist/target/microcol.jar - universal executable JAR file
    • microcol-dist/target/microcol.exe - Windows executable
    • microcol-dist/target/MicroCol.app - Apple distribution
  5. Upload released binaries to sourceforge. In section Files at sourceforge create new directory MicroCol x.x and upload there all generated files. In detail of each file click on i icon and platform. There is list of platform for which is file default.
  6. Remove maven backup files pom.xml.versionsBackup
    mvn versions:commit
  7. Commit all changes in git branch
    git add --all
    git commit -m "rel-x.y.0"
    git push

TODO add guide when branch x.y.2 already exists and version x.y.3 should be released.