# What changed in @terrazzo/plugin-css

> 27 changes in @terrazzo/plugin-css 2 from its official release notes, upgrade guides and advisories: 4 breaking, 3 deprecations, 7 new APIs and options. Each one cited. Sources checked 2026-10-20. HTML: https://unstale.sh/npm/@terrazzo/plugin-css/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @terrazzo/plugin-css 2

### Breaking changes

- @terrazzo/plugin-css now inherits alphabetize from options, a minor breaking change. (2.3.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.3.0)
- Lint plugins must use the merged `sources` array instead of the per-file `src` context value. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.0)
- Lint plugins no longer receive lint context per individual file; plugins using `src` must instead read from `sources` and look up files by token source location. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.0)
- May be undefined for tokens created with `$ref`, so plugins using this value must account for its absence. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.0)

### Deprecations

- Marked deprecated for removal in 3.0; migrate to permutations. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.0)
- Marked deprecated for removal in 3.0; migrate to permutations. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.0)
- Marked deprecated for removal in 3.0; migrate to permutations. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.0)

### New APIs and options

- The resolver API adds orthogonality detection, except for $extends. (2.4.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.4.0)
- Added the omitTypographyShorthand option. (2.2.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.2.0)
- Added the subValueVariableName option. (2.2.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.2.0)
- Provides the functionality of the deprecated options and more, and is the recommended migration target. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.0)
- Support was added for the Token Listing format. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.0)
- Typography shorthand support was added. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.0)
- Configuration now allows partial utility CSS groups. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.0)

### Behavior and default changes

- Shadow token types and CSS processing now allow lists of aliases. (2.9.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.9.0)
- Validation moved to lint rules, allowing token validation to be configured individually and optionally extended. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.0)

### Fixes and other changes

- Fixes sibling-token aliases emitting a variable that reads itself and silently dropping the sibling’s real value. (2.9.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.9.0)
- Zero-valued dimension tokens preserve their units instead of serializing as bare 0, keeping values such as 0px and 0rem type-compatible in CSS math functions like calc(). (2.3.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.3.0)
- Improves handling of aliases when the primitive or primary has a token but the aliases do not, preventing tokens from being dropped. (2.0.3) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.3)
- Fixes legacy modeSelectors resolving to the default alias instead of the requested mode. (2.0.2) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.2)
- Fixes a runtime error when $extensions does not have a mode object. (2.0.1) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.1)
- Fixed border tokens not cascading correctly across modes. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.0)
- Utility class generation now includes missing logical property directions. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.0)
- Fixed stale descriptions when multiple CSS plugins are used. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.0)
- CSS generation for extended typography properties was improved. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.0)
- The TypeScript type now permits `undefined` or `null` return values. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.0)
- Transforms from a previous plugin-css run are no longer cached, preventing correct or unexpected output from stale cached transforms. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/plugin-css%402.0.0)
