Nitrozen

← Blog

How to Write a Changelog Users Actually Read (With a Template)

· 4 min read

A changelog is the simplest proof that your product is alive. Customers check it before they renew, prospects skim it during evaluation, and support teams link to it when a bug they reported is fixed. Yet many changelogs are either a dump of commit messages or a page that hasn't been touched in a year.

This guide covers how to structure entries, which categories to use, how often to publish, and gives you a template. At the end we show how to publish it as a hosted page and an in-app widget with Nitrozen.

Who the changelog is for

There are two audiences, and they want different things:

Most SaaS teams need the second kind, a product changelog, and sometimes the first as well for an API or SDK. Decide which you're writing before you start, because it changes the language. (More on that in changelog vs release notes.)

Anatomy of a good entry

Every entry should answer three questions in its first two sentences: what changed, why it helps, and where to find it.

  1. A benefit-led title. "Export reports to CSV" beats "Export improvements". "Fixed login loop on Safari" beats "Bug fixes".
  2. A date (and a version number if customers install your software).
  3. A category. Readers scan for what affects them.
  4. One to three sentences written from the user's side: what they can do now and how.
  5. A visual for anything they'll see: a screenshot or short GIF.
  6. A link to the docs, setting or feature.

Categories that work

Keep a small, fixed set so the log stays scannable. Keep a Changelog uses Added, Changed, Deprecated, Removed, Fixed and Security. Product changelogs often simplify this to:

Whatever you pick, use the same labels every time. Nitrozen ships with New, Improvement, Fix and Announcement as colour-coded badges for exactly this reason.

Writing style

How often to publish

Consistency matters more than volume. Pick a rhythm you can sustain (every release, weekly or every two weeks) and stick to it. If a week is quiet, batch small fixes into one "quality improvements" entry instead of going silent. A changelog that hasn't moved in months makes an active product look abandoned.

The easiest way to stay consistent is to make the entry part of "done": whoever ships a user-visible change writes a two-line draft while the context is fresh. Teams that release through GitHub can automate this; see automating your changelog from GitHub Releases.

Template

Copy this for each entry:

## [Benefit-led title]
**Category:** New | Improvement | Fix | Announcement
**Date:** YYYY-MM-DD

[One sentence: what you can do now.] [One sentence: why it matters or what problem it solves.]

**How to use it:** [Where to find it, e.g. Settings → Notifications → Email digest.]

![Screenshot of the feature](image-url)

[Link to docs →]

Example

## Get a weekly email digest of new comments
**Category:** New
**Date:** 2026-10-28

You can now receive one summary email each Monday instead of a notification for every comment. It's on by default for new workspaces and off for existing ones.

**How to use it:** Settings → Notifications → Weekly digest.

Make it easy to find

A great changelog nobody sees doesn't help. Put it in at least three places:

  1. A public page at a memorable URL such as /changelog or changelog.yourdomain.com, linked from your footer and help centre.
  2. Inside the product, through a "What's new" widget, so active users see updates without leaving the app. See how to add a what's new widget.
  3. Where customers already are: link notable entries in your newsletter, social posts and support replies.

Publish it with Nitrozen

Nitrozen is a changelog platform built for this workflow:

The free plan includes one project, five entries a month, a public page and the widget, so you can start today.

Create your changelog free →

Publish a changelog your users actually see.

Hosted page, in-app widget and API. Free plan available.

Create your free account