Why do so many projects prepend "v" to the git version tags?
As mentioned in "Is there a standard naming convention for git tags?":
The reason for the preceding 'v' is historical.
Older SCCS (cvs,rcs) could not distinguish between a tag identifier and a revision number.
Tag identifiers were restricted to not begin with a numeric value so that revision numbers could be detected.
That convention is not enforced with Semantic Versionning in its 2.0 revision. It was in its 1.0 revision:
When tagging releases in a version control system, the tag for a version MUST be "
vX.Y.Z
" e.g. "v3.1.0
".
The fact it is no longer enforced shows how optional that 'v' can be.