Skip to main content
December 14, 2025

Semantic Versioning Explained: Major, Minor, and Patch

How semantic versioning works, what MAJOR.MINOR.PATCH actually means, and how to choose the right version bump for every release.

devversioningsemverdeveloper

What the Three Numbers Mean

Semantic versioning packs meaning into a version number with three parts: MAJOR.MINOR.PATCH, like 2.4.1. Each number signals the kind of change since the last release, so anyone depending on your software can tell at a glance whether an update is safe to take. A semver tool helps you produce and understand valid version strings.

The contract is simple but powerful. PATCH (the last number) means backward-compatible bug fixes; MINOR (the middle) means backward-compatible new features; MAJOR (the first) means breaking changes that may require consumers to update their code. Reset the lower numbers to zero when you bump a higher one.

Choosing the Right Bump

The discipline is matching the bump to the change. Fixed a bug without changing the interface? Patch. Added a feature that does not break existing usage? Minor. Removed or changed something consumers rely on? Major. Getting this right is what lets others depend on your software with confidence.

The most consequential decision is the major bump, because it signals "this might break you." Underselling a breaking change as a minor release erodes trust fast, since it breaks builds without warning. When in doubt about compatibility, err toward the higher bump.

Pre-release and Practice

Semver also supports pre-release tags like 2.0.0-beta.1 for versions that are not yet stable, letting you ship early builds without claiming production readiness. This is useful for getting feedback on a major change before committing to it.

In practice, pairing semver with a clear changelog gives users both the signal (the number) and the detail (what changed). Generated version strings are handy for examples and testing; your real versions should honestly reflect the scope of each release so the numbers stay trustworthy.

Frequently asked questions

What does MAJOR.MINOR.PATCH mean?
PATCH means backward-compatible bug fixes, MINOR means backward-compatible new features, and MAJOR means breaking changes. The numbers let anyone depending on your software see at a glance whether an update is safe.
How do I choose the right version bump?
Match it to the change: a bug fix is a patch, a non-breaking feature is a minor, and anything that breaks existing usage is a major. When unsure about compatibility, err toward the higher bump.
What are pre-release versions?
Tags like 2.0.0-beta.1 mark versions that are not yet stable, letting you ship early builds for feedback without claiming production readiness, before committing to the final release.