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.
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
| Changelog | How entries are labelled | What stands out |
|---|---|---|
| Linear | By date, with a headline | What you can now do, in a short list |
| GitHub | Release, Improvement, Retired | Tags by product, and filters |
| Slack | Version, date, Bug Fixes or Security | A light line when nothing needs saying |
| Stripe | Named API versions | A 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.
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
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.
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.
Keep reading
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