# Release notes graphics: a card for every release

[Canonical HTML page](https://gradiently.design/guide/release-notes-graphics)

Each version needs a card people recognise before they read the number. Design the layout once, then fill the version, the headline and one line from a spreadsheet.

## The short version

- Release notes graphics are one share card per version, with the same layout every time you ship.
- Each card needs a small version label, a headline in the customer's words, and at most one line of detail.
- Build the master card at 1200×630 pixels, with the headline large and in the centre, then repeat those words at 1600×900, 1200×1200 and 1200×600.
- A spreadsheet with one row per release, and headings in the first row, fills that layout after you review every row.
- A wrong headline on one card is a text edit on that card. The layout, the ground and the other releases stay as they are.

**Release notes graphics** are the share cards for each version you ship: one layout, a small version label, a headline in the customer's words, and the same ground every time. Design that card once. A later release is a new row, and the card is only the picture for the changelog link.

## What the card has to say

The card is the sentence that travels with the changelog link, in a post, a chat or the update email. It gets one result, not the patch list. The page it points at is a [changelog](https://gradiently.design/guide/changelog-design): short dated entries, newest first.

| Part | On the card | What to write |
| --- | --- | --- |
| Version | Small label | A number such as 2.4 |
| Headline | Largest line, centred | What the customer can now do |
| Detail | One line under the headline | A single consequence, or leave it off |
| Name | Same corner every time | The product name, not a new slogan |

Four parts. The version, headline and detail can change every release. The product name does not.

Name what the customer can now do, not the internal project. Cove, a fictional shared inbox, would put "Snooze until they write back" on the card, not "Retry backoff shipped".

> **One sentence, then stop** If the detail needs a second sentence, it belongs on the changelog entry. The card keeps the headline.

## Sizes the same card has to survive

Build the master at 1200×630. That is the [link preview size](https://gradiently.design/guide/open-graph-image-size) people see when the changelog URL is shared. Put the version and the headline in the centre, large, with space around them. Some previews crop toward a square, and words parked in a corner get cut.

Make the other frames from that master. [Resizing one design](https://gradiently.design/guide/copy-to-sizes) lays each copy out for its own shape.

- Link preview 1200×630: 1200 × 630
- X post 1600×900: 1600 × 900
- LinkedIn post 1200×1200: 1200 × 1200
- Email header 1200×600: 1200 × 600

Four frames, one card. The link preview is the master. The email header is the short one, so it may only fit the version and the headline. See [email header design](https://gradiently.design/guide/email-header-design).

## One row per release

Write the rows before you set the type. The longest headline decides the size, so design around that line. Export UTF-8 CSV, or TSV when cells contain commas.

```text
version,date,headline,detail
2.4,2026-10-06,Replies find the right inbox,"Shared drafts follow the teammate, not the ticket."
2.5,2026-10-20,Snooze until they write back,"It returns when they reply, not on a timer."
2.6,2026-11-03,Macros that stay in your voice,Saved replies keep your sign-off.
```

Three Cove releases. Cells that contain a comma are wrapped in double quotes. The first row is the headings, and the date stays YYYY-MM-DD even if the card only shows the version.

- One row per release, with the same number of cells in every row.
- One column per field: version, date, headline, detail.
- Keep headlines short enough to stay the largest line at 1200×630, usually no more than eight words.

The first two rows at 1200×630 keep the same corners, type and ground. Only the words change.

A release card at 1200 by 630 for version 2.4, headline Replies find the right inbox, on a gradient ground

Cove 2.4 at 1200×630. The version is the small label. The headline is the largest line, with one detail under it.

The same release card at 1200 by 630 for version 2.5, headline Snooze until they write back

Cove 2.5, same size and same type. Nothing moved except the words from the next row.

## One layout, then a card for every release

In Gradiently the ground is a Mark: colour, light and grain behind every card. It can move its calmest area behind the words and pick light or dark type for each line, so a longer headline stays readable. See [text on a gradient](https://gradiently.design/guide/text-on-gradient). Bulk create, part of Pro, makes one page per row from that master. The full method is in [bulk create from a spreadsheet](https://gradiently.design/guide/bulk-create-from-spreadsheet).

1. **Design the master page** Set the page to 1200×630. Place the version, the headline and the detail, with the headline largest and in the centre. Use the longest headline in the sheet as the placeholder, and leave those three text layers unlocked.
2. **Open Bulk create** Add the CSV or TSV, or paste the rows with the headings on the first line. The file can be up to 1 MB.
3. **Connect the columns** Match version, headline and detail to those text fields. Anything you leave unconnected keeps the words already on the page, which is how the product name stays put.
4. **Review every row** Step through with Previous and Next. Stop on the longest headline, and on any detail that runs into the version label.
5. **Create the pages** Each row becomes a page after the source page, in the same design. Pages you already had stay where they are.
6. **Undo if a row is wrong** One Undo removes the whole batch. Fix the sheet and run it again. The spreadsheet stays in the browser. Only the pages you create are saved.

Export as PNG to get one image per page in a ZIP. [Exporting images](https://gradiently.design/guide/export-images-and-loops) covers formats. A free export is a PNG or JPG at 720p with a small watermark. Pro goes up to 4K with no watermark. The Mark has to be yours: claiming is a one-time payment, and keeping it is yearly unless you have Pro.

## Fix one card without remaking the set

If nothing has been edited since you created the pages, one Undo clears the batch and you run the corrected sheet. If only one headline is wrong, replace those words and leave the other pages. An assistant connected to Gradiently can make that text change with `update_design_text`: find the text element by page or by the headline, and pass its id with the new string. The layout stays. The key must allow reading and writing designs, and an owner or admin creates it in Settings. This does not build the batch.

```json
{
  "id": "design-id",
  "text": {
    "element-id": "Snooze until they write back"
  }
}
```

update_design_text keeps the layout. The id is the design. Each key under text is a text element's id from that design, not a column heading.

Setup for the connection is in [connect an assistant](https://gradiently.design/guide/connect-ai-assistant). Worked asks are in [prompts for designing through an assistant](https://gradiently.design/guide/mcp-prompts-for-design). The tool list itself is on the [MCP developer page](https://gradiently.design/developers/mcp).

## What stays fixed across versions

Keep the ground, the type sizes and the product name fixed. Only the version, the headline and the detail change.

### Avoid

- A new ground colour for every version
- The full list of fixes on the card
- A headline that names an internal project
- Type that shrinks for one long title and stays small
- The product name jumping to a new corner

### Do

- One ground for the whole run of releases
- Version small, headline large, one line of detail
- A headline the customer would actually say
- Type sized for the longest headline in the sheet
- The product name in the same corner every time

The post around the card is one line of news plus the link ([announcement posts](https://gradiently.design/guide/announcement-post-design)). A launch week needs more frames, on this same ground ([launch day graphics](https://gradiently.design/guide/launch-day-graphics)).

> **One address for the release** Point every card at that version's own changelog URL, and use the same address in the post and the email. Three places, one link.

## FAQ

### What size should release notes graphics be?

Use 1200×630 pixels for the link preview that travels with the changelog URL, with the headline large and in the centre. Make the same card at 1600×900 for an X post, 1200×1200 for a LinkedIn post, and 1200×600 for an email header.

### What should a version release card say?

A version, a headline in the customer's words, and at most one line of detail. The product name stays in the same corner every time. The list of fixes belongs on the changelog page, not on the card.

### How do I make a product update graphic for every release?

Design one page, then fill it from a CSV or TSV whose first row is the headings. Review every row, then create the pages. In Gradiently that file can be up to 1 MB, one Undo removes the batch, and the spreadsheet stays in the browser.

### Should the share card match the changelog page?

Yes. Use the same ground, the same product name and the same headline as the entry title. The card is what people see in a chat. The page is where they read what changed.

### Can I fix one card without rebuilding the set?

Yes. Undo the batch and run a corrected sheet, or replace the words on that one page. update_design_text does the second job: it keeps the layout and only changes the text elements you name by id.
