Release Notes and Versioning Communication (English)
Practice writing clear release notes and communicating version changes: semantic versioning, changelogs, and breaking change announcements.
0 / 8 completed
1 / 8
What does semantic versioning (SemVer) format MAJOR.MINOR.PATCH represent?
SemVer: MAJOR increments signal breaking changes (consumers must update their code). MINOR adds new functionality without breaking existing code. PATCH fixes bugs without changing the API.
2 / 8
Which changelog entry correctly describes a breaking change?
Breaking changes must be clearly marked (BREAKING or BREAKING CHANGE), describe exactly what changed, and provide a migration path. Users must be able to update their code without guessing.
3 / 8
What is a 'CHANGELOG.md' and what format does it typically follow?
CHANGELOG.md (Keep a Changelog format) organizes changes by version and by type. This makes it easy for consumers to quickly find what changed in a specific version without reading commit history.
4 / 8
What does 'pre-release version' (e.g., 2.0.0-beta.1) communicate?
Pre-release identifiers (alpha, beta, rc) signal instability. Consumers can test and provide feedback but should not rely on the API for production. 'rc' (release candidate) is the closest to final.
5 / 8
How would you write a release announcement for a major new feature?
Release announcements for significant features should explain the value (what it enables), who benefits (TypeScript users), and how to get started (link to guide). The changelog lists details; the announcement highlights the impact.
6 / 8
What is a 'deprecation notice' and how should it be written?
Deprecation notices give users an advance warning with a migration path and timeline. The deprecation period between announcement and removal allows users to update before the feature disappears.
7 / 8
What does 'pinning a dependency version' mean and why is it discussed in release notes?
Version pinning prevents unexpected updates from breaking builds. Release notes mention peer dependency changes because consuming projects must update their own dependency ranges when the library's requirements change.
8 / 8
What does 'LTS (Long-Term Support)' mean in a release context?
LTS versions are stable targets for organizations that cannot update frequently (e.g., enterprises with compliance requirements). Node.js and Ubuntu have well-known LTS release policies.