What is Software Versioning?
Software versioning is a method used to categorize the unique states of computer software during its development and release. Let me explain! Whenever software is built, it is assigned a version number, and this version number is not random; there are specific rules for assigning version numbers. For now, just understand that software versions are numbers that increase when there are changes in the software.
Today, we will discuss a famous versioning method called semantic versioning.

Quick Task: For now, go to ‘chrome settings,’ then ‘about chrome.’ There, you can see a long set of numbers like this: 92.0.4515.107, which is the version number of your Chrome. You might be thinking, ‘Are these assigned randomly? Do they change every year on Chrome’s birthday, or is this the age of Chrome? ‘😂 .
16.29.39 is the latest version of YouTube. Let’s divide this into 3 parts

Syntax of Version :
- Major.Minor.Patch
- Major.Minor.Build.Patch
Before we delve into the definitions of major, minor, patch, and build, let’s assume you’ve built a software called ‘BookFace,’ similar to Facebook, and the version of your software is v1.0.0.

Definition of Different Parts:
Major: Major updates represent significant changes in the application. For instance, if you’ve made substantial alterations to your application, making it look completely different from the previous version and adding many new features, you would increase the number in the major section. So, it would transition from v1.0.0 to v2.0.0.
Minor: Suppose you’ve added a new feature to your software. As the name suggests, if there is a minor change in the software, such as adding a feature like commenting on posts where there was none before, this is categorized as a minor change. In this case, you would increase the number in the minor section, transitioning from v1.0.0 to v1.1.0.
Patch: A patch involves fixing an issue in your software. For example, if there was an issue where users couldn’t reset their password in your software, but you’ve fixed it, then you would increase one number in the patch section. So, it would go from v1.0.0 to v1.0.1.
Build: Build is optional, and whether you want to include it or not is entirely up to you. You can consider this from the developer’s perspective. The compilation of different builds contributes to minor updates, representing some changes in your code. Since it’s optional, some organizations include it, while others do not. In the example of Chrome’s version, we saw the build section, and many large organizations include it in their versioning.

If you want to read more on this topic you can read it from here https://semver.org/
Thank you for reading❤️