# What changed in css-what

> 21 changes in css-what 4 to 8 from its official release notes, upgrade guides and advisories: 9 breaking, 1 security, 5 new APIs and options. Each one cited. Sources checked 2026-10-23. HTML: https://unstale.sh/npm/css-what/

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

## css-what 8

### Breaking changes

- css-what is now ESM-only, so developers must use it as an ES module. (8.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v8.0.0)

## css-what 6

### Breaking changes

- Actions were made enums. (6.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v6.0.0)
- An empty namespace in attributes is now set to null. (6.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v6.0.0)
- All options were removed. (6.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v6.0.0)
- Tags and attributes are no longer lowercased. (6.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v6.0.0)

### Security

- Leading whitespace encapsulated in comments is stripped, preventing it from being used to sneak in descendant operators before selectors. (6.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v6.0.0)

### New APIs and options

- An ES6 module export was added; CommonJS remains available for earlier NodeJS versions, but the change might cause build-system issues. (6.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v6.0.0)
- Added the value 'quirks', which ignores case only in quirks mode. (6.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v6.0.0)

### Behavior and default changes

- Parsing column combinators is now supported. (6.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v6.0.0)
- Selector types were made enums. (6.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v6.0.0)
- Stringify output was simplified. (6.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v6.0.0)

## css-what 5

### Breaking changes

- Attribute case sensitivity now follows HTML-spec defaults and respects the s flag, except in xmlMode. (5.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v5.0.0)

### New APIs and options

- Attribute selectors support the s identifier. (5.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v5.0.0)

### Fixes and other changes

- A space is allowed after an attribute selector modifier. (5.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v5.0.0)
- Comments around selectors are ignored. (5.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v5.0.0)
- Corrects handling of an elemental selector without a namespace. (5.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v5.0.0)

## css-what 4

### Breaking changes

- Encountering multiple traversals in a row now throws an error. (4.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v4.0.0)
- Names starting with # are no longer allowed. (4.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v4.0.0)
- Quoted unpacked pseudos are no longer allowed. (4.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v4.0.0)

### New APIs and options

- A new isTraversal function was added. (4.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v4.0.0)
- Support for namespaces was added. (4.0.0) — [release notes](https://github.com/fb55/css-what/releases/tag/v4.0.0)
