Design System Changelog
This document tracks changes to the design system — the token sources in tokens/ (base.json, semantic.json), the generated tokens/dist/tokens.css, and the theme mechanism. The authoritative record for the current token model is ADR-047; this page is the short history.
2026-10-12 - Design system v2.2: tint and accent roles
Section titled “2026-10-12 - Design system v2.2: tint and accent roles”- Five role tokens that replace hand-written light/dark pairs:
tint/tintForeground(violet),tintSecondary/tintSecondaryForeground(rose), andaccent(icons and rule borders). Utilities:bg-tint text-tint-foreground,bg-tint-secondary text-tint-secondary-foreground,text-accent,border-accent. Recorded as the v2.2 amendment to ADR-047. Badgehas asolidvariant for high-emphasis markers such as “New”.
Changed
Section titled “Changed”- No
dark:utility remains insrc/markup; a unit test guards it. BlockquoteusessurfaceAccent. Contact-page icon chips usetintForeground. Homepage tech-category badges are rose in both themes (they were violet in dark).dark:prose-invertremoved from the blog and ADR prose containers;.prosealready reads role tokens.
2026-06-07 - Design system v2.1 tokens
Section titled “2026-06-07 - Design system v2.1 tokens”Changed
Section titled “Changed”successmoved to a dedicated green family (green-700light /green-400dark); a fullgreen50–950 scale was added totokens/base.json. Recorded as the v2.1 amendment to ADR-047.- Motion system applied across the site using the
--motion-duration-*/--motion-ease-*tokens (exposed as Tailwindduration-*/ease-*utilities via@theme inline). - Typography moved to the Astro Fonts API (ADR-053):
--font-display/--font-textinglobal.cssnow resolve to the Fonts API variables (--font-geist,--font-inter). ThefontFamilytoken group intokens/base.jsonand the generated--font-family-*variables still document the intended stack but no longer drive rendering.
- Two surface tiers:
surfaceRaised(cards and popovers abovesurface) andsurfaceAccent(violet-tinted emphasis panels).
2026-06-06 - Design tokens v2: role-based semantic naming
Section titled “2026-06-06 - Design tokens v2: role-based semantic naming”Changed
Section titled “Changed”- Semantic layer renamed to role-based tokens (
background,surface,foreground,mutedForeground,border,borderEmphasis,link, single-tokensuccess/warning/error), replacing the tieredbackground.primary/foreground.secondaryshape. Components were migrated with a scoped codemod; the utility rename map is in ADR-047. - Base palettes renamed:
gray→slate,moonstone→violet,imperialRed→rose,orangeWeb→amber. - Dark-first default: with no stored preference the site renders dark;
prefers-color-schemeno longer drives the default (amendment to ADR-032).
motiontoken group (duration.fast/base/slow,ease.in/out/inOut) intokens/base.json.fontFamilytoken group so typography is swappable like colour.
2026-04-12 - Dark mode contrast
Section titled “2026-04-12 - Dark mode contrast”Changed
Section titled “Changed”- Improved dark-mode contrast for cards and badges.
2026-03-27 - White / charcoal colour scheme
Section titled “2026-03-27 - White / charcoal colour scheme”Changed
Section titled “Changed”- Light theme moved to a white / charcoal scheme with improved contrast (the pre-v2 naming; superseded by the role-based tokens above).
2025-09-30 - --color- prefix convention
Section titled “2025-09-30 - --color- prefix convention”Changed
Section titled “Changed”- All generated colour variables gained a consistent
--color-prefix (base and semantic alike). The prefix convention still holds; the token names from this era were replaced by the v2 rename above.
Removed
Section titled “Removed”- An unused base colour that no semantic token referenced.
For how to consume and extend the tokens, see Using Design Tokens.