Changelog Generator
Turn a list of commit subjects into a Markdown changelog grouped into breaking changes, features, fixes, performance, docs and chores.
Changelog Generator
Output
Working…Updated . Provided as is. Check the output before you rely on it in production.
How to use Changelog Generator
- 1
Paste commit subjects
Paste commit messages one per line, for example from git log --oneline.
- 2
Generate
Commits are grouped into Breaking Changes, Features, Fixes, Performance, Documentation and Chores using Conventional Commit prefixes.
- 3
Review the groups
Check commits that landed in Chores; they usually lack a prefix.
- 4
Copy the changelog
Copy the Markdown into CHANGELOG.md or your release notes.
Questions and answers
Do I need Conventional Commits?
How do I get my commits?
Use it as an API
Changelog Generator is also callable as a free HTTP JSON API at
https://aidevhub.io/api/changelog-generator/ — GET with query
parameters or POST with a JSON body, no authentication, CORS enabled, fair use
(abusive traffic is throttled at the edge; there is no per-request quota header). Responses return
{ ok, tool, result, meta }.
curl -s -X POST https://aidevhub.io/api/changelog-generator/ \
-H "Content-Type: application/json" \
-d '{"commits":"feat: add oauth playground\nfix: handle missing header\ndocs: update readme"}' Machine-readable contract: /api/tool/changelog-generator.json All API endpoints: /agents/ LLM site index: /llms.txt
For AI agents: how to call this tool
Machine-readable contract, endpoints and examples. Humans can ignore this section.
Best Path For Builders
Dedicated API endpoint
Deterministic outputs, machine-safe contracts, and production-ready examples.
Dedicated API
https://aidevhub.io/api/changelog-generator/ OpenAPI: https://aidevhub.io/api/openapi.yaml
Unified Runtime API
https://aidevhub.io/api/tools/run/?toolId=changelog-generator&a=feat%3A%20add%20oauth%20playground%0Afix%3A%20handle%20missing%20header%0Adocs%3A%20
GET and POST are supported at /api/tools/run/ with identical validation and limits.
Limit: 30 req / 60s, input max 256 KB.