Everytime you update a plugin, theme or website software like WordPress or Joomla!, you will see a version number like this: Joomla! 4.3.4.
Turns out, a semantic version number will tell you exactly, what kind of release you are looking at. This can be a patch or bugfix, a minor feature release or a major release with significant changes.
Let’s take a recent Joomla! release as an example:
Semantic versioning means, that the position of a number is linked to a specific meaning:
- Position 1 stands for a MAJOR release with new features, structures, ideas and architecture. Some changes, API-changes for example, might break backwards-compatibility.
- Position 2 stands for a MINOR release that contains new features and improvements that must be backwards-compatible.
- Position 3 stands for a PATCH release that can contain bugfixes and security updates that must be backwards-compatible as well.
A PATCH release would look something like this: Old version: Joomla! 3.4.3 -> New version: Joomla 3.4.4.
From a developer perspective, semantic versioning helps you deal with dependencies more efficiently when working on larger projects. It also makes communicating changes to your users more transparent.