Skip to content

docs: Keep a Changelog header + README link for CHANGELOG.md - #724

Open
Patrick Phipps (drkemp187) wants to merge 2 commits into
microsoft:mainfrom
drkemp187:docs/add-changelog-143
Open

docs: Keep a Changelog header + README link for CHANGELOG.md#724
Patrick Phipps (drkemp187) wants to merge 2 commits into
microsoft:mainfrom
drkemp187:docs/add-changelog-143

Conversation

@drkemp187

@drkemp187 Patrick Phipps (drkemp187) commented Jul 30, 2026

Copy link
Copy Markdown

Summary

  • Keep existing release-please-generated CHANGELOG.md history intact
  • Add Keep a Changelog / SemVer header + ## [Unreleased] section
  • Link changelog from README for discoverability

Closes #143

Why

Root CHANGELOG already existed (release-please). This PR makes the format explicit for OSSF reviewers and links it from the README without rewriting history.

Test plan

  • Full historical entries preserved
  • Markdown renders
  • README link works

@drkemp187
Patrick Phipps (drkemp187) requested a review from a team July 30, 2026 07:10
Preserve the existing release-please CHANGELOG history. Add Keep a
Changelog / SemVer header, an Unreleased section, and a README link so
OSSF reviewers and contributors can find the changelog easily.

Fixes microsoft#143
@drkemp187 Patrick Phipps (drkemp187) changed the title docs: add Keep a Changelog CHANGELOG.md docs: Keep a Changelog header + README link for CHANGELOG.md Jul 30, 2026
@drkemp187

Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree

Comment thread CHANGELOG.md
Categories align with [`.github/release.yml`](.github/release.yml).
GitHub Releases remain the canonical auto-generated notes.

## [Unreleased]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The next release-please run will insert the generated version above this heading. Its changelog updater inserts before the first heading matching \n###? v?[0-9[], and ## [Unreleased] is now that first match. I reproduced this against the PR content, where the generated release was placed between the preamble and Unreleased. Could we remove this heading so release-please continues to place each generated version directly below the preamble? The insertion logic is available in the official release-please source.

If the heading needs to remain, could we first verify a supported release-please configuration that preserves it at the top after every release?

Comment thread CHANGELOG.md
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

Categories align with [`.github/release.yml`](.github/release.yml).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we revise this sentence to distinguish the two category sources? The changelog headings come from changelog-sections in release-please-config.json, while .github/release.yml configures GitHub's label-based automatically generated release notes. GitHub documents the latter behavior in Automatically generated release notes.

The current configurations might not satisfy issue #143's alignment criterion. For example, the changelog includes Miscellaneous Chores, Build System, and Code Refactoring, which are not categories in .github/release.yml, and dependency changes are included by release-please but excluded from the GitHub release-note configuration. Could you either align the configurations or clarify that they intentionally serve different outputs?

Comment thread CHANGELOG.md
Categories align with [`.github/release.yml`](.github/release.yml).
GitHub Releases remain the canonical auto-generated notes.

## [Unreleased]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this heading is intended to be a link like the generated version headings, it might be missing an [Unreleased] reference definition. The CommonMark specification requires a matching link reference definition for a shortcut reference link. Keep a Changelog also demonstrates linking Unreleased to the comparison with HEAD.

Could we either add and maintain that comparison link or use unambiguous plain text? This comment is unnecessary if the heading is removed to address the release-please insertion behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs(changelog): add CHANGELOG.md generation

2 participants