mirror of
https://github.com/semver/semver.git
synced 2026-07-10 19:50:47 -05:00
[GH-ISSUE #1219] Propossal: Support colon (:) as name-value separator in build metadata #6700
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jcangas on GitHub (Jun 3, 2026).
Original GitHub issue: https://github.com/semver/semver/issues/1219
Build metadata (the
+segment) is semantically opaque to version precedence, yet in practice it almost always encodes named attributes — branch names, commit identifiers, pipeline IDs, timestamps.The current grammar only allows alphanumerics,
-, and.as separators. This forces consumers into ad-hoc conventions that conflate the separator with the identifier:+sha-e0482cc7-reads as a word boundary, not a label separator+sha.e0482cc7.implies two independent identifiers, not one labeled value+shae0482cc7A dedicated
:separator would make the intent unambiguous:This would also align SemVer with established metadata conventions in other standards (HTTP headers, MIME parameters, structured logging) where
name:valueis the canonical form.Proposed grammar change (ABNF):
Since build metadata is explicitly excluded from version precedence comparisons, this is a non-breaking addition.