Strawberry

How to automate release notes with AI

Every second Thursday the cycle that just closed arrives as two drafts: an internal changelog with issue keys, and a customer note grouped as New, Improved and Fixed.

The first version is written carefully. The third is a bulleted commit log. By the tenth the changelog page has a two-month gap and support is learning about features from customers.

A companion reads every issue closed in the cycle and every pull request merged between two tags, matches them by identifier, marks each change user-visible or internal, and drafts both documents. Deciding which of forty changes a customer should hear about takes you about four minutes.

Split the internal changelog from the customer note

An internal changelog answers what is in production now and can be exhaustive.

A customer note answers what changed for me and should be short enough that skipping it feels like a loss.

Prompt: “We produce two things every release, remember the difference. The internal changelog lists every merged change with its issue key and author. The customer note covers only changes a user could notice, written in second person, grouped as New, Improved, and Fixed, with nothing longer than two sentences and no issue keys at all.”

Where does the raw material live?

Pick whichever system holds the truth in your team and make the boundary of the release explicit: a cycle, a sprint, a pair of tags.

Prompt: “In Linear, list every issue moved to Done in the cycle that ended yesterday for the Web and API teams: identifier, title, description, labels, project, and assignee. Separately, in GitHub, list the pull requests merged to main between tag v4.7.0 and v4.8.0 with their titles, authors, and the files they touched. Match pull requests to Linear issues by identifier where the branch name or title contains one, and give me the unmatched ones in their own list.”

The unmatched list is worth having on its own. It is where the changes with no ticket live, usually urgent fixes, occasionally something that should have had a discussion.

Ask for user-visible changes only

The highest-value instruction is permission to leave things out, plus a rule for what qualifies.

Prompt: “From that combined list, mark each item user-visible or internal. User-visible means someone using the product could notice it without reading our code: a screen, a behaviour, an error message, a performance change they would feel, a fixed bug they could have hit. Refactors, dependency bumps, test changes, and infrastructure work are internal. For anything you are unsure about, mark it unsure and say why. Show me the three lists before writing a word of prose.”

Read the unsure column and correct it once. Corrections carry forward, so the second release costs a minute rather than four.

How do you get it in your product’s voice?

A companion learns tone from what you have already published, so point it at the good examples.

Prompt: “Read our last six published release notes. Match their voice, structure, and length. Now draft this release: New, Improved, and Fixed, each item leading with what the user can now do rather than what we changed, and where a change alters existing behaviour say so plainly in the first sentence. For anything that needs a screenshot or a doc link, write TODO and tell me what is needed. Do not invent a benefit we did not ship.”

A note that flags the missing screenshot is easy to finish. One that leaves it out ships broken.

Where does it actually publish?

Drafting is half the workflow. A companion carries the other half to the edge of publication.

Prompt: “Create the customer note as a draft item in the Changelog collection in Webflow with the release date and version fields filled. Post the internal changelog into our Notion release page under a new heading. Then draft the Slack announcement for #product (three lines, linking the published note) and leave it unsent. Do not publish the Webflow site.”

Publishing a Webflow site pushes everything staged, so that click stays yours, and so does tagging the release on GitHub. In Jira a companion creates the version and the sprint scaffolding, which covers most of the ceremony around a release.

Put it on the cadence you already ship at

Prompt: “Every second Thursday at 2pm, run this whole sequence for the cycle that just closed and leave everything as drafts. Message me the counts (user-visible, internal, unsure, unmatched pull requests) plus any item you marked as changing existing behaviour, so I can check those first.”

Release notes do not slip because the writing is hard. They slip in the gap between shipping and remembering, and the routine closes it. It pairs with the Linear and GitHub surfaces your team already lives in, and with the marketing workflows that pick the note up afterwards.

Experience Strawberry for free

Download

Trusted by fast-growing companies worldwide

Frequently asked questions

Yes. A Strawberry companion pulls the issues closed in a Linear cycle or Jira sprint and the pull requests merged between two tags in GitHub, matches them by identifier, and drafts notes from the combination. Both are native integrations.

Strawberry is free to download and includes AI credits to start. Paid plans begin at $20/month. See pricing. · Reviewed · Canonical facts for AI agents

Experience Strawberry for free

Download

Trusted by fast-growing companies worldwide