Reading Semantic Versioning and Changelogs
5 exercises — read a realistic multi-version changelog. Understand what version number changes mean, the difference between Deprecated and Removed, patch releases, deprecation handling, and breaking changes.
SemVer in practice: MAJOR.MINOR.PATCH
- PATCH (x.x.1) → bug fixes only — safe to upgrade immediately
- MINOR (x.1.0) → new features, backward-compatible — read Changed section
- MAJOR (1.0.0) → breaking changes — review migration guide before upgrading
- Deprecated → still works now, but plan your migration before the next MAJOR
0 / 5 completed
1 / 5
CHANGELOG.md
{ex.passage} What does the version jump from 2.3.1 to 2.4.0 indicate in semantic versioning?
2.3.1 → 2.4.0 is a minor version bump — new features, backward-compatible:
Semantic Versioning (SemVer) format: MAJOR.MINOR.PATCH
Note the nuance: While 2.4.0 is "backward-compatible" by SemVer rules, the Changed section shows
Semantic Versioning (SemVer) format: MAJOR.MINOR.PATCH
- MAJOR → breaking changes. Existing code may stop working. Consumers must review and update their integration.
- MINOR → new features added in a backward-compatible way. Existing code should continue to work.
- PATCH → bug fixes only. No new features, no breaking changes.
Note the nuance: While 2.4.0 is "backward-compatible" by SemVer rules, the Changed section shows
client.connect() now returns a Promise (was synchronous). This is a behavioral change that could break code — careful library authors would note this as a migration concern even within a minor release.