What does v1.0.3-beta.4 mean? A Code Lover’s Guide to Semantic Versioning 🧩
Major, Minor, Patch: Unraveling the Mysteries of Semantic Versioning
--
😃 Introduction to Semantic Versioning 😃
Imagine you’ve just built a revolutionary software 🎉. It’s sleek, powerful, and ready to change the way people interact with technology. But now comes the challenge: how do you convey all the updates, enhancements, and fixes that make your software even better? You’ve likely seen terms like “major release,” “minor update,” “beta”, or mysterious numbers like v1.0.3b4
, but what do they mean? How do they tell your software's evolving story? And most importantly, how to choose the version of your software? In this guide, we'll unlock the secrets behind these terms, turning them from confusing jargon into a clear language that communicates the life of your software. Let's dive in!
🚀 Understanding the Version Numbers 🚀
Semantic Versioning or SemVer, is probably the most common format. The semantic version is constructed as follows: Major.Minor.Patch
- Major: This is the big stuff! Major changes include significant alterations that may affect how the software works, like a complete redesign or new functionality. These changes often mean that the new version is not compatible with the old one.
- Minor: Think of minor changes as exciting new features that don’t disrupt the core function of the software. They add value, but everything that worked before still works.
- Patch: Patches are the unsung heroes. They fix bugs, smooth out rough edges, and make sure everything runs smoothly. They don’t add new features but perfect what’s already there.
How do I know whether my modification is major, minor or patch?
There are two questions to ask:
- Will the user code now return an error?
- Have I introduced a new feature or functionality?
If the answer to 1 is yes, then, it’s major. Else, if this answer of 2 is yes, then it’s minor, else, it’s a patch.