Skip to content

Resources

Changelog

Current: 2.4.0

Entries name the components and tokens they affect, so you can tell whether a release concerns you without reading a diff.

Versioning

The system follows semantic versioning. A major release removes or renames something; a minor adds; a patch fixes. Deprecations ship one minor release ahead of removal at the earliest, and always with a migration path.

2.4.0Permalink to this section

Command menu, the table toolbar pattern, and a stricter reduced-motion implementation.

Current
  • AddedCommand menu with ⌘K / Ctrl+K, grouped results and locally stored recent pages.
  • AddedTable toolbar pattern, covering selection mode and bulk actions.
  • AddedEmptyState component, with guidance for the four kinds of empty screen.
  • ChangedReduced motion now removes transforms outright rather than shortening durations. Opacity and colour transitions are preserved.
  • ChangedTooltip delay raised from 200ms to 320ms, so passing over a toolbar no longer flashes tips.
  • FixedSelect trigger no longer grows past its column when an option label is long; it truncates instead.
  • FixedDialog footer buttons stack in the correct order below 640px, with the confirming action on top.

2.3.0Permalink to this section

Component token layer, and the beginning of dark-theme groundwork.

  • AddedComponent token layer, with documented override points for Button, Input, Card, Dialog and Tooltip.
  • Added--surface-sunken semantic token for inset regions.
  • ChangedAll components migrated from semantic tokens to their component tokens where one exists.
  • ChangedTailwind theme moved to @theme inline, so utilities resolve variables at the point of use.
  • Deprecated--accent renamed to --interactive-accent. The old name still resolves and will be removed in 3.0.

2.2.0Permalink to this section

Dropdown Menu, Tooltip and the icon-button accessibility contract.

  • AddedDropdown Menu, with checkbox items, radio groups, submenus and shortcut hints.
  • AddedTooltip, opening on focus as well as hover and dismissible with Escape.
  • ChangedIconButton's label prop is now required at the type level. Icon-only controls cannot ship without an accessible name.
  • FixedFocus returns to the trigger when a dropdown is closed with Escape rather than by selection.

2.1.0Permalink to this section

Form field wiring, and the validation-timing guidance.

  • AddedFormField, which assembles the aria-describedby chain from the label, description and message.
  • AddedTextarea character counter, announced only in the last 10% of the limit.
  • ChangedInput, Textarea and Select share one focus treatment: a brand border plus a 3px ring.
  • FixedRead-only inputs stay focusable, so their value can be read and copied by keyboard.

2.0.0Permalink to this section

The three-layer token architecture. A breaking release, with a codemod.

Breaking
  • AddedPrimitive, semantic and component token layers, published as CSS custom properties.
  • AddedMotion tokens as both CSS custom properties and TypeScript constants.
  • ChangedEvery component now reads semantic tokens. No component references a colour value directly.
  • RemovedThe flat colour palette export. Replaced by the token layers; a codemod is provided.
  • RemovedThe theme prop on Button and Card. Use component token overrides instead.

1.4.0Permalink to this section

Tabs, Switch and Avatar.

  • AddedTabs, implementing the WAI-ARIA tabs pattern with roving focus.
  • AddedSwitch, for settings that commit immediately.
  • AddedAvatar and AvatarGroup, with an initials fallback and presence indicators.
  • ChangedBadge gained the dot prop, always alongside a text label.