changelog-and-release-notes
Changelog and Release Notes
A changelog is a chronological record of every product change — features, fixes, improvements, and deprecations. Release notes are the user-facing announcements that accompany significant changes. Together, they serve three audiences: existing users who need to know what changed, prospects evaluating your product velocity, and AI engines that index product capability updates.
Most SaaS changelogs are either missing (nothing published) or unusable (walls of JIRA tickets copy-pasted). A well-designed changelog is a product marketing asset that builds trust, reduces support tickets, and demonstrates momentum.
Changelog Architecture
Entry types
| Type | Badge/tag | Description | Example |
|---|---|---|---|
| New | NEW |
Net-new feature or capability | "Added AI-powered deal scoring" |
| Improved | IMPROVED |
Enhancement to existing feature | "Lead scoring now supports custom weight rules" |
| Fixed | FIXED |
Bug fix that users experienced | "Fixed: CSV export no longer truncates long field values" |
| Deprecated | DEPRECATED |
Feature being removed (with timeline) | "Legacy reporting dashboard will be removed June 2026" |
| Breaking | BREAKING |
Change that requires user action | "API v1 endpoints will return 410 after May 30" |
Entry structure
Every changelog entry follows this format:
[Date] [Type badge]
**Title:** One-line summary of the change (benefit-focused)
**What changed:** 1-3 sentences describing the specific change.
**Why:** 1 sentence on why this matters to the user.
**How to use:** 1-2 sentences or a link to docs.
Writing Rules
Rule 1: Lead with the benefit, not the code change
| Developer changelog (wrong for users) | User changelog (right) |
|---|---|
| "Refactored pipeline scoring algorithm to use ensemble model" | "Deal scores are now 30% more accurate — especially for enterprise deals with long sales cycles" |
| "Fixed race condition in webhook delivery" | "Fixed: Webhooks now fire reliably within 2 seconds of trigger events" |
| "Added new API endpoint /v2/contacts/bulk" | "You can now update up to 10,000 contacts in a single API call" |
Rule 2: Write for scanners
Users scan changelogs. They don't read them.
- Bold the title. Users read titles only unless the change is relevant to them
- Type badges are color-coded. New = green, Improved = blue, Fixed = yellow, Deprecated = red, Breaking = red
- One paragraph per entry max. If the explanation requires more, link to a detailed blog post or doc page
- Most recent entries first. Reverse chronological order, always
Rule 3: Be specific about what changed
| Vague (unhelpful) | Specific (helpful) |
|---|---|
| "Improved performance" | "Dashboard load time reduced from 4.2s to 0.8s" |
| "Bug fixes" | "Fixed: Email sequences no longer pause when a contact's email bounces" |
| "Updated UI" | "Redesigned the pipeline view with drag-and-drop stage management" |
| "Various improvements" | Never use this. List each improvement separately |
Rule 4: Acknowledge breaking changes early
Breaking changes require advance notice and clear migration instructions.
Breaking change entry format:
[Date] BREAKING
**API v1 Deprecation — Action Required by May 30, 2026**
What's happening: API v1 endpoints will return 410 (Gone) after May 30, 2026.
What you need to do: Migrate to API v2. See the migration guide: [link]
Timeline:
- Now: v2 is available, v1 still works
- May 1: v1 returns deprecation warnings in headers
- May 30: v1 returns 410 for all requests
Need help? Contact support at support@acme.com or book a migration call: [link]
Changelog Page Design
Required elements
| Element | Purpose |
|---|---|
| Reverse chronological list | Most recent updates at top |
| Type badges with color coding | Visual scanning for relevant changes |
| Date on every entry | Shows product velocity |
| Search / filter | Users can find specific changes |
| RSS feed or email subscription | Users opt into notifications |
| "Subscribe to updates" CTA | Capture interested users |
Page structure
/changelog
[Subscribe to updates button]
[Filter: All | New | Improved | Fixed | Breaking]
[Search bar]
---
May 2, 2026 — NEW
**AI Deal Scoring Now Available**
Deal scores are now 30% more accurate...
[Read more →]
---
April 28, 2026 — IMPROVED
**Faster Dashboard Load Times**
Dashboard load time reduced from 4.2s to 0.8s...
---
April 25, 2026 — FIXED
**CSV Export Truncation Fix**
CSV exports no longer truncate fields longer than 255 characters...
Release Cadence
| Company stage | Update frequency | Major release frequency | Changelog entries/month |
|---|---|---|---|
| Early stage (< $1M ARR) | Ship continuously | Monthly "what's new" | 4-8 entries |
| Growth ($1-10M ARR) | Weekly or bi-weekly | Monthly or quarterly | 8-15 entries |
| Scale ($10M+ ARR) | Bi-weekly sprints | Quarterly major releases | 10-20 entries |
Rules:
- Update the changelog with every user-facing change. Not just major features — improvements and fixes show that you listen and iterate
- Batch small fixes into a single weekly entry if there are many. "This week's fixes: [list]"
- Never go more than 2 weeks without a changelog entry. Silence signals stagnation
Changelog for AEO and GEO
A public, well-maintained changelog builds entity signals for AI engines.
Why changelogs matter for AI search:
- AI engines use changelogs to answer "What's new in [product]?" and "Does [product] have [feature]?"
- Regular updates signal an active, maintained product
- Feature announcements build entity-feature association (AI learns what your product does)
AEO rules for changelogs:
- Make the changelog page publicly accessible (not behind login)
- Use semantic HTML: dates in
<time>tags, entries in<article>tags - Add
Articleschema to major feature entries - Include the feature name and benefit in the title (not just an internal code name)
Pre-Publish Checklist
- [ ] Entry type badge assigned (NEW, IMPROVED, FIXED, DEPRECATED, BREAKING)
- [ ] Title is benefit-focused, not developer-focused
- [ ] What changed is specific (includes numbers, feature names, or behavior changes)
- [ ] Why it matters is included (1 sentence on user impact)
- [ ] How to use it is included (link to docs or 1-sentence instruction)
- [ ] Breaking changes have timeline, migration guide, and support contact
- [ ] Entry is ≤ 1 paragraph (links to blog post or docs for detail)
- [ ] Date is included
- [ ] Changelog page is publicly accessible
- [ ] Email notification sent to subscribers (for major changes)
Anti-Pattern Check
- No public changelog → Prospects evaluating your product check for product velocity. A missing changelog signals a stagnant product. Publish one this week — start with the last 5 changes
- Entries are JIRA ticket titles → "ACME-4521: Fix null pointer in scoring service" means nothing to users. Rewrite in user language: "Fixed: Lead scores now calculate correctly for contacts without a company name"
- Only publishing major features → Bug fixes and improvements show you listen to users. A changelog with only 2 entries per quarter looks abandoned. Include improvements and fixes alongside features
- "Various bug fixes and improvements" → Never. List each fix and improvement separately with specific descriptions. "Various" is a flag that says "we fixed stuff but can't be bothered to tell you what"
- Changelog behind login → Prospects can't see it. AI engines can't index it. Make the changelog public. It's a marketing asset, not just a user tool
- No notification mechanism → Users won't check the changelog page regularly. Offer RSS, email subscription, or in-app notifications for significant changes