-->
Often heard of seen by all of new version of IPhone is getting released or new version of Windows is getting released. What does that mean ? and Why you care about a version ?
Lets discuss the nuance of versioning software or hardware in detail and Semantic versioning specifically. Take a example some company ABC is trying to create a Ticket booking platform and it started to support searching a flight and booking in version 1.0.0, but now there is an issue in the booking system it is booking 2 tickets instead of one.
So this is a bug and should be fixed. So ABC is going to release a new version of software say 1.0.1.
Now an obvious question why not 2.0.0 that is much easier to understand and follow correct ?
That is where semantic versioning comes into play whenever software of hardware is patched essentially fixed for certain bugs it will increment last digit of semantic version string in this case it is 1.0.0 to 1.0.1.
Now lets understand another scenario, same company ABC wants to add an option of seat selection to its interface and release a new feature on its website now it will name this version as 1.1.0.
Curios why it is not named as 2.0.0 ?
Answer to above question is since this is an incremental change and it will not break the experience of the user that is backward compatible with older feature thus it is kept as 1.1.0. For example if someone don’t want to do seat selection still want to book is still guaranteed.
Now one last scenario, imagine same ABC company want to start train booking and release a new version of application and name it 2.0.0.
This time you wonder why this has moved to 2.0.0 ?
Answer is this change is a bigger change a new stream of work or new user experience has been enabled thus application is version to 2.0.0. Here newer changes may not be compatible with the older one say a new feature working on this version may not work for those seamlessly if added to the older version until an effort is made to back port it on older version. For example ABC may put a restriction of booking Airline ticket with seat selection as mandatory which was not there earlier.
Semantic string syntax is MAJOR_VERSION.MINOR_VERSION.PATCH_VERSION.
So next time you upgrade your phone software just observe the string coming on your screen.
5 Benefits of GenAI in Talent Evaluation You Can’t Ignore in 2025