--- name: write-changelog description: Write Simple Table changelog entries and bump package versions. Use when adding a changelog version, writing release notes, upgrading package versions, or when the user mentions changelog, CHANGELOG, or a new release. --- # Write Simple Table changelogs Changelogs should be plain english, no jargon, concise and should assume little knowledge from the reader. ## Where it lives - Entries: `apps/marketing/src/constants/changelog.ts` - Versions (keep all six in lockstep): `packages/core`, `packages/react`, `packages/vue`, `packages/solid`, `packages/svelte`, `packages/angular` — `package.json` `"version"` only - Examples use `workspace:*`; do not bump them The changelog page shows **version, date, and the `changes` bullets**. Still fill in `title` and `description`; they are part of the entry. ## Workflow 1. Read the latest entry and `CHANGELOG_ENTRIES` at the bottom of `changelog.ts`. 2. Choose the next version. Default to the next **patch** (for example 4.1.6 → 4.1.7) unless the user names a version. 3. Add `export const vX_Y_Z` immediately after the `ChangelogEntry` type (newest entries stay at the top of the file). 4. Put `vX_Y_Z` first in `CHANGELOG_ENTRIES`. 5. Set `date` to today (`YYYY-MM-DD`). 6. Bump the six package versions to match. 7. Do not invent changes. Only describe what this release actually ships. ## Voice Write for someone who uses the table, not someone who maintains it. - Short sentences. Everyday words. - Say what the user can do, or what stopped going wrong. - One idea per bullet. - The page already prefixes each bullet with New, Improved, Fix, or Breaking. Do not start the description with those words. - Prop names are fine when the user sets them (`columnReordering`, `enablePivotPanel`). - Link a docs page when the change has one. Do not mention internals: FLIP, WAAPI, compositor, rAF, invert, hold, retarget, virtualization windows, cache hashes, Storybook, or file names. ## Shape ```ts export const v4_1_7: ChangelogEntry = { version: "4.1.7", date: "2026-08-16", title: "Short name for the release", description: "One sentence: what changed for the person using the table.", changes: [ { type: "improvement", // "feature" | "improvement" | "bugfix" | "breaking" description: "What the user sees or can do now.", link: "/docs/column-reordering", // optional }, ], }; ``` Pick `type` from the user's point of view: new thing they can turn on (`feature`), existing thing that works better (`improvement`), something that was wrong (`bugfix`), something they must change in their app (`breaking`). ## Good From 4.1.6: > You can now build a pivot from the column editor side panel, and multiple row fields show as normal rows instead of nested expand groups. > If you put more than one field in Rows (for example Quarter and Product), the table shows a full row for each pair, not a collapsed group you have to expand. ## Bad From 4.1.2 (too much internals): > `@simple-table/angular` now builds with ng-packagr (Angular Package Format / partial Ivy). Standalone apps can import SimpleTableComponent without TS-992012. Rewrite that as: Angular apps can import the table without a compiler error about standalone components.