unstale

npm / stylelint

stylelint

What changed in stylelint 16 to 17, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-17.

11 breaking1 deprecations24 new APIs and options22 performance2 behavior and defaults2 tooling70 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.1 on npm

stylelint 17125 changes

Breaking changes 11

  • The CommonJS Node.js API was removed.

    17.0.0release notes

  • The rule now behaves consistently for vendor prefixes.

    17.0.0release notes

  • The default fix mode changed to strict.

    17.0.0release notes

  • The GitHub formatter was removed.

    17.0.0release notes

  • Rules now behave consistently for vendor prefixes and case.

    17.0.0release notes

  • The rule's behavior changed for standard CSS nesting.

    17.0.0release notes

  • The output property was removed from the resolved object returned by the Node.js API.

    17.0.0release notes

  • Support for Node.js versions earlier than 20.19.0 was removed.

    17.0.0release notes

  • The resolveNestedSelectors option was removed.

    17.0.0release notes

  • The checkContextFunctionalPseudoClasses option was removed.

    17.0.0release notes

  • The rule's behavior changed for standard CSS nesting.

    17.0.0release notes

Deprecations 1

New APIs and options 23

  • Adds the ignoreFunctions option to color-named.

    17.15.0release notes

  • Adds the ignoreFunctions option to color-no-hex.

    17.15.0release notes

  • Adds the selector-no-unmatchable rule.

    17.15.0release notes

  • Adds autofixed to the result object.

    17.11.0release notes

  • Adds a loader property to experimental referenceFiles for cases where the order of appearance in reference styles matters.

    17.11.0release notes

  • Added the selector-no-invalid rule.

    17.10.0release notes

  • Added the unit-layout-mappings rule to enforce logical or physical properties, units and keywords.

    17.10.0release notes

  • Added the value-keyword-layout-mappings rule to enforce logical or physical properties, units and keywords.

    17.10.0release notes

  • Adds an experimental Node.js API option for cancellation support.

    17.9.0release notes

  • Adds maxWarnings to the configuration object.

    17.9.0release notes

  • Adds an experimental configuration property that makes the no-unknown-animations, no-unknown-custom-media and no-unknown-custom-properties rules more useful.

    17.9.0release notes

  • Adds the languageOptions.directionality configuration property.

    17.8.0release notes

  • Adds the property-layout-mappings rule.

    17.8.0release notes

  • Adds the relative-selector-nesting-notation rule.

    17.8.0release notes

  • Adds the selector-no-deprecated rule.

    17.8.0release notes

  • Supports extending units in languageOptions; the extended units apply to rules such as declaration-property-value-no-unknown.

    17.6.0release notes

  • Adds the ignoreMediaFeatureNameValues option.

    17.5.0release notes

  • Adds the ignoreAtRules option, defaulting to an empty array, to let developers ignore at-rules.

    17.4.0release notes

  • Adds the ignoreMediaFeatureNames option, defaulting to an empty array, to let developers ignore media feature names.

    17.4.0release notes

  • Adds the display-notation rule. The release notes say its options have not yet been chosen for the standard config.

    17.1.0release notes

  • The except option now accepts after-block.

    17.0.0release notes

  • The except option now accepts after-block.

    17.0.0release notes

  • The rule now supports the ignoreSelectors secondary option.

    17.0.0release notes

Performance 22

  • Improved the performance of getting module paths.

    17.14.0release notes

  • TIMING is dynamically imported only when used, improving performance.

    17.14.0release notes

  • Improves the performance of *-empty-line-before rules.

    17.4.0release notes

  • Improves the performance of no-irregular-whitespace.

    17.4.0release notes

  • Improves the performance of selector cloning rules.

    17.4.0release notes

  • The rule's performance was improved.

    17.3.0release notes

  • The rule's performance was improved.

    17.3.0release notes

  • Improves the performance of declaration-property-value-no-unknown.

    17.3.0release notesrelease notes

  • The rule's performance was improved.

    17.3.0release notes

  • Performance of *-list rules was improved.

    17.3.0release notes

  • The rule's performance was improved.

    17.3.0release notes

  • Performance of *-notation rules was improved.

    17.3.0release notes

  • Rule sequencing performance was improved.

    17.3.0release notes

  • Performance of selector-max-* rules was improved.

    17.3.0release notes

  • The rule's performance was improved.

    17.3.0release notes

  • The rule's performance was improved.

    17.3.0release notes

  • The rule's performance was improved.

    17.3.0release notes

  • The rule's performance was improved.

    17.3.0release notes

  • Performance of config augmentation and module imports was fixed, contributing to faster execution and lower memory use on larger codebases.

    17.2.0release notes

  • Performance of config override matching was fixed, contributing to faster execution and lower memory use on larger codebases.

    17.2.0release notes

  • Performance of config resolution was fixed, contributing to faster execution and lower memory use on larger codebases.

    17.2.0release notes

  • Performance of rule resolution was fixed, contributing to faster execution and lower memory use on larger codebases.

    17.2.0release notes

Behavior and default changes 2

  • Syntax rules now account for standard CSS nesting and modern functional pseudo-classes.

    17.0.0release notes

  • Semantic rules now account for standard CSS nesting.

    17.0.0release notes

Tooling 2

  • Version 1.0.0 is available to help with first-time Stylelint setup.

    17.7.0release notes

  • The Stylelint Language Server has its first release.

    17.5.0release notes

Fixes and other changes 64

  • Fixes false negatives for uppercase property names.

    17.16.0release notes

  • Fixes false negatives for uppercase units.

    17.16.0release notes

  • Fixes false positives for anchor positioning.

    17.15.0release notes

  • Fixes autofix behavior for the font shorthand.

    17.15.0release notes

  • Fixes false positives for interpolated inline expressions.

    17.15.0release notes

  • Fixes false negatives for pseudo-elements, combinators and nested :has().

    17.15.0release notes

  • Autofix no longer produces an invalid background shorthand when background-size is present.

    17.14.1release notes

  • The quiet option now suppresses report* warning reports.

    17.14.1release notes

  • Fixed the reported range of unknown rules.

    17.14.1release notes

  • Fixed false positives for shared-line comments when except: ["after-single-line-comment"] is configured.

    17.14.1release notes

  • Fixed false negatives for unspaced + and - operators following a * or / operator.

    17.14.0release notes

  • Fixes false negatives for interleaved non-consecutive duplicate properties when ignore is set to consecutive-duplicates(-*).

    17.13.0release notes

  • Fixes false positives for nested selectors.

    17.13.0release notes

  • Fixes false positives for install.

    17.13.0release notes

  • Fixed range reporting when using comments.

    17.12.0release notes

  • Fixed false negatives for custom properties defined in reference files.

    17.12.0release notes

  • Fixes false positives for caption-side.

    17.12.0release notesrelease notes

  • Fixed node_modules ignore behavior for codeFilename paths containing a dot-prefixed directory.

    17.11.1release notes

  • Fixed the rule's range for contiguous redundant longhand properties.

    17.11.1release notes

  • Fixed inconsistent error messages when a module is not found.

    17.10.0release notes

  • Fixed false negatives for property names in declaration values.

    17.10.0release notes

  • Fixed false positives for @page properties.

    17.10.0release notes

  • Fixed false positives for nested webkit-scrollbar parts.

    17.10.0release notes

  • Fixed a regression that caused ConfigurationError for custom syntaxes.

    17.9.1release notes

  • Fixed autofix for page-break-*: always.

    17.9.1release notes

  • Fixed false positives for ::part().

    17.9.1release notes

  • Avoids false positives when URLs have modifiers.

    17.7.0release notes

  • The CLI flag now hides internal properties.

    17.7.0release notes

  • Problem messages are clearer by removing filler words and leading with the problem.

    17.7.0release notes

  • Avoids false positives for :has().

    17.7.0release notes

  • Fixes missing ruleMetadata when linting multiple files with overrides.

    17.6.0release notes

  • node_modules is now ignored when codeFilename is used in the Node.js API.

    17.5.0release notes

  • Fixes TS7016 for imported css-tree types.

    17.5.0release notes

  • The rule no longer reports false positives for function arguments.

    17.5.0release notes

  • The rule no longer reports false positives for calc-size() containing the size keyword.

    17.5.0release notes

  • The rule no longer misses equivalent compound selectors.

    17.5.0release notes

  • The rule no longer misses equivalent compound selectors.

    17.5.0release notes

  • The rule no longer reports false positives for @mixin and @scope.

    17.5.0release notes

  • The rule no longer misses cases involving types.

    17.5.0release notes

  • Fixes false negatives for at-rule descriptors.

    17.4.0release notes

  • Fixes false positives for corner-shape.

    17.4.0release notes

  • Fixes false positives for double-slashed properties.

    17.4.0release notes

  • The rule no longer misses math functions inside non-math functions.

    17.3.0release notes

  • The rule no longer reports false positives for calc() with mixed operations.

    17.3.0release notes

  • The rule now reports correct ranges for multiple math functions.

    17.3.0release notes

  • The rule no longer reports false positives for a mix of tabs and spaces.

    17.3.0release notes

  • Fixed false negatives for math functions.

    17.2.0release notes

  • Fixed false negatives for matching escaped selectors.

    17.2.0release notes

  • Fixed false negatives for layers with blocks.

    17.2.0release notes

  • Fixed resolution of configs, plugins, processors, and custom syntaxes in Yarn PnP environments.

    17.1.1release notes

  • Fixes TypeScript errors involving GlobbyOptions.

    17.1.0release notes

  • Fixes false negatives and positives for relative colors.

    17.1.0release notes

  • Fixes false negatives for relative colors.

    17.1.0release notes

  • Fixed false positives for declarations within feature-value-blocks.

    17.0.0release notes

  • Fixed false negatives for short and long combinations.

    17.0.0release notes

  • Fixed Windows drive letter casing inconsistencies when matching patterns against file paths.

    17.0.0release notes

  • Fixed false positives for namespaced dollar variables and range context queries.

    17.0.0release notes

  • Fixed false positives for CSS-in-JS.

    17.0.0release notes

  • Fixed false negatives for embedded blocks.

    17.0.0release notes

  • Rules now behave consistently for their ignore* secondary options.

    17.0.0release notes

  • The handling of provided position arguments is now consistent and predictable.

    17.0.0release notes

  • Fixed false negatives for :is/where().

    17.0.0release notes

  • Fixed false positives for MathML 4 tags.

    17.0.0release notes

  • CLI help now includes TypeScript config files.

    17.0.0release notes

stylelint 167 changes

New APIs and options 1

Fixes and other changes 6

  • Fixes false positives for @function.

    16.26.1release notes

  • Fixes false positives for attr(), if() and custom functions.

    16.26.1release notes

  • Fixes false positives when URLs require quoting.

    16.26.1release notes

  • Fixes false positives for the latest CSS specifications by integrating CSS syntax patches.

    16.26.1release notes

  • Fixes false positives for ::scroll-button().

    16.26.1release notes

  • Fixes false positives for style query in the if() function.

    16.26.0release notes