// Guides

How to write release notes users actually read

Published July 7, 2026 · Last updated July 7, 2026 · 6 min read

Release notes get read when they answer one question fast: "what can I do now that I could not do before?". Everything in this guide — structure, phrasing, voice — is in service of answering that question in the first line of every entry.

Why does nobody read release notes?

Because most release notes are written from the diff, not for the reader. They lead with internal vocabulary ("refactored the sync engine"), bury the benefit, and mix customer-relevant changes with dependency bumps. Readers learn within two releases that the signal-to-noise ratio is low, and stop coming back. The fix is not better prose — it is a reader-first structure applied consistently.

What structure should a release note entry follow?

Every entry that works follows roughly the same skeleton:

  • A benefit-first headline.Name the outcome, not the mechanism: "Single sign-on, audit exports, and sturdier webhooks" — not "v2.4.0".
  • Categorized bullets.Features, Improvements, Fixes — in that order. Readers scanning for "did my bug get fixed?" can jump straight there.
  • One sentence per change, verb first."Export your full audit history as CSV for compliance reviews." If a change needs three sentences, it needs its own announcement.
  • Action items last. Breaking changes, required migrations, and deprecations get their own clearly flagged block with steps.

How do you turn a PR title into a sentence users care about?

Translate mechanism into outcome, and add the "so that" your PR title omits. Real before/after rewrites:

PR title (before)Release note (after)
feat: add SSO login flow (SAML)Sign in with your company's identity provider — SAML SSO is now available on Enterprise.
fix: race condition in webhook retryWebhook deliveries no longer double-fire under heavy retry load.
feat: export audit logs as CSVExport your full audit history as CSV for compliance reviews.
chore: bump drizzle-orm to 0.45(omit — internal changes do not belong in customer release notes)

The pattern in every rewrite: second person ("you"), present tense, outcome before mechanism, and ruthless omission of anything without a user-visible consequence.

What voice should release notes use?

The same voice as your product UI — if your app says "Nice work!" your release notes should not read like an RFC. Three practical rules: write to "you", never to "users"; prefer verbs to nouns ("search faster", not "search performance improvements"); and keep one voice across releases, because tonal whiplash reads as carelessness. If both developers and end users read your notes, pick the less technical phrasing — developers tolerate plain English far better than end users tolerate jargon.

Should you list every change?

No. Release notes are curation, not compliance. Include everything a user could notice or need to act on; exclude refactors, dependency bumps, test changes, and internal tooling. If a release contains only internal work, it is fine to skip the announcement entirely — an empty-calorie entry costs more attention than it earns. The full record still lives in git history for anyone who needs it.

Can AI write release notes in this style?

Yes — this style is largely mechanical once the source material exists, which is why it automates well. ShipNotes applies exactly these rules when drafting from your merged PRs: benefit-first phrasing, Features/Improvements/Fixes categories, noise filtered out, and a voice setting so the notes match your product. The human contribution shrinks to a review pass — see how ShipNotes works.

Related reading

Get notes in this style automatically

ShipNotes drafts benefit-first release notes from your merged PRs — free to try.

Get started free