Semantic Versioning

Semantic versioning

Figuur 1: Semantic versioning (bron: Surjit Bains, CC BY-SA 4)

"Kubernetes versions are expressed as x.y.z, where x is the major version, y is the minor version, and z is the patch version, following Semantic Versioning terminology. - kubernetes.io

Opdrachten/zelfstudie

  1. Lees over Semantic Versioning op semver.org zodat je het begrijpt
  2. Welke onderdelen je wel of niet leest, mag je zelf bepalen, maar zorg dat je bij plaatje in Figuur 1 een verhaal kan vertellen over wanneer je welke van de 3 delen van een semver versie moet ophogen
  3. En beantwoord ook waarom de term 'semantisch' in de naam semver zit
  4. Denk eens na op welke zaken in een DevOps project je allemaal versies kunt geven.

Tijdens het project is semver ook een goede keuze. Je hebt echter de vrijheid om een eigen versienummer systeem te gebruiken. Zolang je dit documenteert/ernaar verwijst. Én er ook een goed idee achterzit. Dus bijvoorbeeld niet een 'anti naming pattern' zoals WendtVer die voor kenners wel vermakelijk is om te lezen.

"Let WendtVer provide you with a “fun” way to release and upgrade packages without having to think, saving you time and thinking."

Je mag er zelf over nadenken of alleen een git commit hash gebruiken als versienummer een goed idee is... :).

Als je een toepassing wilt kijken van semver die in een groot project ook erg handig is kun je eens kijken naar `conventional commits':

"[Conventional commits] dovetails with SemVer, by describing the features, fixes, and breaking changes made in commit messages." - https://www.conventionalcommits.org/en/v1.0.0/

Quiz

Leerdoelen

  • Je kunt uitleggen wat semantic versioning inhoudt en waarom het nuttig is in softwareontwikkeling.
  • Je kunt het verschil uitleggen tussen de drie onderdelen van semantic versioning en aangeven welk onderdeel je verhoogt in specifieke situaties.
  • Je kunt uitleggen hoe je semantic versioning toepast om compatibiliteit te waarborgen tussen verschillende versies van een project.
Last change: 2025-10-23