Issue #21769 has been updated by jeremyevans0 (Jeremy Evans). Is there a reason to prefer `vX.Y.Z` over `X.Y.Z`? The `v` tag prefix does seem more popular, though both are widely used. The historical reason for using `_` in tags also applies to the reason the `v` prefix is used. If we are switching from `_` to `.`, it seems reasonable to drop the unnecessary `v` prefix at the same time. According to https://stackoverflow.com/questions/2006265/is-there-a-standard-naming-conve..., `vX.Y.Z` was recommended in Version 1.0.0 of Semantic Versioning, but it is no longer recommended. The page has a good discussion of the pros and cons of the two approaches. That being said, I'm in favor of the change from `_` to `.`, either `vX.Y.Z` or `X.Y.Z`. ---------------------------------------- Misc #21769: Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git https://bugs.ruby-lang.org/issues/21769#change-115509 * Author: k0kubun (Takashi Kokubun) * Status: Open ---------------------------------------- ## Proposal * Use `vX.Y.Z` (e.g. `v4.0.0`) instead of `vX_Y_Z` (e.g. `v4_0_0`) as git tag names from Ruby 4.0.0 * Also use `-` for preview/rc releases, e.g. `v4.0.0-rc1` instead of `v4_0_0_rc1` ## Motivation * Inconsistent version formats and the need of conversion make the release workflow implementation a little complicated and hard to read. * As a stable branch maintainer, I don't want to spend time figuring out which version format is right for each CLI. ## Background * Release tarball URLs already follow the proposed format (without `v`), e.g. `ruby-4.0.0-preview2.tar.gz`. * Historically, we used `vX_Y_Z` because CVS didn't allow the use of `.` in tag names. We no longer need the workaround for Git. * > https://www.gnu.org/software/trans-coord/manual/cvs/html_node/Tags.html > Tag names must start with an uppercase or lowercase letter and can contain uppercase and lowercase letters, digits, ‘-’, and ‘_’. -- https://bugs.ruby-lang.org/