# css-select: what changed from 6 to 7 - Product: css-select (https://whatsnew.fyi/product/css-select) - Vendor: css-select - Range: changelog entries numbered after v6.0.0 up to and including v7.0.0, stable releases only - Entries below: 1 release (newest first) - Resolved: 6 is v6.0.0 and 7 is v7.0.0, the newest stable release of each major we track - Carrying security changes: 0 · CVEs mentioned: 0 · Mentioning breaking changes: 1 · Removing or deprecating something: 1 - Page: https://whatsnew.fyi/product/css-select/compare/6...7 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## What changed (8 changes, grouped by kind) ### Added #### v7.0.0 (2026-03-22) - Added support for the :lang() pseudo-class - Added support for of in nth-* pseudo-classes, e.g. :nth-last-child(3n+2 of .a) ### Changed #### v7.0.0 (2026-03-22) - Package is now ESM only with "type": "module"; CommonJS require() is only supported in modern environments - Minimum Node.js version is now 20.19.0 - :enabled now only matches form elements ### Removed #### v7.0.0 (2026-03-22) - Removed the deprecated _compileToken export; use _compileUnsafe instead - Removed the deprecated re-exports of aliases, filters, and pseudos; use the pseudos option instead - Removed ./package.json subpath export ## Release notes ### v7.0.0 - Date: 2026-03-22 - Version: v7.0.0 - Original notes: https://github.com/fb55/css-select/releases/tag/v7.0.0 - Permalink: https://whatsnew.fyi/product/css-select/releases/v7.0.0 - **changed** — Package is now ESM only with "type": "module"; CommonJS require() is only supported in modern environments - **changed** — Minimum Node.js version is now 20.19.0 - **removed** — Removed the deprecated _compileToken export; use _compileUnsafe instead - **removed** — Removed the deprecated re-exports of aliases, filters, and pseudos; use the pseudos option instead - **removed** — Removed ./package.json subpath export - **changed** — :enabled now only matches form elements - **added** — Added support for the :lang() pseudo-class - **added** — Added support for of in nth-* pseudo-classes, e.g. :nth-last-child(3n+2 of .a) ##### Breaking Changes - **ESM only**: the package now sets `"type": "module"`; CommonJS `require()` is only supported in modern environments [#1746](https://github.com/fb55/css-select/pull/1746) - Minimum Node.js version is now 20.19.0 - Cleaned up deprecations - Removed the deprecated `_compileToken` export. Use `_compileUnsafe` instead - Removed the deprecated re-exports of `aliases`, `filters`, and `pseudos`. Use the `pseudos` option instead - Removed `./package.json` subpath export - `:enabled` now only matches form elements ##### New Features - Added support for the `:lang()` pseudo-class - Added support for *of* in `nth-*` pseudo-classes, e.g. `:nth-last-child(3n+2 of .a)` **Full Changelog**: https://github.com/fb55/css-select/compare/v6.0.0...v7.0.0