NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2899 most downloaded on npm
CSS selectors parser
Last release 9 months ago
22 Dec 2025
Ships unpredictably
gaps range from 2 weeks to 2.7 years
Nearly every release is documented
notes for 12 of 12 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
12 releases · first in 2021
One column per quarter.
fix minor issue in package.json related to types. Unlikely to affect modern usage.
package.json related to types. Unlikely to affect modern usage.added simple pseudo-classes support - any pseudo-class with no arguments is now supported;
:is(), :where(), :not();normalize() now accepts an options object (NormalizeOptions);
mode: 'html' | 'xml' controls case-folding for element (tag) names, attribute names, and namespace prefixes (HTML mode lowercases; XML mode preserves case);attributesWithNormalizedValues enables canonicalization of attribute values:
i, its value is lowercased;null), the value is lowercased only for configured attribute names;i or s) for stable, comparable output; this can be disabled with allowUnspecifiedCaseSensitivityForAttributes.Possibly breaking changes:
normalize() output might differ for some selectors;parse() now supports more selectors - will return an AST instead of throwing an error for them.runtime check for input of parse and parse1 to be a string.
parse and parse1 to be a string.support for escape sequences according to specifications (#97).
support for escape sequences according to specifications (#97).
Now follows https://www.w3.org/TR/selectors-3/#lex for parsing and https://w3c.github.io/csswg-drafts/cssom/#common-serializing-idioms for serializing.
Possibly breaking changes:
" character were serialized as single-quoted previously, now all strings serialized as double-quoted, per spec suggestion.targeting Node.js version 14 and ES2020;
bump dependencies - fix "./core module cannot be found" issue.
remove terser, use only rollup-plugin-cleanup to condition published files.
rollup-plugin-cleanup to condition published files.replaced moo and nearley with my leac and peberminta packages. Now parseley with all dependencies are TypeScript, dual CommonJS/ES module packages;
moo and nearley with my leac and peberminta packages. Now parseley with all dependencies are TypeScript, dual CommonJS/ES module packages;denoify.drop Node.js version 10 support. 12.22.x is required;
added type definitions for AST;
sort() to normalize() in order to better reflect what it does;compareArrays() with compareSpecificity() and compareSelectors() - more sensible API;added sort() and compareArrays() functions.
sort() and compareArrays() functions.Aiming at Node.js version 10 and up.
Initial release.
Aiming at Node.js version 10 and up.
Your coding agent can read these notes before it upgrades. Set up the MCP server →