In SemVer (MAJOR.MINOR.PATCH), which part increments for a backward-incompatible change?
MAJOR: bumped when you make incompatible API changes that may break existing consumers. MINOR adds functionality in a backward-compatible way, and PATCH is for backward-compatible bug fixes.
2 / 5
What does a pre-release identifier like 1.0.0-alpha.1 signify?
Pre-release: a hyphen plus dot-separated identifiers denote a version that is unstable and might not meet the compatibility guarantees of its associated normal version. Pre-releases have lower precedence than the corresponding normal release.
3 / 5
How does the caret range ^1.2.3 behave in npm?
Caret (^): permits changes that do not modify the left-most non-zero digit. ^1.2.3 allows >=1.2.3 and <2.0.0, so MINOR and PATCH updates are accepted.
4 / 5
In SemVer, what is the precedence of 1.0.0 versus 1.0.0-rc.1?
Precedence: a normal version is always greater than its pre-release. So 1.0.0 > 1.0.0-rc.1 because pre-release versions are ranked below the release they precede.
5 / 5
What does the tilde range ~1.2.3 typically allow?
Tilde (~): allows PATCH-level changes if a minor version is specified. ~1.2.3 means >=1.2.3 and <1.3.0, a tighter range than the caret.