How to version: software, tools, and libraries?
Most of the new manager's developers don’t give importance to maintaining the version of APIs, libraries, or tools. They are often too focused on coding, infra, and architecture which is a good thing but it often results in long-term mismanagement of features released, changes implemented, bug fixes, etc.
New managers or software developers often think that changes can be easily tracked through git or SVN(if you are still using it) but as the software and development team gets bigger; keeping track of changes gets difficult. Sooner or later every manager comes to the same conclusion:
Let’s maintain the version.
Well, let me give you a glimpse of how to properly maintain a version with the format and rules.
What is a version?
Versioning is the creation and management of multiple releases of a product, all of which have the same general function but are improved, upgraded, or customized. The term applies especially to operating systems (OSs), software, and web services.
Why does the software need to be versioned?
A versioned API/library is a contract between the producer of the API and its consumers saying:
I guarantee that this API will continue to work this way for the foreseeable future.