When dealing with publishing SOX application artifacts what is the best strategy for versioning SNAPSHOTS?

I'm currently following the semver pattern <major>.<minor>.<patch> and wondering if it is necessary to get granular with the version strategy and append something like a git hash to the end? e.g. <major>.<minor>.<patch>-SNAPSHOT<githash>

Or can I treat SNAPSHOTS as a SNAPSHOT should be and drop the hash all together?

My argument for the latter is that SNAPSHOTS are not cut as release candidates (rc) until they actually enter the release pipeline and therefore can be clobbered, especially when following a mature CI pattern where changes are continuously merged to master following early testing validation.

In addition to this, typically in an organization, a change request is only opened and tracked at the time you are performing a release.

(additional convo happening here)

  • What is the added value of (additional convo happening here)? Is this a copy or really additional information?
    – 030
    Nov 22, 2017 at 22:38
  • Could you indicate whether you solved the issue?
    – 030
    Dec 23, 2019 at 7:32

1 Answer 1


I suggest to follow the principles that are defined in the Semantic Versioning 2.0.0 documentation.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.