Release Notes - v0.14.0¶
Overview¶
This release adds release-level commit tracking to the changelog schema and Markdown output. Following GitHub's UI approach, the tagged commit SHA can now be displayed in release headings for improved traceability between changelogs and git history.
Highlights¶
- New
commitfield at the release level in JSON schema - Release commit displayed in Markdown heading (GitHub-style)
- Backfilled commit hashes for all previous releases (v0.1.0-v0.13.0)
New Features¶
Release-Level Commit Field¶
Track the commit SHA that a release tag points to:
{
"releases": [
{
"version": "v1.0.0",
"date": "2026-04-25",
"commit": "abc1234",
"highlights": [
{ "description": "Initial release" }
]
}
]
}
Markdown Heading with Commit¶
When IncludeCommits option is enabled (default), the release commit appears in the heading:
This follows GitHub's release UI pattern, making it easy to navigate from changelog to the exact tagged commit.
Programmatic Access¶
The Release struct now includes a Commit field:
import "github.com/grokify/structured-changelog/changelog"
cl, _ := changelog.LoadFile("CHANGELOG.json")
for _, release := range cl.Releases {
fmt.Printf("%s tagged at %s\n", release.Version, release.Commit)
}
Use Cases¶
- Traceability: Link changelog entries directly to tagged commits
- Auditing: Verify which code state corresponds to each release
- Tooling: Automated release verification and validation
- Navigation: One-click access from changelog to git history