What is Semantic Versioning (SemVer)?

Turkish: Semantic Versioning

Semantic Versioning uses MAJOR.MINOR.PATCH numbers to distinguish breaking changes, backward-compatible features, and bug fixes.

What is Semantic Versioning?

Semantic Versioning, or SemVer, makes a software version number communicate the impact of a change. In a version such as 2.4.1, the first number indicates breaking changes, the second indicates backward-compatible features, and the third indicates bug fixes.

This convention matters most for teams publishing libraries, packages, SDKs, and APIs. Consumers can estimate upgrade risk by looking at the version number before reading every release note.

MAJOR.MINOR.PATCH

  • MAJOR: Includes backward-incompatible changes. Existing integrations may need code changes.
  • MINOR: Adds backward-compatible functionality.
  • PATCH: Fixes bugs without changing the public contract.
  • Pre-release: Labels such as 1.3.0-beta.1 mark test or preview releases.
  • Build metadata: Suffixes such as +build.45 can add build information.

Business Use

SemVer makes automated dependency updates safer. For example, an accounting integration that accepts ^1.8.0 may receive patch and minor updates, while 2.0.0 should trigger manual review.

The version number is only useful when paired with a changelog, migration notes, test coverage, and Git tags. For externally consumed services, SemVer can also influence API versioning decisions.