When it comes to Infrastructure As Code, the software versioning system known as Semantic Versioning (semver.org) works from an API perspective but falls short elsewhere.
In short a semver is broken down into three "octets" and optional, additional information tagged to the end. Here are a few examples: v1.0.1
, v3.1.1
, v1.15.0-4
. Each of these is a valid semver.
If we take the first example - v1.0.1
- and change the first octet, 1
, to 2
, we're saying the following:
There has been a change to this code and that change is not compatible with how you're using
v1.0.1
. The change is a breaking change. You should take care to introduce versionv2.0.0
into your code or your environment.