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.