Release Notes Generator
Generates release notes from git commits between two tags/branches, categorizing changes and highlighting breaking changes.
Release Notes Generator
Generates structured release notes from git history, conventional commits, and linked issues with changelog formatting and distribution-ready output.
When to Use This Command
Run this command when you need to:
- Generate release notes from git commits between two tags or refs with automatic categorization by commit type (feat, fix, chore, docs)
- Create changelog entries formatted for GitHub Releases, CHANGELOG.md, Slack announcements, or email distribution
- Produce user-facing release summaries that translate technical commit messages into product-oriented feature descriptions
Consider alternatives when:
- You need continuous changelog maintenance rather than point-in-time release generation
- Your project does not follow conventional commits or any structured commit message format
Quick Start
Configuration
name: release-notes-generator type: command category: git-workflow
Example Invocation
claude command:run release-notes-generator --from v1.2.0 --to v1.3.0
Example Output
Release Notes: v1.3.0
=====================
Date: 2026-03-15
Commits: 47 | Contributors: 8
## New Features
- **User dashboard redesign** β Complete visual overhaul of the
main dashboard with real-time data widgets (#234)
- **Export to PDF** β Users can now export reports as formatted
PDF documents with custom headers (#241)
## Bug Fixes
- Fixed pagination reset when applying filters (#238)
- Resolved timezone display issue in activity logs (#240)
- Fixed memory leak in WebSocket connection handler (#245)
## Improvements
- Reduced API response time by 40% through query optimization
- Updated dependencies to latest security patches
- Improved error messages for form validation
## Breaking Changes
- Removed deprecated /api/v1/users endpoint (use /api/v2/users)
Full changelog: https://github.com/org/repo/compare/v1.2.0...v1.3.0
Core Concepts
Release Notes Overview
| Aspect | Details |
|---|---|
| Commit Parsing | Analyzes conventional commit prefixes (feat:, fix:, chore:, docs:, refactor:, perf:) to categorize changes automatically |
| Issue Linking | Extracts issue references (#123, GH-456) from commit messages and fetches issue titles for human-readable descriptions |
| Breaking Changes | Detects BREAKING CHANGE footers and ! markers in commit messages, surfacing them in a dedicated section |
| Multi-Format Output | Generates notes in markdown, GitHub Release format, Slack Block Kit, plain text, or custom templates |
Release Notes Workflow
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
β Parse Git ββββββΆβ Categorize ββββββΆβ Fetch Issue β
β Log Range β β By Type β β Metadata β
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
β β β
βΌ βΌ βΌ
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
β Detect ββββββΆβ Format ββββββΆβ Distribute β
β Breaking β β Output β β (GH/Slack) β
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
| from | string | latest-tag | Starting git ref (tag, commit, or branch) for the release range |
| to | string | HEAD | Ending git ref for the release range |
| format | enum | markdown | Output format: markdown, github-release, slack, plaintext, or custom |
| include_contributors | boolean | true | List contributors with commit counts in the release notes |
| publish | boolean | false | Automatically create a GitHub Release with the generated notes |
Best Practices
-
Use Conventional Commits Consistently The generator produces the best results when all commits follow the conventional commits specification. Enforce this with a commit-msg hook or CI check so every commit is parseable into a release notes category.
-
Write User-Facing Commit Descriptions Commit messages like "fix: resolve issue" produce poor release notes. Write messages like "fix: pagination resets when applying date filters" that describe the user-visible behavior change. The generator passes these descriptions directly to the release notes.
-
Tag Releases Before Generating Notes Create the git tag first so the generator has a clean ref range. Generating notes against HEAD on an active branch may include work-in-progress commits that should not appear in the release.
-
Review Generated Notes Before Publishing The generator produces a draft that may need editorial polish. Technical commit messages may need rewriting for user-facing audiences. Review and edit the draft before publishing to GitHub Releases or distributing to stakeholders.
-
Include Migration Instructions for Breaking Changes When the generator detects breaking changes, add migration instructions manually to the generated notes. Users need to know not just what changed but how to update their code or configuration to accommodate the change.
Common Issues
-
Commits without conventional prefixes are miscategorized Non-conventional commits (e.g., "Updated the login page") default to an "Other" category. Configure a fallback_category to place these under a specific heading, or enforce conventional commits project-wide to eliminate unstructured messages.
-
Merge commits create duplicate entries When using merge commits (not squash), both the individual commits and the merge commit appear in the log. Set exclude_merges to true to filter merge commits and only show the original feature commits.
-
Issue references not resolving to titles The generator fetches issue titles via the GitHub API, which requires authentication for private repositories. Set the GITHUB_TOKEN environment variable or configure the gh CLI with appropriate credentials for your organization.
Reviews
No reviews yet. Be the first to review this template!
Similar Templates
Git Commit Message Generator
Generates well-structured conventional commit messages by analyzing staged changes. Follows Conventional Commits spec with scope detection.
React Component Scaffolder
Scaffolds a complete React component with TypeScript types, Tailwind styles, Storybook stories, and unit tests. Follows project conventions automatically.
CI/CD Pipeline Generator
Generates GitHub Actions workflows for CI/CD including linting, testing, building, and deploying. Detects project stack automatically.