Auto-generated changelogs that read like chore: bump deps, chore: bump deps, fix: typo help no one. A good changelog prompt groups by user impact (New / Improved / Fixed), drops internals, and keeps every line ≤ 15 words.
Who this is for
Solo founders shipping weekly, OSS maintainers cutting releases, product engineers writing notes for the help center, dev rel teams syndicating to changelog.com.
When not to use these prompts
Don’t use these for major-version announcements that need marketing — they’re for incremental changelogs. Don’t auto-publish without a human pass on the user-visible line.
Prompt anatomy / structure formula
Every changelog prompt should carry six elements:
- Role: who AI plays (SRE / release captain / staff engineer / QA lead).
- Context: stack / branch / failing logs / diff / dashboard URL.
- Goal: one concrete deliverable — root cause, checklist, plan, ticket list, runbook.
- Constraints: what AI MUST NOT do (don’t auto-fix, don’t hallucinate file paths).
- Output format: numbered findings, markdown table, JSON, unified diff, runnable code.
- Examples / signal: 1-2 “good” output examples, or counter-examples.
Best for
- Weekly / per-release public changelog
- Internal release notes for support team
- Marketplace listing “what’s new” copy
- In-app changelog modal text
- Migration guide for breaking releases
12 copy-ready prompt templates
1. Commits → user-facing changelog
Turn these commits into a user-facing changelog grouped by: New, Improved, Fixed, Internal (collapsed). Drop conventional-commit prefixes. Each bullet ≤ 15 words, in active voice, present tense. Skip merge commits and chore: bump deps unless major.
{commits}
Variables to swap: commits — output of git log --oneline v1.0..HEAD
2. PRs → changelog
Read these merged PRs and produce a changelog. Group by user impact. Skip PRs labelled `internal` / `chore` / `tests`. For each entry: title rewritten to user perspective + (optional) one-line context. Don't list PR numbers in the user version.
{prList}
Variables to swap: prList
3. Honest “breaking change” callout
For this release, list ONLY breaking changes. For each: (1) what changed, (2) who is affected (users / API consumers / integrators), (3) action required, (4) deadline if soft-deprecation. Skip non-breaking. If none, output "No breaking changes." and stop.
4. Marketing changelog (sparing)
Pick the 1-2 changes worth a marketing line. Criteria: visible to users, valuable to many, demoable. Write each as: 6-10 word hook + 1-sentence "why you care". No "now you can..." filler. Skip if no change meets criteria.
5. Support-team release notes
Internal notes for support: (1) New features they might get asked about, (2) Behaviour changes that look like regressions, (3) Known issues we haven't fixed, (4) Workarounds. Tone: practical, no jargon. ≤ 200 words.
6. In-app “what’s new” modal
Write 3 bullets for an in-app changelog modal. Each: 7-10 words, with verb-first phrasing ("Save searches to revisit"). Skip technical jargon. Add a single "See full changelog →" link line.
7. Migration guide from a diff
For breaking changes in this diff, write a migration guide: (1) Each break, (2) Find: old usage / Replace: new usage with code snippets, (3) Estimated effort per consumer, (4) Deadline. No prose intro.
8. Keep-a-changelog conformant
Format the changelog per keepachangelog.com: sections [Added, Changed, Deprecated, Removed, Fixed, Security]. Each entry is past tense. Omit empty sections. Header includes version + YYYY-MM-DD. No emojis.
9. Bilingual changelog
Produce a changelog in EN and ZH. Keep both lists structurally identical (same order, same count). Don't translate technical terms (API, OAuth, SDK). Keep date and version line identical.
10. SemVer impact analysis
Given these commits, recommend the SemVer bump: MAJOR / MINOR / PATCH. Justify with a one-line list of breaking / additive / fix changes. Don't recommend MINOR just to feel impactful — accuracy wins.
11. RSS / Atom-ready entry
Produce a single changelog entry suitable for RSS: (1) Title (≤ 70 chars), (2) Date in RFC 822, (3) Body in HTML with `<ul><li>` bullets, (4) Single canonical URL. No styling, no inline scripts.
12. Changelog hygiene audit
Audit last 5 changelog entries: (1) Any conventional-commit jargon leaking through? (2) Any bullets > 20 words? (3) Any entry that should've been merged into another? (4) Any release missing a date? Output a cleanup list.
Common mistakes
- Pasting raw
git log—chore: bump depsspam everywhere. - Including ticket numbers in user-facing copy — meaningless to users.
- Marketing language (“Introducing…”) in patch releases.
- Skipping breaking changes because they’re embarrassing — guarantees a worse support load.
- No date / no version header — search-unfriendly.
- Letting the changelog grow > 7 bullets per release — readers skim, nothing lands.
- Auto-publishing without a human pass — typos and embarrassing phrasing slip through.
How to push results further
- Group by user impact, not commit type.
- Each entry ≤ 15 words. Trim ruthlessly.
- Always include breaking changes — surprise breakage is worse than bad PR.
- Use present tense, active voice (“Adds search to settings”, not “Search was added”).
- Bilingual: keep structure identical so translation doesn’t introduce drift.
- Make the changelog discoverable: link from app, README, and docs.
- Tag the actual release commit so the changelog is reproducible from
git diff.
Practical depth notes
Use these prompts as starting points, not final answers. For Changelog Generation Prompts: 12 Templates for Useful Release Notes, the useful extra work is to replace every generic placeholder with a real constraint: audience, channel, length, brand voice, examples to imitate, and examples to avoid. Run at least two versions with different constraints, then compare the outputs side by side instead of accepting the first polished response.
A good result should pass three checks: it is specific enough that another person could reuse it, it avoids vague praise or filler, and it gives you an editable artifact rather than a broad suggestion. If the output feels generic, add one concrete reference, one forbidden pattern, and one measurable success criterion before rerunning the prompt.
FAQ
- Should I use conventional commits?: Yes, for auto-categorisation. But translate to user voice before publishing.
- How often should I publish a changelog?: Match release cadence. Weekly is good for SaaS; per-release for OSS.
- Should I list every bug fix?: Only ones users noticed. Internal bugs go in the “Internal” / collapsed section.
- What about security fixes?: List them, briefly. CVE link if applicable. No exploit details until patched widely.
- Do I need a changelog if I have release notes on GitHub?: A CHANGELOG.md in the repo is still useful — searchable and reviewable in PRs.
- Can AI handle the SemVer bump?: Suggest only. Final bump should be a human call — AI can miss subtle behaviour breaks.
Related
- Release checklist prompts
- README generation prompts
- Deployment check prompts
- PR review prompts
- Coding & Developer Prompts hub
Tags: #Prompt #Coding #Changelog #Release