Given a version number MAJOR.MINOR.PATCH, increment the:
MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.
So version 2.0.0 represents a “breaking” major change, version 2.1.0 represents new features that are still backwards-compatible, and version 2.1.1 represents a bug fix.
I began with version 0.7.0.0, which is not strictly speaking correct, but since version 1.0.0 I have followed SEMVER strictly. We are still on version 2 and will be there for a while. For ease of use, and fun, I add the name of a famous author to the git tag and increment it alphabetically after each major version. So far major versions have been tagged as follows:
0.7.0.0-Gissing -- George, the author of GRUB STREET 0.8.0.0-Herbert -- Frank, the author of DUNE 0.9.0.0-Ionesco -- Eugene , the author of RHINOCEROS 1.0.0-Johnson -- Samuel, the author of DICTIONARY OF THE ENGLISH LANGUAGE 2.0.0-Keats -- John, the poet.
During each version, I work may way through the complete works of that author. Right now, I am reading “Hyperion” by Keats. And I am looking ahead — what should the next version name be?