We see version numbers with every update - no matter if we update plugins, themes or a CMS like WordPress or Joomla! What is behind these version numbers?
In short, the version number tells you whether it's a patch, minor release, or major release.
Let's play the whole thing using Joomla! as an example:
Semantic versioning defines a specific meaning for each digit/position of a number.
- Position 1 stands for a major release: new features, structures, ideas and architecture. Backward compatibility is not ensured. Contains incompatible changes to the API, for example.
- Position 2 stands for a minor release: contains new features and improvements, is downward compatible
- Position 3 stands for a patch release: Contains bugfixes and security updates, is downward-compatible
You would recognize a patch or bugfix release by a version jump from 3.4.3 to 3.4.4, for example.
From the developer's point of view, semantic versioning helps you keep track of dependencies in larger projects, classify changes and communicate them clearly to your users.