Recommend changelog section order by urgency - #706
Conversation
Readers skim changelogs to learn what affects them most. The spec listed change types but gave no guidance on section order, so projects often buried urgent items (security fixes, removals) below additions and minor fixes. Introduce a recommended section order under each version, from most to least urgent: Security, Removed, Changed, Deprecated, Fixed, Added. Clarify that Fixed is for non-security bug fixes, to distinguish it from the Security section now that everything is ordered by urgency. Document how to mark breaking changes within Changed (e.g. BREAKING: in code or bold). In Ignoring Deprecations, separate the ideal upgrade path (list deprecations so users can migrate in steps) from the absolute minimum for negligent maintainers. "That said, if you do nothing else" sets that floor at removals and breaking changes - what breaks today - without repeating deprecations or diluting the paragraph above.
|
@olivierlacan - just remembered about this. did you see it? |
|
Sorry for not responding earlier. I'm shuffling a lot of things around so this might land in 2.0. On its face this makes a lot of sense to me. |
Replaces the earlier "keep a consistent order" note with the specific urgency-first order slated for 2.0 in PR #706: Security, Removed, Changed, Deprecated, Fixed, Added, omitting empty sections, so what a reader must act on comes before what is optional. Reorders the #types list and rewrites the guidance paragraph to explain the reasoning, then updates the examples to match: the 2.0.0 entry in the project's own CHANGELOG.md (the page's hero example) and the worked example in docs. Uses parentheses rather than an em-dash to keep the page's no-dash house style. Addresses #458 (the highest-reaction open request) and lands PR #706. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JNNteJMKHMQ2J8P4ozFVFi
The urgency-based section order landed in 2.0 came from @abatko's proposal in #706. Name them in the change record and co-author the credit. Co-Authored-By: abatko <231088+abatko@users.noreply.github.com> Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JNNteJMKHMQ2J8P4ozFVFi
|
Thanks @abatko — your recommendation to order changelog sections by urgency is going into Keep a Changelog 2.0. The 2.0 "Types of changes" guidance now recommends Appreciate the clear write-up and the nudge to finally settle this (it also resolves #458). Generated by Claude Code |
Summary
Clarifies Types of changes with a recommended section order and omits-empty-sections rule. Updates Ignoring Deprecations wording to match upgrade urgency.
Problem
The spec lists six section types but not their order within a release. Example changelogs (including on keepachangelog.com) often lead with
Added, so a quick skim can miss security fixes, removals, and breaking changes listed below.Proposed order (omit empty sections)
Security → Removed → Changed → Deprecated → Fixed → Added
BREAKING:) so they stand out.Ignoring Deprecations
Reword closing line: minimum bar is removals and breaking changes; deprecations remain important for the two-step upgrade path described above.
Semver
I’m not changing the spec version in this PR. If this guidance is normative, I’d expect 2.0.0; if recommended, 1.2.0. Happy to adjust wording or target a new spec page.
Commit message
Readers skim changelogs to learn what affects them most. The spec listed change types but gave no guidance on section order, so projects often buried urgent items (security fixes, removals) below additions and minor fixes.
Introduce a recommended section order under each version, from most to least urgent: Security, Removed, Changed, Deprecated, Fixed, Added.
Clarify that Fixed is for non-security bug fixes, to distinguish it from the Security section now that everything is ordered by urgency.
Document how to mark breaking changes within Changed (e.g. BREAKING: in code or bold).
In Ignoring Deprecations, separate the ideal upgrade path (list deprecations so users can migrate in steps) from the absolute minimum for negligent maintainers. "That said, if you do nothing else" sets that floor at removals and breaking changes - what breaks today - without repeating deprecations or diluting the paragraph above.