2 ms·
Major = Changes an existing API. Minor = Adds new API calls. Patch = Changes the internal behavior, but not the API. SemVer's distinctions are essentially us
by SAI_Peregrinus 3y ago
Major = Changes an existing API.
Minor = Adds new API calls.
Patch = Changes the internal behavior, but not the API.
SemVer's distinctions are essentially useless for applications (and particularly so for GUI applications), but do make some sense for libraries.
SemVer is one-way. Downgrading usually still needs the same care as a major version change.
SemVer is mostly intended to limit what the version number conveys. It doesn't add extra info (like, is this a bugfix?) but instead takes that away and forces it into the release notes.
Dynamically-typed languages make this harder, because internal behavior and the resulting type signature are less separate than with a statically typed language where an accidental type signature change (e.g. returning the wrong type) will break at build time.