# Change

object type

One shipped change, in the merchant's words (🆕 — THE CHANGES TAB): what changed and why it matters, the surfaces it touched, the role templates it names, and the office door when one exists. Off the platform's bundled release table — nothing stored, nothing tenant-specific; every signed-in person reads the same rows (the office's What's new tab shows them).

## Fields

| Field | Type | Notes |
| --- | --- | --- |
| `key` | [String](/types/#scalars) `String!` | The row's key — <tag>-<n> (e.g. -1); a page cursor names the last key it returned. |
| `tag` | [String](/types/#scalars) `String!` | The wave that shipped it (e.g.). |
| `date` | [String](/types/#scalars) `String!` | The UTC day it shipped — YYYY-MM-DD. |
| `title` | [String](/types/#scalars) `String!` | What changed — at most 90 characters, plain words. |
| `summary` | [String](/types/#scalars) `String!` | Why it matters — at most 300 characters, the merchant's voice. |
| `surfaces` | [String](/types/#scalars) `[String!]!` | The surfaces touched — engine · cli · office · pos · www · assistants · plugins. |
| `templates` | [String](/types/#scalars) `[String!]!` | The role templates the change names (the people a release notice tells); empty = named to no one in particular — the tab shows every row to everyone. |
| `doorPath` | [String](/types/#scalars) | An office path to open when the change has a door; null otherwise. |
| `doorWords` | [String](/types/#scalars) | The door's words (“open What's new”); null without a door. |
| `record` | [String](/types/#scalars) | A link to the record of the change when one is given; null otherwise. |
