mirror of
https://github.com/semver/semver.git
synced 2026-07-10 19:50:47 -05:00
[GH-ISSUE #400] Missing good reasoning for Minor vs Patch logic #4542
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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.
@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.
@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