Imagine you have a software program, like a mobile app or a computer program. Developers often make changes to the software to improve it or fix issues. Semantic versioning is a way for developers to tell users and other developers what kind of changes they have made and how these changes might affect the software.

Semantic versioning uses a format called X.Y.Z, where X, Y, and Z are numbers. Here’s what each number means:

  • X (the first number): This number increases when the developers make big changes that might not work well with the previous version. So if you see a higher number here, it means you might need to make some changes to your own code or the software might not work the same way as before.

  • Y (the second number): This number increases when the developers add new features or improvements to the software. These changes should still work with your existing code, so you don’t have to worry about things breaking. It’s like getting an upgrade with new and cool stuff.

  • Z (the third number): This number increases when the developers fix small issues or bugs in the software. These changes should not introduce anything new or break anything. It’s just about making the software work better. Can be ommited.

In addition to these numbers, there are also other things you might see:

  • Pre-release version: Sometimes developers release a version of the software that is not fully finished or tested. They use words like “alpha” or “beta” to show that it’s not stable yet. It’s like a preview or a work in progress. Also they can use a -RC0 suffix that indicate this is a “Release Candide” (almost finished version).

  • Build metadata: This is extra information that developers sometimes add, like a timestamp or a special code. It doesn’t really affect how the software works, but it gives more details about how the software was built.

So when you see a new version of a software program, you can look at the numbers and understand what kind of changes have been made. If you see a higher X number, be prepared for some big changes. If you see a higher Y number, get ready for new features. And if you see a higher Z number, it’s probably just some bug fixes or small improvements.

Semantic versioning helps users and developers understand what to expect from software updates and makes it easier to keep everything working smoothly.