Changelog

Version history for emilyCSS. Older entries at the bottom.

v2.0.2May 2026

Current stable release

Changed

  • ~Stability and packaging release. Recommended baseline for all new projects.
v2.0.1May 2026

Post-release patch

Changed

  • ~Minor fixes following the v2.0.0 release.
v2.0.0majorMay 2026

The Legitimacy Release

Added

  • +Pattern layer — composite layout patterns in `@layer components` so utilities always win in the cascade. Includes: `.stack-sm/lg/xl`, `.cluster-start/between/end`, `.sidebar`, `.switcher`, `.cover`, `.center`, `.grid-auto/sm/lg`, `.equal-columns`, `.media-object`, `.inline-list`, `.content`, `.content-wide`, `.section/sm/lg`, `.form-row`, `.form-actions`, `.button-group`, `.focus-ring-strong`, `.target-size`.
  • +`extend.utilities` config key — custom utility escape hatch. Define your own utility classes in config; they are generated into `@layer utilities` with full responsive and state variant support.
  • +Corner style prompt in `emily-css init`. Choose Square (`0`), Subtle (`4px`), or Rounded (`8px`). Sets `--radius-base` token used by all component patterns.
  • +`.prose` is now the full prose implementation. `.prose-emily` kept as a backwards-compatible alias.

Changed

  • ~All pattern composite classes moved from `src/index.js` to `src/generators/patterns.js`.
  • ~Config validation expanded to catch unknown top-level keys, invalid types, and malformed `extend.utilities` entries.

Breaking changes

  • !`formBase` is now opt-in. Bare element form styles (`input`, `select`, `textarea`, `fieldset`) are no longer applied by default. Add `"formBase": true` to emily.config.json to restore them.
  • !Focus ring tokens are now required for consistent button focus styles. `.btn-*` variants read from `--focus-ring-color` and `--focus-ring-glow`. Add these to your config or override in your own styles.
  • !`touch-target` minimum updated to 44px (previously 24px).
  • !Manifest schema bumped to v2. Per-class metadata now includes `layer`, `responsive`, `states`, and `pseudo` fields. Tooling consuming the v1 manifest shape will need updating.
v1.3.0minorMay 2026

ARIA variants, data-state variants, and info command

Added

  • +`aria-checked:` variant prefix, completing the ARIA variant set alongside `aria-expanded:`, `aria-selected:`, `aria-current:`, and `aria-disabled:`.
  • +Data-state variants: `data-checked:`, `data-unchecked:`, `data-active:`, and `data-inactive:` targeting `[data-state="*"]` selectors. Works with Radix UI, Headless UI, and similar headless component libraries.
  • +`emily-css info` command — shows a project overview without triggering a build: version, framework detection, output paths, CSS file sizes, source globs, and colour/font summary.
  • +`emily-css doctor --strict-contrast` flag — checks configured brand colour shades against standard backgrounds using the WCAG relative luminance formula. Flags pairings below 4.5:1.
v1.2.16minorMay 2026

Uninstall command

Added

  • +`emily-css uninstall` — removes EmilyCSS config, generated assets, and package scripts for clean project rollback. Supports `--yes` (no confirmation) and `--dry-run` (preview without changes) flags.
v1.2.14minorMay 2026

Init improvements — fonts, existing config, automation flags

Added

  • +`init` supports `--fresh`, `--use-existing`, `--skip-font-install`, and `--yes` flags.
  • +Optional `@fontsource` package install during `init` with framework-specific import guidance for Nuxt, Next, React, Vue, and Astro.
  • +Figtree added to supported font family list.

Changed

  • ~When an existing `emily.config.json` is detected, `init` asks whether to reuse existing values or start fresh.
  • ~`init` detects package manager (npm, pnpm, yarn, bun) and uses the matching install command for optional font setup.
v1.2.10minorMay 2026

Config validation and CI

Added

  • +Config validation on build — catches unknown top-level keys and invalid types before generating output.
  • +GitHub Actions CI workflow.
  • +Randomised E2E config fuzzing test suite.
v1.2.8minorMay 2026

Purge safelist and expanded utility coverage

Added

  • +Purge safelist support — classes listed in config are never stripped from production output.
  • +Negative margin utilities (`-m-*`, `-mx-*`, `-my-*`, `-mt-*`, `-mr-*`, `-mb-*`, `-ml-*`).
  • +Additional layout utilities: `box-border`, `box-content`, `justify-items-*`, `justify-self-*`, `max-h-none`.
  • +Font weight completion: `font-thin`, `font-extralight`, `font-extrabold`, `font-black`.
  • +`transition-all`, `transition-shadow`, `scale-x-*`, `scale-y-*`, full overscroll set, `bg-gradient-to-*`.
v1.2.4minorMay 2026

`emily-css manifest` CLI command

Added

  • +`emily-css manifest` as a standalone CLI command. Previously the manifest only generated as a side effect of other commands.

Changed

  • ~Shared config and path helpers extracted to `src/config.js`.
  • ~Purge file discovery switched to `fast-glob`.
  • ~Node engine requirement updated to `>=18.0.0`.
v1.2.3May 2026

Stability baseline

Changed

  • ~Stability and packaging release.
v1.2.2minorMay 2026

Manifest tooling and build profiling

Added

  • +IntelliSense JSON generation via config output.
  • +Build profiling mode with coarse timing buckets (`emily-css build --profile`).
  • +Additional accessibility warnings in `emily-css doctor`.

Changed

  • ~Manifest schema metadata stabilised for downstream tooling use.
  • ~Class extraction for purge and tooling scans made more robust.
v1.2.1May 2026

Internal generator refactor

Changed

  • ~Utility generators split into smaller modules while keeping compatibility shims.
  • ~Watch mode handling for purge ignore rules improved.
v1.2.0minorMay 2026

Migration report tooling

Added

  • +Report-only Tailwind-to-EmilyCSS migration command (`emily-css migrate`).
  • +Imported palette analysis mode (`--import-colours`).
  • +Arbitrary value class detection in migration reports.

Breaking changes

  • !Migration is analysis-only. Source files are not modified.
v1.1.1minorMay 2026

Manifest output introduced

Added

  • +Utility manifest generation for tooling, audits, and downstream integrations.
v1.1.0minorMay 2026

Doctor command and variant-aware checks

Added

  • +`emily-css doctor` command for unknown class and variant detection.
  • +Variant-aware validation across responsive, state, and accessibility prefixes.
v1.0.0majorApril 2026

Initial stable release

Added

  • +Token-driven utility generation from `emily.config.json`.
  • +OKLCH colour scale generation — one hex in, 10-shade scale out.
  • +Responsive and state variants for all generated utility classes.
  • +Accessible base utilities and common component patterns.
  • +Purge system, watch mode, showcase server, and full CLI.