NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2081 most downloaded on npm
Determine selector specificity with postcss-selector-parser
Last release today
05 Oct 2026
Release timing varies
gaps range from 8 days to 1.2 years
Nearly every release is documented
notes for 17 of 17 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
17 releases · first in 2022
One column per quarter.
Added support for ::highlight() and its * argument, which has zero specificity.
October 5, 2026
::highlight() and its * argument, which has zero specificity.Updated: Support for Node 20.19.0 or later (major).
January 14, 2026
20.19.0 or later (major).commonjs API. In supported Node versions require(esm) will work without needing to make code changes.Updated: postcss-selector-parser
October 23, 2024
postcss-selector-parserUpdated: Support for Node v18+ (major).
August 3, 2024
Prevent mutation of selectors with An+B microsyntax (e.g. :nth-child(2n+1 of .foo)) during specificity calculation
May 13, 2024
:nth-child(2n+1 of .foo)) during specificity calculationAdd an option to selectorSpecificity and specificityOfMostSpecificListItem to customize the calculation
May 11, 2024
selectorSpecificity and specificityOfMostSpecificListItem to customize the calculationspecificityOfMostSpecificListItem as an exported function:active-view-transition-type(foo)
March 31, 2024
:active-view-transition:active-view-transition-type(foo)Fixed specificity calculation for :any() and :-webkit-any() pseudo class functions. by @carlosjeurissen
February 19, 2024
:any() and :-webkit-any() pseudo class functions. by @carlosjeurissen_December 15, 2023_ - Add support for: - :active-view-transition(*) - :active-view-transition(name)
December 15, 2023
:active-view-transition(*):active-view-transition(name)Change license to MIT-0 (read more about this change in the blog post)
July 3, 2023
MIT-0 (read more about this change in the blog post)Improve case insensitive string matching.
March 21, 2023
::view-transition::view-transition-group(*) and ::view-transition-group(name)::view-transition-image-par(*) and ::view-transition-image-par(name)::view-transition-old(*) and ::view-transition-old(name)::view-transition-new(*) and ::view-transition-new(name)Improve types declaration in package.json
January 28, 2023
types declaration in package.json_January 19, 2023_ - Add support for ::slotted - Add support for :host - Add support for :host-context
January 19, 2023
::slotted:host:host-context_July 8, 2022_ - Fix case insensitive matching.
July 8, 2022
Fixed: Exception on :nth-child without arguments. #439
June 10, 2022
:nth-child without arguments. #439Breaking: use only named exports instead of default
June 4, 2022
defaultcompare(a, b) function to compare selectors by specificity- `import selectorSpecificity from '@csstools/selector-specificity';`
+ `import { selectorSpecificity } from '@csstools/selector-specificity';`
_April 26, 2022_ - Initial version
April 26, 2022
Your coding agent can read these notes before it upgrades. Set up the MCP server →