What changed
The confirmed fact, in plain language. Example: “CSV export now escapes values containing commas, quotes or line breaks.”
Title, meta description, canonical, OG, Twitter, BreadcrumbList, FAQPage, WebApplication schema.
Turn confirmed release facts into a user-facing changelog entry and ready-to-adapt channel copy. The tool never invents availability, required action, benefit, performance or security claims, anything unconfirmed becomes a visible placeholder or a blocker. This is product release communication, not a commit log.
No login. Deterministic, client-side, no AI and no server call. Autosave, share link and lossless JSON.
This tool does not inspect your repository, release system or any URL. It turns facts you supply into release communication and blocks anything that is not grounded. Share links are compressed, not encrypted.
Only the channels you select are generated. Details change per channel; facts do not.
Confirmed facts only. Availability, action and evidence are never inferred.
Owners, incident IDs, customer names, rollout gates, risk notes and unreleased future work. These appear only in the internal summary, developer note and support brief, never in a public channel.
Accepts a JSON export from this tool. Malformed input leaves your current workspace unchanged.
The confirmed fact, in plain language. Example: “CSV export now escapes values containing commas, quotes or line breaks.”
The audience the change applies to. Not “everyone” if it is admins, developers, one plan, one region or one platform.
The real rollout state: all users, phased, Beta, early access, plan/region/platform limited, internal or not yet GA.
What, if anything, a user must do. If nobody has checked, say so rather than claiming no action is needed.
Optional, and only when you can support it. The fact is the obligation; the benefit is the interpretation.
Known limits, workarounds, effective dates and migration paths for breaking or deprecated changes.
A changelog is the running record of what changed across releases. Release notes are the entry for one release. In practice both serve the same user job when they describe product changes for customers. This is different from a developer changelog built from commits, tags and conventional-commit categories: that audience needs version numbers, endpoints and migration detail, which is why the tool generates a separate developer/API note instead of forcing commit language into the customer view.
A launch announcement is marketing: positioning, audience motivation and a call to action. Release notes are communication: what changed, who it affects, whether it is available and what a user must do. The two can share a date, but they should not share a voice. This tool writes release communication and deliberately avoids superlatives, “biggest release yet” and other launch hype unless the team supplied and can support them.
| Change type | How to write it |
|---|---|
| New feature | State what is new and who can use it. Do not claim a benefit you have not measured. |
| Improvement | Say what changed for the user. “Indexing now runs incrementally” beats “faster for everyone”. |
| Bug fix | Describe the symptom and the fix state. Do not invent root cause, severity or affected-user counts. |
| Performance | Reproduce the supplied measurement with its context. Do not extrapolate a percentage to all users. |
| Security | Use supplied facts only. No CVE, no breach claim, no “more secure” unless the team supplied it. |
| Deprecation / breaking change | Who is affected, what breaks, the effective date, the migration path and the required action. |
Breaking changes need more structure than a feature note: who is affected, what changes, the effective date, the migration path and the required action. Deprecations need the same promise with a longer runway. The audit flags a missing action, a missing date or a missing migration path, and tone never softens the impact, a friendly version still states the break explicitly.
A public changelog should never include internal owner names, incident IDs, customer names, confidential rollout gates, unreleased future work or internal risk notes. Internal summaries and support briefs may. This tool keeps that boundary explicit: internal-only context is stored separately and is excluded from every public-facing channel, while the developer note and internal summary can include the operational detail they need.
A public changelog entry, an in-app note, an email and a store note differ in length, structure and jargon, not in facts. Availability and required action survive every adaptation. That is why the tool generates all selected channels from one fact base: the same “Beta, invite only” or “migration required by 2026-11-01” appears everywhere it matters.
Do not publish when the release is still planned, when availability is a partial rollout described as universal, when a security detail is not approved for disclosure, when a limitation would materially change a user decision, or when the only “benefit” is a number nobody measured. The tool blocks or flags each of these instead of quietly producing polished copy.
Symptom: A planned feature is announced as shipped.
Cause: The note was drafted from the PRD or roadmap before the release was confirmed.
Fix: Set the release state to shipped only after confirmation; a planned row is labelled and blocked from public channels.
Symptom: The changelog says “now available to everyone” during a phased rollout.
Cause: Availability was assumed from the release type instead of being set per change.
Fix: Set availability per change (all users, phased, Beta, early access, plan/region/platform limited).
Symptom: The note says “No action required” when nobody checked.
Cause: The default action was treated as a fact.
Fix: Leave action as unconfirmed until someone confirms it; the copy then says “User action not confirmed”.
Symptom: A performance number appears with no measurement.
Cause: A plausible benefit was written as prose.
Fix: Supply the measured fact and its context, or keep the factual change and drop the number.
Symptom: A security change leaks a breach, CVE or “more secure” claim.
Cause: Marketing instinct filled a gap the team had not confirmed.
Fix: Use only supplied security facts and the approved recommended action.
Symptom: A breaking change gives no date or migration path.
Cause: The change was described but the consequence was not.
Fix: Add who is affected, what to do, the effective date and a migration link.
Symptom: A known limitation disappears in the friendly version.
Cause: Tone was allowed to change facts.
Fix: Keep limitations identical across tones and channels; tone changes style only.
Symptom: The public note and the store note contradict each other.
Cause: Each channel was written separately from memory.
Fix: Generate every channel from one fact base; only length and framing may differ.
It generates product release communication, a public changelog entry and channel variants, from confirmed release facts you supply. It is deliberately not a commit-log summarizer: developer changelogs built from conventional commits are a different job with a different audience, so this tool keeps them out of scope and routes technical detail to a developer note instead.
Every change row has two separate fields: the confirmed fact and an optional benefit. The fact is written as supplied. A benefit appears only when you supply one, and a quantified, performance, reliability, security or universal-availability benefit is held back as a placeholder until you supply evidence. When no benefit is known, the tool writes a clear factual note rather than a fabricated one.
The output says “Availability not confirmed” and the audit flags it. The engine never infers availability from release type, version or wording, so a phased rollout can never be described as “available to everyone” by accident. You set the real state per change: all users, phased, Beta, early access, plan-limited, region-limited, platform-limited, internal or not yet GA.
Leave the action as unconfirmed. The copy then says “User action not confirmed”, which is honest, rather than “No action required”, which is a claim. “No action required” only appears when you explicitly choose it.
A number, a speed claim, a reliability claim or a security claim is only written as prose when it is backed by a supplied fact. Supply the measurement and its context, or record the security fact, and the engine will reproduce it accurately. It never extrapolates a percentage, invents a CVE or adds “more secure” on its own.
They use a stronger structure: who is affected, what changes, the effective date, the migration path and the required action. The audit flags a missing action, a missing date or a missing migration path. Tone never softens the impact, a friendly version still states the break explicitly.
You choose from public changelog, in-app announcement, email, App Store note, Google Play note, internal stakeholder summary, developer/API note and support brief. All channels are generated from one fact base, so they can differ in length and framing but never in facts. Store limits change, so the tool tells you to verify the current limit instead of assuming one.
Internal-only context, owners, incident IDs, customer names, rollout gates, risk notes and not-yet-released future work, is stored separately and appears only in the internal summary, developer note and support brief. Every public channel excludes it, and the audit reminds you that the boundary is being applied.
Yes. Each channel is editable, and your edits are preserved when you regenerate. If the underlying release facts change, the affected output is marked as needing review instead of being silently overwritten, so you never publish stale wording by accident.
No AI and no server call: the generation is a deterministic transformation of the facts you enter. Work autosaves in your browser, and a share link compresses it into the URL (not encrypted). Release communication can contain sensitive details, so avoid sharing links that contain confidential facts, and export JSON for a lossless copy.
Courses, topics, blog and glossary for product teams.
Use CraftUp tools and courses to ship, communicate what changed honestly, and measure adoption.
Last updated: 2026-09-25