NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4797 most downloaded on npm
lezer-based CSS grammar
Last release 12 days ago
22 Sep 2026
Release timing varies
gaps range from 5 weeks to 7 months
Nearly every release is documented
notes for 29 of 29 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
29 releases · first in 2021
One column per quarter.
Allow ID selectors that would be valid hex colors (or start with valid colors).
Allow ID selectors that would be valid hex colors (or start with valid colors).
Parse names with three or more leading dashes as variable names.
Parse names with three or more leading dashes as variable names.
Fix spelling mistake in node name ('ProperyName').
Fix spelling mistake in node name ('ProperyName').
Emit tokens for property names in style features.
Emit tokens for property names in style features.
Allow calls as arguments to style query comparisons.
Improve parsing of style() queries.
Improve parsing of style() queries.
Allow namespaced selectors without namespace or with *.
Allow namespaced selectors without namespace or with *.
Parse namespaced attributes in attribute selectors.
Properly parse @page rules with pseudo-class page selectors.
Properly parse @page rules with pseudo-class page selectors.
Fix parsing of @font-feature-values with multi-word font names.
Properly parse @ rules that put multiple queries next to each other without separating comma, such as @container.
Parse selectors with | namespace prefixes.
Properly parse i and s flags in attribute selectors.
Properly parse !important notation as two separate tokens.
Fix parsing of blocks after nested pseudo-class selectors.
Fix parsing of blocks after nested pseudo-class selectors.
Values wrapped in brackets can now contain more types of tokens.
Values wrapped in brackets can now contain more types of tokens.
Properly support hex escapes in identifiers.
Support variable names as callees in call expressions.
Add support for @scope syntax.
Add support for if notation.
Fix parsing of * selectors in descendant positions.
Fix parsing of * selectors in descendant positions.
Allow @ keywords to start with a dash, since prefixed ones exist.
Allow @ keywords to start with a dash, since prefixed ones exist.
Bump the dependency on @lezer/lr to a version that supports local token groups. Also bump @lezer/generator dependency
Add support for range queries.
@import statements now support layer syntax.
Support relative versions of the +, >, and ~ selectors, which omit the left-hand selector. Allow @-keywords to start with a dash
Accept trailing commas in argument lists.
Accept trailing commas in argument lists.
Emit a node for class selector dots.
Emit a node for class selector dots.
Allow url() values to be empty.
Allow url() values to be empty.
Don't generate a parse error when declarations don't have a value.
Follow the standard, allowing digits in unit identifiers.
Follow the standard, allowing digits in unit identifiers.
Correctly parse properties with a space before the colon.
Correctly parse properties with a space before the colon.
Add support for bracketed grid line names.
Add support for bracketed grid line names.
Tag comments and strings as isolating for the purpose of bidirectional text.
Tag comments and strings as isolating for the purpose of bidirectional text.
Fix parsing of & selectors in descendant selectors.
Fix parsing of & selectors in descendant selectors.
Allow identifiers to contain backslash escapes.
Comments are now parsed to end of file if no closing */ is found.
Comments are now parsed to end of file if no closing */ is found.
Make the package work with new TS resolution styles.
Make keyframe selector parsing more flexible to support timeline ranges.
Make keyframe selector parsing more flexible to support timeline ranges.
Allow multiple comma-separated keyframe selectors per keyframe.
The Styles top rule now also recognizes nested rules.
The Styles top rule now also recognizes nested rules.
Don't emit an error node when the input is empty. Export a Styles top-level rule for parsing lists of properties
Don't emit an error node when the input is empty. Export a Styles top-level rule for parsing lists of properties
The new Styles top-level rule can be used to parse semicolon-separated lists of properties.
Add support for the is, where, host-context, nth-last-of-type, and nth-of-type pseudo classes.
Add support for the is, where, host-context, nth-last-of-type, and nth-of-type pseudo classes.
Apply a consistent highlighting tag (definitionKeyword) to all @ keywords.
### New features First stable version.
First stable version.
Move to 0.16 serialized parser format.
Move to 0.16 serialized parser format.
The parser now includes syntax highlighting information in its node types.
Distinguish between variable names and other names.
Distinguish between variable names and other names.
Fix the name of nodes for the selector keyword (which by accident was callee before).
Fix parsing of selector arguments to pseudo selectors.
Fix parsing of selector arguments to pseudo selectors.
The module's name changed from lezer-css to @lezer/css.
The module's name changed from lezer-css to @lezer/css.
Upgrade to the 0.15.0 lezer interfaces.
Your coding agent can read these notes before it upgrades. Set up the MCP server →