DESIGN.md Changelog

About this changelog

This is the release history of the DESIGN.md format's official tooling: @google/design.md, the Apache-2.0 CLI and linter that Google Labs maintains as the reference implementation of the DESIGN.md format. It tracks the linter, exporters, and spec changes, not this website. Dates and changes are taken from the project's public GitHub releases. The format version is still alpha, so expect the spec and CLI to keep moving.

md-design.io is an independent viewer for the format and is not affiliated with Google. New to DESIGN.md? Start with what DESIGN.md is.

  1. v0.4.0current

    July 27, 2026

    Added

    • The optional omitted frontmatter key lists token groups a file leaves out on purpose (colors, typography, spacing, rounded, components), as plain names or with a reason, and silences the matching missing-section warnings. See the omitted key.
    • Two new lint rules, eleven in total: token-like-ignored warns when an unknown top-level key holds token-like values that export would drop, and omitted-rules validates the omitted list.
    • export --format css-vars writes CSS custom properties for colors, spacing, and rounded tokens in a :root block, with an optional --prefix.
    • The linter warns on unrecognized typography sub-properties and reports collisions between flattened dot-notation keys and nested token groups. JSON findings now name the rule that produced them in a rule field.

    Fixed

    • A missing or unreadable file now prints a one-line error and exits with code 2 instead of throwing a stack trace.
    • Successful exports always exit 0, independent of lint findings in the source file. css-tailwind output ends with exactly one trailing newline, and line breaks in font family names are escaped in Tailwind v4 exports.
    • Reading from stdin in an interactive terminal prints a usage hint instead of waiting silently, and spec works again from npm installs.
    • grad angle units parse correctly, color-mix() requires explicit percentage weights, and token validation is bounded on adversarial input.

    Docs

    • The README now documents eleven active rules, and the package declares Node 18 or newer.
  2. v0.3.0

    June 15, 2026

    Added

    • Unknown top-level key warnings: the linter now flags frontmatter keys it does not recognize (the unknown-key rule).
    • Nested token support. Colors, spacing, and rounded tokens can nest to arbitrary depth and are referenced with dot-separated paths (for example {colors.brand.primary}).

    Fixed

    • Nested token declarations, non-string YAML values (such as unit: 8), and boolean scalars in component properties no longer crash the linter.
    • lint --format markdown now renders the report correctly, and the Tailwind v4 export handles digit-prefixed token names.

    Docs

    • Added a PHILOSOPHY.md describing the intent behind the format.
  3. v0.2.0

    May 26, 2026

    Added

    • Tailwind CSS v4 export: --format css-tailwind emits a CSS @theme block using Tailwind v4 token namespaces.
    • CSS Color Module format support in the validator and linter.
    • The diff command now includes component-level changes that were previously skipped.

    Changed

    • Export formats renamed for clarity: css-tailwind (Tailwind v4 CSS), json-tailwind (Tailwind v3 JSON), with tailwind preserved as an alias for json-tailwind.

    Fixed

    • Orphaned-token false positives for paired tokens (such as on-primary) when a sibling token is in use.
    • Numeric component properties (like fontWeight: 600), 8-digit hex colors with alpha, and token references inside rounded and spacing now resolve correctly.
  4. v0.1.1

    April 21, 2026

    Docs

    • Documentation patch: corrected command references to the export command and documented Tailwind and DTCG export.
  5. v0.1.0

    April 21, 2026

    Added

    • Initial open-source release under Apache-2.0: the design-system linter (validates a DESIGN.md against the spec, catching unresolved references and invalid token values), a spec generator, and agent-first JSON output.