Yes it's true no more pain how to name you Drupal projects branches (i mean like 8.x-1.x) or your tags like 8.x-1.0, Semantic versioning is now available for all contributed projects on http://drupal.org.
before we started talking about what changed, let's see what Semantic versioning mean and what it was the naming conventions Drupal used before.
What is semantic versioning ?
According to https://semver.org
Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards compatible manner, and
- PATCH version when you make backwards compatible bug fixes.
So the semantic versioning is to give your software a version number with three parts MAJOR, MINOR and PATCH.
- MAJOR : major changes
- MINOR : new functionality / feature
- PATCH : bug fixes
If Drupal wasn't using Semantic Versioning!
What was it's naming conventions then ?
Drupal was using their own naming convention like {API_COMPATIBILITY}-{MAJOR}.{MINOR/PATCH} like the following:
- API COMPATIBILITY : Drupal Core compatibility like 7.x for Drupal 7 and 8.x for Drupal 8.
- MAJOR : New functionality / feature
- MINOR/PATCH : The last part for both patches or bug fixes
Now project versions will be like 3.1.0 instead of 8.x-3.100 and it can be both Drupal 8 and 9 compatible.
Besides for Drupal 8 compatibility only for 8.8.3 version and newer.
For more example take a look here.
The Twig Tweak module already release a with new versioning.
For further reading: