Now i will talk about how the current Vecto release process
deals with unforseen features & bugfixes.
Let’s assume that we plan to release version 4.0.0 - dates are not important here.
We just have PROMISED that specific version-id.
The development starts…
COMMENT: publishing a "BETA" is also similar
While awaiting feedback from testers …
an UNFORSEEN feature gets merged,
The Q is: should the new merge affect the version-number?
COMMENT: assuming no code-freeze enacted after RC…
Based on the promise,… we should NOT!
BUT we’re now 2 development teams,
Semantic Versioning facilitate communications.
versionS 4.1.x would be much easier to remember
that it is all these version that contain VTP.
To conclude, it is the promise that prevent us fron using version IDs to their full potential.
I want to talk about the current Vecto release process, specifically, …
Let’s assume that we’re on May, and
COMMENT: talking about 2-number versions for brevity
That’s a PROMISE for version 3.15 on a rough date.
We implement the foreseen bugs & features, …
Based on their feedback,
The working assumption HERE is that users reported back the release as BROKEN!
What do we do?
Certainly we need another release, but what version should that be?
Same as before? …version 3.15??
For the Users, …they need a significant digit bump on the version-string, …
That’s what Semantic Versioning stands for.
COMMENT: Vecto uses 4th element build-day incompatible with SemVer & NuGet
For DevOps, both CI & NugGet need a different tag/version each time,
If we bump it to 3.16 instead…
To conclude, it is the promised version ids, …
AND the "blessing of releases" within their own sources
that burdens the release process.
The alternative is to let the version-ID to "float" freely & semantically…
Decoupled from the certification "Blessing", …
like this:
We promise version 4.x.x at a rough date,
v4.0.0-alpha.0COMMENT: see another video for the brahching strategy.
For example, we get here 4.0.0, …
4.0.0-alpha.1 and …
4.1.0,
Documents in the sources are edited to describe just the changes of each intermediate release
The Version ID of the executable is derrived ONLY from the LATEST git TAG.
Versions WITH or WITHOUT prerelease specifiers are allowed.
COMMENT: requires a build plugin such as or alternatives