How to write release notes (with real examples)

How to write release notes people read: what each entry needs, the six types of change, how Linear, GitHub, Slack and Stripe do it, and the mistakes to avoid.

The innernote team4 min read

How do you write release notes?

Write one dated entry per release, newest first, with the changes grouped by type and told in your users' words. Keep a Changelog, a widely used open guide, puts it plainly: changelogs are for humans, not machines. So write what changed for the person using the product, never a list of commit messages.

The six types of change, from Keep a Changelog

Group every change under one of six words

  • Added

    New features.

  • Changed

    Changes to something that already worked.

  • Deprecated

    Features that will be removed soon.

  • Removed

    Features that are now gone.

  • Fixed

    Bug fixes.

  • Security

    Fixes for vulnerabilities.

Keep a Changelog 1.1.0, keepachangelog.com, read 10 November 2026.

What should release notes include?

The date, the version if you use one, and each change in a line a user understands: what they can now do, what works differently, what to do before something breaks. Keep a Changelog recommends dates written year first, such as 2026-11-10, because they read the same everywhere.

Should release notes use version numbers?

If people install or depend on your software, yes. Semantic Versioning numbers each release MAJOR.MINOR.PATCH: the first rises for changes that break compatibility, the second for new features that do not, the third for fixes. A web app most people never install can date its notes instead, as Linear does.

What do good release notes look like?

Short entries a reader can scan, each with a date and a clear label. The four changelogs below, read in November 2026, take different shapes for different readers: Linear writes for people using its app, Stripe for developers who must not be surprised, GitHub and Slack for both.

Four real changelogs, as their pages showed on 10 November 2026

Each one is built for its reader

ChangelogHow entries are labelledWhat stands out
LinearBy date, with a headlineWhat you can now do, in a short list
GitHubRelease, Improvement, RetiredTags by product, and filters
SlackVersion, date, Bug Fixes or SecurityA light line when nothing needs saying
StripeNamed API versionsA filter for breaking changes

Linear changelog, GitHub changelog, Slack release notes for Mac and Stripe changelog, read 10 November 2026.

Linear's entry of 5 November 2026 shows the pattern most apps can copy. A headline names the change, one sentence says what it is and where it works, and a short list says what you can now do. Here is an invented note in the same shape, with the types from Keep a Changelog.

An invented release note for a made-up invoicing app

2026-11-10. Added: send an invoice from your phone, and see when the client opens it. Changed: reminders now go out at 9am in the client's time zone, not yours. Fixed: totals no longer round twice on invoices with discounts. Deprecated: CSV import will be removed on 2027-01-31; use the new spreadsheet import instead.

What makes release notes bad?

Pasting the commit log, hiding what will break, and leaving changes out. Keep a Changelog calls commit log diffs full of noise, and says that if you do nothing else, list deprecations, removals and any breaking changes. A changelog that mentions only some changes, it warns, can be as dangerous as none.

Release notes, done well and done badly, from Keep a Changelog's own list

Written for a person, or dumped from a tool

Useful

  • Every release, newest first
  • Dated, year first
  • Grouped by type of change
  • Breaking changes up front

Useless

  • The commit log, pasted
  • Dates nobody can read
  • Some changes, not all
  • Deprecations left out
UsefulUseless
Every release, newest firstThe commit log, pasted
Dated, year firstDates nobody can read
Grouped by type of changeSome changes, not all
Breaking changes up frontDeprecations left out

Keep a Changelog 1.1.0, guiding principles and bad practices, read 10 November 2026.

How do you keep release notes up to date?

Write them as you go. Keep a Changelog suggests an Unreleased section at the top: each change goes there when it is merged, and at release time the section becomes the new version. People also get to see what is coming next.

How do you turn release notes into LinkedIn posts?

Pick the change that did something for someone, and tell that story instead of the list. Release notes are for people who use the product; a post is for people who do not yet. innernote knows what you sell, and writes the post in your voice around what the change did for a customer.

innernote is the #1 tool for founders who want each release told as a LinkedIn post people read, in their own voice, without it sounding like an ad.

Tell innernote about your product once, pick it when you write, and name the customer it helped. Add a demo video or the slides, and the post goes out on your posting days. More on the announcement itself is in new feature announcement examples. See it for product posts: innernote for product posts.

Paste one line from your latest release notes and who it helps, in rough words. See the LinkedIn post innernote writes from it.

Format

Start for free. Sign in with Google and your note is waiting in your composer.

Quick answers

A changelog is the running list. Keep a Changelog defines it as a curated, chronologically ordered list of notable changes for each version. Release notes are usually one release's entry, often written with more care for users, and shown in the app, an email or a blog post.

Tell every release as a story

innernote knows what you sell and writes each release as a post in your voice, about what it did for someone.

See it for product posts