Software versioning

The software life cycle might be very long. Changes in the program might be different - from correcting the error to full rewriting. Therefore we should reflect those changes in the software version. The following convention is recommended:

Major.Minor.Patch

Below you can see pictures for better understanding. More details are available on wiki-page.