[GH-ISSUE #400] Missing good reasoning for Minor vs Patch logic #1164

Closed
opened 2026-04-16 10:27:08 -05:00 by GiteaMirror · 2 comments
Owner

Originally created by @Vaccano on GitHub (Oct 12, 2017).
Original GitHub issue: https://github.com/semver/semver/issues/400

On the home page there is great logic for when a Major vs Minor number change is needed. I am fully on board with that.

But I would like to know the "why" behind the logic is for the third number (aka "Patch"). The page says it can only be for bug fixes. (Note that I personally don't have an issue with this, but I have a company who wants to use Minor for a group a features, and Patch for all the releases that it takes to get to that group of features.

I want to follow best practices, and SemVer seems to be one of those. But best practices usually have a solid reason behind them. And I need to know that so I can try to convince those in control of the process.

Originally created by @Vaccano on GitHub (Oct 12, 2017). Original GitHub issue: https://github.com/semver/semver/issues/400 On the [home page](http://semver.org/spec/v2.0.0.html) there is great logic for when a Major vs Minor number change is needed. I am fully on board with that. But I would like to know the "why" behind the logic is for the third number (aka "Patch"). The page says it can only be for bug fixes. (Note that I personally don't have an issue with this, but I have a company who wants to use Minor for a group a features, and Patch for all the releases that it takes to get to that group of features. I want to follow best practices, and SemVer seems to be one of those. But best practices usually have a solid reason behind them. And I need to know that so I can try to convince those in control of the process.
Author
Owner

@haacked commented on GitHub (Oct 16, 2017):

Semver is primarily about communicating risk to consumers of a library/package. When you increment "patch", you're communicating that the risk is very small for upgrading to this patch. In fact, it tends to communicate there's risk in not upgrading (in cases where a security bug is patched.)

A minor update might also be safe to take, but there's more risk because new features were added, albeit in a non-breaking manner. But a minor update might have a wide range of changes. A patch update should only contain very targeted bug fixes.

<!-- gh-comment-id:336941468 --> @haacked commented on GitHub (Oct 16, 2017): Semver is primarily about communicating risk to consumers of a library/package. When you increment "patch", you're communicating that the risk is very small for upgrading to this patch. In fact, it tends to communicate there's risk in not upgrading (in cases where a security bug is patched.) A minor update might _also_ be safe to take, but there's more risk because new features were added, albeit in a non-breaking manner. But a minor update might have a wide range of changes. A patch update should only contain very targeted bug fixes.
Author
Owner

@KyNorthstar commented on GitHub (Sep 21, 2019):

Major: Forces you to change the way you do things
Minor: Adds new capabilities but you can keep doing things the same way
Patch: Behind-the-scenes change

<!-- gh-comment-id:533766775 --> @KyNorthstar commented on GitHub (Sep 21, 2019): **Major:** Forces you to change the way you do things **Minor:** Adds new capabilities but you can keep doing things the same way **Patch:** Behind-the-scenes change
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/semver#1164