semantic-versioning

What does "exp" respresent in "exp.sha.5114f85" of Sematic Versioning examples?


I'm reviewing the semver specification on build metadata and noticed "exp.sha.5114f85" in the examples of valid versions:

Examples: 1.0.0-alpha+001, 1.0.0+20130313144700, 1.0.0-beta+exp.sha.5114f85, 1.0.0+21AF26D3----117B344092BD.

I understand "sha" would be to signal that the "5114f85" following the dot separator is the first 7 chars (short version) of the commit hash but what is the "exp"? I'm assuming "explicit" although I would've thought that just "1.0.0+21AF26D3" or even "1.0.0-beta+sha.5114f85" would have been sufficient/explicit enough...


Solution

  • To the best of my knowledge, they are just example strings. The spec is moot on the meaning that may or may not be associated with any particular tag value. That particular example was added somewhere between 2.0.0-rc.1 and 2.0.0-rc.2, you might find a discussion of that addition in the pull request history of one of their repos.

    I can only find a handful of references to that example in the issues list and they do not mention what "exp" might be used for.

    In general, you should refer to a package/interface publishers documentation wrt the semantics of any tag values they may be be applying. The SemVer spec only specifies the syntax and sort ordering rules, nothing more.


    I doubt it is short for "explicit", but anything might hold. It's not uncommon to see the build machine name embedded in the meta tag.