Practise semantic versioning language: major/minor/patch logic, pre-release tags, version range specifiers, and changelog writing.
0 / 5 completed
1 / 5
Bumping from version 2.5.3 to version 3.0.0 signals that:
A MAJOR version bump (X in X.Y.Z) signals backward-incompatible changes. Users must check migration guides before upgrading across major versions.
2 / 5
A version number like '2.0.0-beta.3' is a:
Pre-release identifiers (alpha, beta, rc) signal that this version is not yet stable. npm will not install pre-release versions by default — use --tag or exact version.
3 / 5
The tilde (~) in ~1.4.2 resolves to:
Tilde ~ allows only patch-level upgrades: ~1.4.2 accepts 1.4.2, 1.4.3, 1.4.9, but not 1.5.0. More restrictive than caret ^.
4 / 5
What does 'pinning a dependency' mean?
Pinning locks a dependency to an exact version (e.g., 4.2.1 not ^4.2.1). This ensures reproducible builds but requires manual updates to receive patches.
5 / 5
A changelog entry marked 'BREAKING CHANGE:' communicates that:
BREAKING CHANGE in conventional commits and changelogs signals that consumers of the package need to take action before upgrading — their existing code may no longer work.