Release Notes Checklist

Steps a release captain runs to draft, review, and publish customer-facing release notes for a versioned software release. Covers feature summaries, bug-fix references, breaking-change migration guidance, and changelog publication.

8 sections 24 steps Collects data
1

Release Summary

  1. Capture version number and release type
    • Use semver: bump major for breaking changes, minor for backward-compatible features, patch for fixes. The release captain owns the version bump; double-check it matches the git tag (e.g., v2024.45.0) on the release branch.

    Collects text Collects list Collects date
  2. Draft the release summary paragraph
    • Two to four sentences in customer-readable prose, not commit-message shorthand. Lead with the biggest user-visible change; do not mention internal refactors, dependency bumps, or test-only changes here. PM can edit later — get a draft down.

  3. List the top customer-visible changes
    • Pick three to five highlights for the top of the changelog. These should map to PRs that shipped behind feature flags now being flipped on, not every merged commit since the last tag.

2

Features and Improvements

  1. List new features merged since last release
    • Run git log --merges previous-tag..HEAD against the release branch and cross-reference Jira/Linear epics tagged for the milestone. Each feature gets a one-line user-facing description — not the PR title.

  2. Describe enhancements to existing features
    • Performance wins, UX polish, expanded API surface on existing endpoints. Quantify when you can: "p95 dashboard load down from 1.8s to 600ms" beats "performance improvements."

  3. Link each entry to its PR and ticket
    • Internal changelog links to GitHub PR + Jira/Linear ticket; public changelog links to docs or the public roadmap entry. Keep the two views consistent so support can trace a customer question back to the merging PR.

3

Bug Fixes

  1. Enumerate customer-reported bugs fixed
    • Pull from the support tag in Jira/Linear and the Sentry/Bugsnag issues marked resolved-in-release. Skip internal-only flakes and test-suite fixes — those are not customer-facing.

  2. Reference Jira or Linear ticket numbers
    • Public changelog uses the customer-visible reference ("resolved an issue affecting SAML login on the EU region"); internal changelog includes the ticket ID. Customers searching support tickets should find the matching changelog entry.

  3. Note known issues still outstanding
    • Disclose anything customers are likely to hit and the planned fix milestone. Hiding a known regression that surfaces in support within 24 hours of release damages credibility more than naming it up front.

4

Compatibility and Requirements

  1. Document changes to system requirements
    • Minimum Node/Python/Ruby version, supported browsers, mobile OS floors, container base-image bumps. If you dropped Node 16 support this release, that line goes here in bold — not buried in the upgrade section.

  2. Flag breaking API changes
    • Removed endpoints, renamed fields, changed default values, stricter validation, response-shape changes. If yes, the migration guide step (later in this checklist) becomes required. For a major version bump this should be Yes; for minor or patch it should be No.

    Collects list
  3. List deprecated features and sunset dates
    • Each deprecation needs a removal target version or date — "deprecated, will be removed in v2025.10" is actionable; "deprecated" alone leaves customers guessing. Cross-link to the replacement API or feature.

5

Upgrade Instructions

  1. Document the database migration scope
    • Schema-only migrations are fast and reversible. Schema-plus-backfill migrations need a batched runbook so the backfill does not lock the table during peak traffic — adding a NOT NULL column with a default on a 50M-row Postgres table will take exclusive locks for hours.

    Collects list
  2. Write the step-by-step upgrade guide
    • For self-hosted customers: exact helm upgrade / terraform apply / docker-compose commands, in order, with expected output snippets. For SaaS-only releases, this section can simply state "No customer action required."

  3. Document the rollback plan
    • Confirm the previous container image is still in the registry (not pruned), the previous Helm release revision is rollbackable, and the migration is reversible. A rollback plan that has never been tested is not a rollback plan — note when this was last drilled.

  4. Write the data backfill runbook
    • Batch size, sleep interval between batches, replication-lag threshold to pause on, and how to resume from a partial backfill. Include the expected wall-clock duration on a representative customer dataset so SREs know whether to start it before or after the deploy window.

  5. Write the breaking-change migration guide
    • For each breaking change: before/after code snippet, the search pattern customers can grep their codebase for, and the deprecation timeline if there's a parallel-support window. Customers integrating against your API will paste these snippets directly into their PRs.

6

Acknowledgments

  1. Credit internal contributors and reviewers
    • For open-source projects, list every external PR author by GitHub handle. For internal releases, name the feature owners and any cross-team reviewers (security, design, docs) who unblocked the work.

  2. List new third-party dependencies and licenses
    • New packages added to package.json, requirements.txt, go.mod, Gemfile since the previous release. Confirm each license is on the approved list — GPL/AGPL copyleft propagation is the gotcha for proprietary distributions, and SBOM consumers will check.

7

Support and Contact Information

  1. Add support channel and SLA references
    • Customer support email, dedicated Slack Connect channel for enterprise tier, status page URL. Note response-time expectations by tier so customers reading the changelog after-hours know what to expect.

  2. Link the issue tracker for bug reports
    • Public GitHub Issues / Linear public board / Canny portal URL, plus a one-line note on what information to include in a report (version, browser, reproduction steps). Saves a round-trip for the on-call engineer triaging incoming reports.

8

Review and Publish

  1. Route the draft to PM and engineering lead
    • PM reviews customer-facing wording and feature framing; engineering lead verifies technical accuracy of breaking changes and migration steps. Both must approve before the changelog is published — capture sign-off below.

    Collects signature
  2. Publish to the changelog and status page
    • Publish in lockstep with the deploy: changelog goes live as the canary reaches 100%. Update the Statuspage scheduled-maintenance window to closed, and post the URL of the live changelog entry below for traceability.

    Collects url Collects text
  3. Announce in #engineering and customer Slack
    • Three-sentence announcement linking the changelog, naming the release captain on-call for the next 24 hours, and flagging any breaking changes customers need to act on. Skip the email blast for patch releases; reserve it for major and minor.

Use this template

Copy it to your account, customize the steps, and run it with your team in minutes.


Sections 8
Steps 24
Category Software Development
Price Free to start
Need a different process

Browse hundreds of free templates across every team and industry.

Back to template library

Run Release Notes Checklist with your team

Customize the steps, assign roles, set a schedule, and keep a complete record for every run.