Semantic Version Numbers

Gone are the days of arbitrarily assigning version numbers to every new software release. With semantic versioning, the question of how and when to bump versions is made simple.

According to semver.org, the syntax for version numbers should go like this: MAJOR.MINOR.PATCH

When you release a new version, it's easy to determine which numbers to increment:

  1. MAJOR version when you make incompatible API changes,
  2. MINOR version when you add functionality in a backwards-compatible manner, and
  3. PATCH version when you make backwards-compatible bug fixes.

The entire spec is actually quite short and simple (for a spec), but the concepts therein will [hopefully] change the way developers version their software in the future. While many projects already follow similar conventions, there are still many that don't. This is especially true in the case of smaller projects, where developers seem to arbitrarily bump version numbers without considering the impact such changes may have on their users.

If you don't have an existing standard for versioning your software, help make the world a better place and consider adopting SemVer in your next project!

Author avatar

About the author

New Hampshirite building web apps in Florida. Creator of Surreal CMS, Postleaf, and DirtyMarkup.

Need to get in touch? Catch me on Twitter.