npm / css-what
css-what
What changed in css-what 4 to 8, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-23.
9 breaking1 security5 new APIs and options3 behavior and defaults3 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initcss-what 81 changes
Breaking changes 1
css-what is now ESM-only, so developers must use it as an ES module.
css-what 610 changes
Breaking changes 4
Actions were made enums.
An empty namespace in attributes is now set to null.
All options were removed.
Tags and attributes are no longer lowercased.
Security 1
Leading whitespace encapsulated in comments is stripped, preventing it from being used to sneak in descendant operators before selectors.
New APIs and options 2
An ES6 module export was added; CommonJS remains available for earlier NodeJS versions, but the change might cause build-system issues.
Added the value 'quirks', which ignores case only in quirks mode.
Behavior and default changes 3
Parsing column combinators is now supported.
Selector types were made enums.
Stringify output was simplified.
css-what 55 changes
Breaking changes 1
Attribute case sensitivity now follows HTML-spec defaults and respects the s flag, except in xmlMode.
New APIs and options 1
Attribute selectors support the s identifier.
Fixes and other changes 3
A space is allowed after an attribute selector modifier.
Comments around selectors are ignored.
Corrects handling of an elemental selector without a namespace.
css-what 45 changes
Breaking changes 3
Encountering multiple traversals in a row now throws an error.
Names starting with # are no longer allowed.
Quoted unpacked pseudos are no longer allowed.
New APIs and options 2
A new isTraversal function was added.
Support for namespaces was added.