BreakPoint Drop

Blog · For maintainers

Release notes best practices for open source projects

A great release note is one that a new maintainer can read 6 months later and know exactly what to work on next. The format, the tone, the structure, and the cut-a-release checklist.

Published July 13, 2026 · ~4 min read

The 3 sections

  1. What's new — features, improvements
  2. What's fixed — bug fixes
  3. What's breaking — breaking changes with migration instructions

The breaking changes section is the most important — without it, users don't know they need to update their code.

The format

## v1.2.0 (2026-07-13)

**New:**
- Add support for X (#123)
- Improve Y performance by 30% (#124)

**Fixed:**
- Fix memory leak in Z when W is true (#125)

**Breaking:**
- Rename `oldName` to `newName` (#126). Update your code:
  before: `client.oldName("foo")`
  after:  `client.newName("foo")`

The tone

Three things to keep in mind:

  • Be specific. "Fixed a bug" is useless. "Fixed a memory leak in the WebSocket handler when the connection is closed during a reconnect" is useful.
  • Link the issues. Every change should have a link to the issue or PR. Future maintainers (and users) need the context.
  • Thank the contributors. "@contributor fixed this" or "thanks to @contributor for the bug report" is two lines that matter.

The cut-a-release checklist

Before you tag a release:

  1. All tests pass on the main branch.
  2. The version is bumped (semver: MAJOR for breaking, MINOR for new, PATCH for fixes).
  3. The CHANGELOG is updated.
  4. The release notes are written (curated from the CHANGELOG, with the 3 sections above).
  5. The git tag is created and pushed.
  6. The release is published to the package registry (npm publish, PyPI upload, etc.).
  7. A release announcement is posted (the project's blog, Discord, mailing list, or wherever the community gathers).

Frequently asked questions

What should every release note include?

Three sections: new, fixed, breaking.

How long should release notes be?

Short enough to read in 2 minutes.

What's the difference between a CHANGELOG and release notes?

CHANGELOG is the cumulative log. Release notes are the per-version highlights.

Related reading

Maintainer guide

How to find a new maintainer for your open source project

Your release notes are the artifact a new maintainer will read first.

Get rescued projects in your inbox

A short Monday-morning note on the projects abandoned last week and who adopted them. No spam, unsubscribe anytime.

Related reading on BreakPoint

The concepts, guides, and reports behind this post.

Guide

How to hand off any project

Step-by-step, with the verify command.

Concept

Bus factor

The definition, with data and citations.

Concept

Project lifecycle

The definition, with data and citations.