I built ChangelogGenie, a lightweight open-source GitHub Action and CLI for generating categorized technical Markdown changelogs directly from GitHub commit history.
The main constraint I wanted to avoid was requiring repositories to adopt a particular commit convention before the tool becomes useful.
Why
Many changelog workflows depend on Conventional Commits, PR labels, release tags, or other repository-specific conventions.
ChangelogGenie takes a simpler approach: give it a GitHub repository and an explicit calendar date range, and it reads the commits in that interval and produces a deterministic technical changelog.
It does not modify the repository.
What it does
ChangelogGenie:
- works with ordinary Git commits — no Conventional Commits required;
- categorizes changes into features, bug fixes, performance, documentation, maintenance, dependencies, CI/CD, refactoring, breaking changes, and other technical categories;
- records the requested date range and the actual commit date range;
- preserves commit metadata and links to the source commits;
- runs read-only;
- does not create commits, modify files in the repository, or open pull requests.
The GitHub Action generates a Markdown file inside the workflow. A workflow can then upload that file as an artifact or use it in downstream processing.
Real repository validation
I tested the released Action against the public outline/outline repository for March 15–18, 2026.
It collected 21 public commits and generated a categorized Markdown changelog.
The actual generated output is persisted in the repository so it can be inspected directly:
Quick Start
yaml
- name: Generate changelog
uses: Ubuntu-123/changeloggenie-prototype@v0.1.7
with:
owner: ${{ github.repository_owner }}
repo: ${{ github.event.repository.name }}
start_date: "2026-08-01"
end_date: "2026-08-31"
version: "draft"
output_path: "changelog-output.md"
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Upload changelog artifact
uses: actions/upload-artifact@v4
with:
name: changelog-output
path: changelog-output.md
Current limitations
The categorization is deterministic and pattern-based rather than semantic.
The Free GitHub Action is intentionally narrow: it produces the technical changelog but does not decide what should become customer-facing release communication.
I prefer keeping that boundary explicit rather than hiding editorial decisions behind automatic rewriting.
Links
GitHub:
https://github.com/Ubuntu-123/changeloggenie-prototype
GitHub Marketplace:
https://github.com/marketplace/actions/changeloggenie
The project is MIT licensed.
Feedback is especially useful on the generated format, categorization, and whether this kind of read-only workflow fits real release processes.
Top comments (0)