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.
v0.4.0current
July 27, 2026Added
- The optional
omittedfrontmatter 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-ignoredwarns when an unknown top-level key holds token-like values that export would drop, andomitted-rulesvalidates theomittedlist. export --format css-varswrites CSS custom properties for colors, spacing, and rounded tokens in a:rootblock, 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
rulefield.
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-tailwindoutput 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
specworks again from npm installs. gradangle 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.
- The optional
v0.3.0
June 15, 2026Added
- Unknown top-level key warnings: the linter now flags frontmatter keys it does not recognize (the
unknown-keyrule). - 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 markdownnow 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.
- Unknown top-level key warnings: the linter now flags frontmatter keys it does not recognize (the
v0.2.0
May 26, 2026Added
- Tailwind CSS v4 export:
--format css-tailwindemits a CSS@themeblock using Tailwind v4 token namespaces. - CSS Color Module format support in the validator and linter.
- The
diffcommand 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), withtailwindpreserved as an alias forjson-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 insideroundedandspacingnow resolve correctly.
- Tailwind CSS v4 export:
v0.1.1
April 21, 2026Docs
- Documentation patch: corrected command references to the
exportcommand and documented Tailwind and DTCG export.
- Documentation patch: corrected command references to the
v0.1.0
April 21, 2026Added
- 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.