Features.Vote - Build profitable features from user feedback | Product Hunt
Complete Guide

How to Write Release Notes

Templates, real examples, and best practices for writing release notes that users actually read. Covers structure, tone, audience targeting, and notification strategies.

Auto-notify voters when features ship with Features.Vote's changelog

What to include Jump to templates

In This Guide

What to Include

6 essential sections

Writing for Different Audiences

4 audience types

Release Note Templates

Copy-paste ready

Notification Strategies

6 channels

Tone & Style Guide

Do's and don'ts

FAQ

6 common questions

What to Include in Release Notes

Every release note should cover these six categories. Not every release will have all six — but knowing what to look for ensures nothing gets missed.

New Features

The headline acts. New functionality that didn't exist before. Lead with the benefit — what users can now do — then explain the feature. Include a screenshot or GIF showing the feature in action.

Example

"Export reports as CSV — Build custom reports in Excel, Google Sheets, or your BI tool without screenshotting charts. Click the new Export button in the top-right of any report to download."

Pro Tip

If a feature was user-requested, call it out: 'You asked, we built.' This closes the feedback loop and encourages more requests.

Improvements

Enhancements to existing features — performance boosts, UI refinements, better defaults. These often matter more to daily users than new features because they improve workflows they already rely on.

Example

"Dashboard loads 3x faster — We rewrote the query engine behind analytics dashboards. Pages that took 4-5 seconds now load in under 1.5s. No action needed on your end."

Pro Tip

Quantify improvements when possible. '3x faster' is more compelling than 'improved performance.' Users notice specific numbers.

Bug Fixes

Be transparent about what was broken and confirm it's fixed. Users who hit these bugs want to know they can stop using workarounds. Don't be vague — name the specific issue.

Example

"Fixed: CSV imports failing for files over 10MB — Large file imports were timing out silently. Files up to 100MB now import reliably with a progress indicator."

Pro Tip

Don't hide bug fixes in shame. Transparency builds trust. Users prefer 'we broke X and fixed it' over pretending it never happened.

Breaking Changes

Anything that changes existing behavior or requires user action. These must be flagged prominently with clear migration instructions and timelines. Never bury breaking changes — users will find out the hard way.

Example

"Breaking: API v2 endpoints deprecated on March 30 — If you're using /api/v2/ endpoints, migrate to /api/v3/ before March 30. See our migration guide for step-by-step instructions. v2 will return 410 Gone after this date."

Pro Tip

Give at least 30 days notice for breaking changes. Include a migration guide, code examples, and a point of contact for questions.

Deprecations & Removals

Features being phased out or removed entirely. Explain why (consolidation, low usage, replaced by something better) and what users should use instead. Be empathetic — someone relied on this.

Example

"Removing legacy dashboard on April 15 — The classic dashboard is being retired in favor of the new analytics view (launched January). If you're still using the classic dashboard, switch now to customize your new layout."

Pro Tip

Always provide an alternative. 'We removed X' is frustrating. 'We replaced X with Y, which does everything X did plus Z' is helpful.

Known Issues

Problems you're aware of but haven't fixed yet. Including known issues in release notes is a power move — it shows honesty and saves users from reporting bugs you already know about.

Example

"Known issue: Dark mode colors are inconsistent on the settings page. Fix coming in next release. Workaround: use light mode for settings."

Pro Tip

Including known issues reduces support tickets and builds trust. Users appreciate knowing that you know, and that a fix is coming.

Writing for Different Audiences

The same release needs different notes for different readers. Here's how to tailor your tone, detail, and structure for each audience.

End Users (Non-Technical)

Tone

Conversational, benefit-focused, jargon-free

Detail Level

Focus on what users can do now, not how you built it. Use screenshots and GIFs. Keep entries to 2-3 sentences.

Structure

Lead with the benefit, then a brief explanation. Group by: What's New, What's Improved, What's Fixed.

Example

"You can now schedule reports to arrive in your inbox every Monday morning. Set it up in Settings → Reports → Schedule."

Technical Users (Developers, API Consumers)

Tone

Precise, detailed, include code snippets

Detail Level

Include API changes, parameter updates, SDK versions. Link to migration guides and API docs. Show before/after code examples.

Structure

Version number, date, categorized by: Added, Changed, Deprecated, Removed, Fixed, Security. Follow Keep a Changelog format.

Example

"Added: `GET /api/v3/reports?schedule=weekly` — New scheduling parameter. See API docs for payload format. Breaking: `report_type` field renamed to `type` in response objects."

Stakeholders (Executives, Board, Investors)

Tone

High-level, outcome-focused, strategic

Detail Level

Focus on business impact: user growth from new features, performance improvements as percentages, customer satisfaction impact. Skip implementation details.

Structure

Executive summary (3-5 bullets), key metrics, strategic alignment. One page max.

Example

"Launched AI-powered report scheduling. 340 enterprise accounts activated in the first week. Projected to reduce churn by 8% in Q2 based on 'missing reporting' being our #2 cancellation reason."

Internal Team (Engineers, Support, Sales)

Tone

Detailed, includes context and rationale

Detail Level

Why this was built, which customers requested it, support implications, sales talking points. Include rollback plans and monitoring dashboards.

Structure

Context (why), changes (what), impact (who), rollout plan (when/how), known risks, support FAQ.

Example

"Report scheduling ships today. Built because: #2 cancellation reason, 47 feature requests on the voting board, Acme Corp ($50K ARR) made it a contract renewal condition. Support FAQ attached."

Release Note Templates

Copy-paste these templates and fill in the blanks. Three formats for three use cases.

Most Common

Standard Release Notes Template

Release [Version] — [Date]

[One-sentence summary of what this release is about]

New

- [Feature name] — [What it does + why it matters]. [Link to docs]

Improved

- [What improved] — [Specific improvement with numbers if possible]

Fixed

- [What was broken] — [Confirmation it's fixed + any user action needed]

Breaking Changes

- [What changed] — [Migration steps]. Deadline: [Date]. [Link to migration guide]

Consumer Products

User-Friendly Release Notes Template

What's New in [Product] — [Month Year]

[1-2 sentences: what this update means for users]

You can now...

- [Benefit-first description]. Here's how: [brief instructions or link]

We made it better...

- [What's faster/smoother/easier] — [specific improvement users will notice]

We squashed these bugs...

- [Bug users reported, described in user language, not technical jargon]

You asked, we built

- [Feature that was user-requested] — Thanks to everyone who voted for this! [Link to voting board]

Developer Products

API / Developer Release Notes Template

v[X.Y.Z] — [YYYY-MM-DD]

[Semver: Major.Minor.Patch]

Added

- `[endpoint/method/parameter]` — [What it does]. See [API docs link].

Changed

- `[what changed]` — Previously [old behavior], now [new behavior]. [Migration: link]

Deprecated

- `[deprecated item]` — Will be removed in v[X+1]. Use `[replacement]` instead.

Removed

- `[removed item]` — Deprecated since v[X]. [Migration guide link]

Fixed

- `[bug description]` — [Root cause and fix]. Resolves #[issue number].

Security

- [CVE or security fix description]. All users should update to this version.

How to Notify Users About Release Notes

Writing great release notes is half the battle. Getting them in front of users is the other half.

ChannelBest ForTimingFormat
In-App Banner / ModalMajor features and breaking changesShow on first login after releaseBanner: one sentence + 'Learn more' link. Modal: hero image + 3-4 bullet points + CTA. Dismissible.
Email NewsletterMonthly roundups and feature launchesSame day as release or next morningSubject: what's new (not 'Monthly Update #47'). 3-5 highlights with images. Link to full release notes.
Changelog PageComprehensive record of all changesUpdated with every releaseChronological, categorized entries. Searchable. This is your permanent record — it should be complete.
Social MediaVisual features and milestone releasesDay of release, 1-2 posts maxShort, visual, one feature per post. GIF or screenshot. Link to full release notes. Don't spam — only share noteworthy updates.
Slack / Discord CommunityEngaged users and beta testersBefore or simultaneously with public releaseInformal, conversational. Ask for feedback. Link to voting board for feature requests. Early access builds loyalty.
Voting Board NotificationsClosing the feedback loop with requestersWhen a requested feature shipsAutomatic notification to everyone who voted for a feature. 'The feature you requested is now live!' — the most powerful retention tool.

The most underused channel:

Voting board notifications. When you ship a feature that users requested, automatically notifying every voter is the single most powerful retention and engagement tool available. It closes the loop without manual effort. Learn about feature voting

Tone & Style Guide

Do

  • Lead with the benefit, not the feature name
  • Use active voice: 'You can now...' not 'It is now possible to...'
  • Include screenshots or GIFs for visual changes
  • Quantify improvements: '3x faster' not 'improved performance'
  • Reference user requests: 'You asked, we built'
  • Keep each entry to 2-3 sentences max
  • Link to docs for features that need setup
  • Be transparent about bugs and breaking changes

Don't

  • Write 'various bug fixes and improvements' — be specific
  • Use internal jargon: 'refactored the ORM layer' means nothing to users
  • Bury breaking changes at the bottom
  • Skip release notes for 'small' updates — they add up
  • Send every update through every channel — that's spam
  • Write a wall of text without categories or formatting
  • Use passive voice: 'An issue was resolved' — who resolved it? You did!
  • Forget to include a link to give feedback on the update itself

Automate Your Release Notes with Features.Vote

Features.Vote combines a voting board, changelog, and roadmap in one tool. When you mark a feature as shipped, voters get notified automatically.

Write once, publish everywhere

Create your changelog entry with rich text, images, and categories. It publishes to your changelog page and notifies relevant users automatically.

Auto-notify voters

Every user who voted for a shipped feature gets an email notification. No manual tracking, no CRM exports, no forgetting to follow up.

Feedback-driven roadmap

Your roadmap is powered by user votes. Release notes connect directly to the requests that drove them — closing the loop end to end.

Try Features.Vote free

Changelog, voting board, and roadmap included. Free plan available.

"Shout out to FeaturesVote! Integration was done in under a minute"

Alexandre Negrel,

Founder at Prisme Analytics

Frequently Asked Questions

Still not convinced?

Here's a full price comparison with all top competitors

Okay, okay! Sign me up!

Start building the right features today ⚡️