- Add support for more complex selector patterns.
.a > :is(.b > .c)->.a.b > .c
October 23, 2024
- Make sorting compound selectors forwards compatible with potential future changes in
postcss-selector-parser - Updated:
postcss-selector-parser - Updated
@csstools/selector-specificityto5.0.0(major)
August 3, 2024
- Updated: Support for Node v18+ (major).
- Updated
@csstools/selector-specificityto4.0.0(major)
May 13, 2024
- Updated
@csstools/selector-specificityto3.1.1(patch)
May 11, 2024
- Updated
@csstools/selector-specificityto3.1.0(minor)
March 31, 2024
- Updated
@csstools/selector-specificityto3.0.3(patch)
February 19, 2024
- Updated
@csstools/selector-specificityto3.0.2(patch)
December 15, 2023
- Fix type definitions
- Updated
@csstools/selector-specificityto3.0.1(patch)
October 2, 2023
- Prevent incorrect transforms when
:is()is wrapped in:has().
September 18, 2023
- Improve performance
September 2, 2023
- Fix substitution when selectors have mixed types for compound selectors where one of two parts is a
:is()pseudo class.
header:is(.a .b) {}
/* becomes : */
- header.a .b {}
+ .a header.b {}July 3, 2023
- Change license to
MIT-0(read more about this change in the blog post) - Updated
@csstools/selector-specificityto3.0.0(major)
May 19, 2023
- Fix compound selectors with
*.
:is(.a *):is(h1, h2, h3) {}
/* becomes : */
- .a *h1, .a *h2, .a *h3 {}
+ .a h1, .a h2, .a h3 {}April 10, 2023
- Add support for more complex selector patterns. In particular anything where
:is()is in the left-most compound selector.
February 8, 2023
- Reduce the amount of duplicate fallback CSS.
February 2, 2023
- Fix is pseudo inside a not pseudo (
:not(:is(h1, h2, h3))) - Reduce the output size when all selectors are known to be valid
January 28, 2023
- Improve
typesdeclaration inpackage.json
January 24, 2023
- Updated: Support for Node v14+ (major).
July 8, 2022
- Fix case insensitive matching.
June 23, 2022
- Fix selector order with any pseudo element.
- Fix transforming pseudo elements in
:is(). Following the specification pseudo elements are invalid and we now transform to a known invalid pseudo element. - Add
onPseudoElementplugin option. Set{ onPseudoElement: 'warning' }to receive warnings when this plugin encounters an unprocessable pseudo element.
June 4, 2022
- Update
@csstools/selector-specificity(major)
May 17, 2022
- Fix selector order with
:beforeand other pseudo elements.
May 11, 2022
- Use
@csstools/selector-specificityfor specificity calculations.
April 4, 2022
- Improved : compound selector order with pseudo elements
- Improved : selector specificity calculation.
March 4, 2022
- Preserve selector order as much as possible. Fixes issues where pseudo elements
::beforewere moved.
January 31, 2022
- Remove
skipflag inonComplexSelectorsoption.
If a complex selector is encountered that has no known equivalent, it will always be skipped and preserved now.
The previous behavior was to remove :is() even if that broke the selector.
January 17, 2022
- Fix selector order
January 13, 2022
- initial release