Wikipedia The process release of assigning either unique version names or unique version numbers to unique states of computer software. Within a given version number category (major, minor), these numbers are generally assigned in increasing order and correspond to new developments in the software. At a fine-grained level, revision control is often used for keeping track of incrementally different versions of information, whether or not this information is computer software.v1.0.0
Major
version when you make incompatible API changes
Incement the first digit by 1 if the new features break backwards compatibility/current features
Minor
version when you add functionality in a backwards-compatible manner
Increment the middle digit by 1 if the new features don't break any exsiting features and are compatible with the app in it's current state
Patch
version when you make backwards-compatible bug fixes
Increment the last digit by 1 if you're publishing bug/patch fixes to your app