top of page
  • Writer's pictureTroy Web Consulting

What's Semver?

Semantic versioning, also known as "semver," is a widely-used method for versioning software. The goal of semantic versioning is to make it easier for users to understand the relationship between different versions of a software system and the changes that have been made.


The basic format of a semantic version number is "major.minor.patch," where the major version number is incremented for backwards-incompatible changes, the minor version number is incremented for new features that are backwards-compatible, and the patch version number is incremented for backwards-compatible bug fixes.


For example, if a software system is currently at version 1.2.3 and a backwards-incompatible change is made, the new version number would be 2.0.0. On the other hand, if a new feature is added that is backwards-compatible, the new version number would be 1.3.0. And if a bug is fixed that is backwards-compatible, the new version number would be 1.2.4.


One of the benefits of semantic versioning is that it makes it clear to users what changes have been made between different versions of a software system. For example, if a user is currently running version 1.2.3 and sees that version 2.0.0 is available, they know that the update contains backwards-incompatible changes and they should proceed with caution.


Another benefit of semantic versioning is that it helps to ensure that software systems are backwards-compatible. By incrementing the major version number only for backwards-incompatible changes, semantic versioning ensures that users can continue to use older versions of a software system without fear of breaking their existing code.


Overall, semantic versioning is a widely-used method for versioning software that helps to make it easier for users to understand the relationship between different versions of a software system and the changes that have been made. By providing a clear and standardized method for versioning software, semantic versioning helps to ensure that software systems are backwards-compatible and that users are aware of the changes that have been made between different versions.

bottom of page