# What changed in @terrazzo/parser

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

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

## @terrazzo/parser 2

### Breaking changes

- plugin-css now inherits alphabetize from options, a minor breaking change. (2.3.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.3.0)
- The listPermutations API is no longer provided for complex resolvers. (2.2.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.2.0)
- These token types now have stricter requirements that all properties be present; each behavior can be opted out of through lint rules. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.0.0)
- build() and buildEnd() plugin hooks now execute in parallel; other hooks remain sequential. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.0.0)
- DTCG 2nd Editors draft format now errors by default; colors and dimensions must use the new object format, and typography requires its minimum properties. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.0.0)
- Plugin lint now runs once on the merged full set instead of on individual files; plugins using src must read from sources instead. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.0.0)
- The transform API receives a Momoa node first and a context object second, and must return a Momoa node rather than raw JSON. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.0.0)

### Deprecations

- Soft-deprecated in favor of core/valid-typography. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.0.0)

### New APIs and options

- Add the resolveAliases option; setting it to false allows partial application of input using the sets and modifiers options. (2.5.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.5.0)
- The resolver API adds orthogonality detection, except for $extends. (2.4.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.4.0)
- A dependency-free package is used for generated JS plugin declarations so published token packages do not require consumers to install @terrazzo/parser. (2.4.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.4.0)
- Adds full support for the DTCG v2025.10 spec, including resolvers. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.0.0)
- Adds first-class support for local and remote JSON references; DTCG aliases are transformed to JSON $refs and are interchangeable. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.0.0)
- Adds support for the Token Listing format. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.0.0)
- Adds typography shorthand support. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%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/parser%402.9.0)
- Validation is handled by lint rules, so token validation can be configured individually and optionally extended. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.0.0)
- May be undefined for tokens created with $ref. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.0.0)

### Fixes and other changes

- Improves token aliases when the primitive or primary has a token but aliases do not, preventing tokens from being dropped in all plugins. (2.0.3) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.0.3)
- In legacy mode, modeSelectors now resolves to the requested mode instead of the default alias. (2.0.2) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%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/parser%402.0.1)
- Fixes cases where border tokens’ partial aliases referred to themselves. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.0.0)
- Fixes border tokens not cascading correctly across modes. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.0.0)
- Adds the missing $deprecated property to group types. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.0.0)
- Improves CSS generation for extended typography properties. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.0.0)
- Fixes unused-rule warnings for rules that are turned off. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.0.0)
- Fixes strokeStyle partialAliasOf. (2.0.0) — [release notes](https://github.com/terrazzoapp/terrazzo/releases/tag/%40terrazzo/parser%402.0.0)
