Use Semantic Versioning and Give Your Version Numbers Meaning

It's pretty amazing that in 2017 I still find plenty of projects with no versioning, a random version scheme, or stuck perpetually at 0.1.x. Figuring out the maturity of these projects or the scope of changes between two versions can be terribly difficult. Versioning without any guidelines produces meaningless versions, so we need to follow …