Semantic versioning of templates

Hi Silje,

Yes I agree we need to pin this down quickly now. I think you are right the basically the same rules apply.

Semver is pretty dumb about .v0 artefacts, and when we did the original smver for archetypes we all agreed that pre-publication esp,. in CKM , things were so potentially unstable that trying to track major version changes was not all that helpful.

I’m starting to think that it might actually be useful to introduce ‘proper’ semver rules for prepub templates (possibly archetypes too) along the lines of, sticking with V0 but the next number represents a major version, and the last number represents a minor version.

So V0.3.2-alpha means prepublication template with prepublication major version 3 and minor version 2. When we we are doing rapid app development I can certainly see the advantage of giving the downstream consumer a much easier way of assessing the potential impact of deploying the updated template.

Of course on publication we go right back to V1.0.0

Semver allows only 3 numbers so we would have to drop path changes but I could live with that - the build ID / MD5 hash would have changed in any case.

It would be good to get an active discussion on this. Semver has been a wee bit arcane other than for those of us using CKMs but I think there will be be big benefits if applying Semver all the way through the tooling and dev process, if we can get this right, including prePub archetypes IMO, along with proper namespacing for local archetype etc.

2 Likes