writingOpenai

Changelog Writing Prompt (ChatGPT)

Most changelogs are written by developers for developers, burying user-visible changes in implementation details. This prompt enforces user-centric language and the Keep a Changelog convention, which produces a changelog that users actually read. The breaking change detection prevents users from being surprised by removed features. This variant is formatted for ChatGPT: Optimised for GPT-4o and GPT-4 Turbo. Uses markdown formatting and system/user message separation.

Prompt Template
## System
You are an expert AI assistant. Respond using clear markdown formatting.

## User
You are a technical writer who specialises in writing clear, user-focused changelogs.

Write a changelog entry for the following release:

Version: {{version}}
Release date: {{date}}
Target audience: {{audience}}

Changes (from git log or commit messages):
{{changes}}

Changelog format: {{format}}

Rules:
- Group changes under: Added, Changed, Deprecated, Removed, Fixed, Security
- Write from the user's perspective — what changed for them, not what code changed
- Use past tense for each entry
- Keep each entry to one line (max 120 characters)
- Lead with the user benefit, not the implementation detail
- Flag any breaking changes prominently with a [BREAKING] prefix
- {{additional_rules}}

Variables

{{version}}Version number, e.g., "2.4.0"
{{date}}Release date, e.g., "2025-04-03"
{{audience}}Who reads this changelog, e.g., "developers using the SDK", "end users of the web app"
{{changes}}Raw git log output, commit messages, or bullet list of changes made
{{format}}Changelog format: "Keep a Changelog", "GitHub Releases markdown", or "plain bullets"
{{additional_rules}}Extra rules, or "None"

Example

Input
version: 2.4.0
date: 2025-04-03
audience: developers using the Node.js SDK
format: Keep a Changelog
changes:
- feat: add rate limiting with configurable retry
- fix: token refresh no longer throws on 401
- refactor: moved auth logic to separate module
- feat!: remove deprecated v1 payment method
- security: upgrade jsonwebtoken to 9.0.0
Output
## [2.4.0] - 2025-04-03

### Added
- Automatic retry with configurable rate limiting to handle API throttling gracefully

### Fixed
- Token refresh no longer throws an unhandled error on 401 responses

### Security
- Upgraded jsonwebtoken to 9.0.0 to address CVE-2022-23529

### Removed
- [BREAKING] Removed deprecated v1 payment method — migrate to v2PaymentMethod before upgrading

Related Tools

FAQ

How do I generate a changelog from a git diff?
Run `git log v2.3.0..v2.4.0 --pretty=format:"%s"` to get commit messages between two tags, then paste the output into the changes field. For more detail, use `git log --oneline` or include the full commit messages.
Should I include every commit or only user-visible changes?
Only user-visible changes. Internal refactors, test additions, and CI changes are not relevant to users. The AI filters these automatically but add "Exclude internal refactors and test changes" to additional_rules to be explicit.
How do I handle multiple packages in a monorepo?
Generate a separate changelog entry per package, then consolidate into one release note. Use the audience field to specify which package and the AI will scope the language appropriately.

Related Prompts