Skip to content

Changelog

What's landed in each release of the design-system packages. The feed below is derived from git history at build time via build-changelog.ts — every commit touching packages/tokens, packages/components, packages/brand, or apps/design is classified by conventional-commit prefix (feat: → Added, fix: → Fixed, refactor:/perf:/chore: → Changed, docs: → Docs) and grouped by release.

Breaking changes appear with a left rail, a BREAKING — prefix, and a tonal background. They're detected from ! in the commit prefix or BREAKING CHANGE: in the body.

Subscribing programmatically

Agents and downstream consumers should pin against the version field in /design-system.json. When the version changes, fetch the changelog page (or the underlying apps/design/.generated/changelog.json) to enumerate the deltas.

curl -s https://design.mattermode.com/design-system.json | jq '.version'
# → "2.3.0"

Humans (and feed readers) can subscribe to the RSS feed to track releases without polling.

Release feed

No releases yet. The changelog populates from git history via bun run --filter design generate:changelog.

Conventions

We follow Conventional Commits in subject lines:

PrefixMeaningMaps to
feat: / feature: / add:New capabilityAdded
fix:Bug fixFixed
refactor: / perf: / chore:No external behaviour changeChanged
deprecate:Marked for removal in a future releaseDeprecated
remove:Removed in this releaseRemoved
docs:Documentation-only changeDocs
<prefix>!: or BREAKING CHANGE: in bodyBreaking changeTagged regardless of prefix

Scopes (feat(tokens):, fix(components):) are extracted into the per-row package badge.

How a version gets cut

Today the design system rolls one release per packages/tokens/package.json#version bump. The bump is a deliberate act:

  1. A maintainer reviews the diff since the last cut.
  2. Tokens / components / brand bumps happen together (the three packages release as a unit so consumers stay in sync).
  3. The version field in packages/tokens/package.json bumps via semver (major for breaking, minor for additive, patch for fixes).
  4. The deterministic timestamp in design-system.json#generated_at records the moment.

The governance page covers the proposal → review → bump workflow in more detail.

On this page