I didn't learn programming at school and I do not work as a (professional) developer, hence a lot of basics are not quite clear to me. This question tries to clarify one of them. Now let's suppose that I have issues #1, #2 and #3 in my Issues Tracker that are set to be corrected/enhanced for version 1.0.0 and that the last (stable) version is 0.9.0. When should I increment to version 1.0.0 ? When a) just one of the listed above issues is closed or b) when all the issues related to version 1.0 are closed ? Which one is the right way to do it ? And by the right way, I mean what is currently used in the industry.
When should I increment version number?
versioning;semantic versioning
I can tell you how I do it at work.We have a continuous integration server that builds, tests, tags and outputs a versioned package.  We only proceed to the next stage if the previous one is %100 successful.Our version looks like this:  <Major Version>.<Minor Version>.<Build Number>Every successful build that has no completed bug fix or feature enhancement increments the Build Number.Every successful build with a completed bug fix or feature enhancement increments the Minor Version.  This is automatically detected by the presence of a commit message using a particular format.  This commit message also automatically get's pulled into the projects ChangeLog.Every Major Version increment is done by hand when we have non backward compatible changes, rewrites from scratch or other reasons made on a case by case basis.