NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2890 most downloaded on npm
A mighty CSS linter that helps you avoid errors and enforce conventions.
Last release 4 days ago
01 Oct 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
283 releases · first in 2014
Fixed: max-line-length handles url() functions better.
max-line-length handles url() functions better.block-opening-brace-newline-after and declaration-block-semicolon-newline-after handle end-of-line comments better.Added: legacyNumberedSeverities config property to force the legacy severity system.
One column per quarter.
Fixed: stopped hijacking --config property in PostCSS and Node.js APIs. Still using it in the CLI.
--config property in PostCSS and Node.js APIs. Still using it in the CLI.Fixed: Bug causing preventing the disabling of rules analyzing the root node, including: max-line-length, max-empty-lines, no-eol-whitespace, no-missi
root node, including: max-line-length, max-empty-lines, no-eol-whitespace, no-missing-eof-newline, and string-quotes.rule-properties-order to get confused by properties with an unspecified order.Fixed: Bug causing an error when null was used on rules whose primary options are arrays.
null was used on rules whose primary options are arrays.Fixed: Documentation improvements.
Added: stylelint-commands ignore option to comment-empty-line-before.
stylelint-commands ignore option to comment-empty-line-before.rule-properties-order and potentially other rules that accept arrays as primary options.no-missing-eof-newline no longer complains about completely empty files.Fixed: List of rules within documentation.
Deprecated: numbered severities (0, 1, 2) and will be disabled in 4.0.
nesting-block-opening-brace-space-before and nesting-block-opening-brace-newline-before rules.4.0.rule-single-line-max-declarations to declaration-block-single-line-max-declarations and changed scope of the single-line to the declaration block.rule-no-single-line to declaration-block-no-single-line and changed scope of the single-line to the declaration block.function-space-after rule to function-whitespace-after.comment-space-inside rule to comment-whitespace-inside.no-multiple-empty-lines rule to max-empty-lines (takes an int as option).plugins is now an array instead of an object. And plugins should be created with stylelint.createPlugin()..stylelintrcstylelint.config.jsstylelint property in package.jsonignoreFiles option to config.configFile option to Node.js API.comment-whitespace-inside now ignores ignores copyright (/*!) and sourcemap (/*#) comments.rule-no-duplicate-properties now ignores the src property.Nothing published for this version
Nothing published for this version
Fixed: function-calc-no-unspaced-operator ignores characters in $sass and @less variables.
function-calc-no-unspaced-operator ignores characters in $sass and @less variables.rule-properties-order allows comments at the top of groups that expect newlines before them.styleSearch() and the rules it powers will not trip up on single-line (//) comments.selector-combinator-space-before now better handles nested selectors starting with combinators.rule-properties-order now deals property with -moz-osx-font-smoothing.Fixed: rule-properties-order now accounts for property names containing multiple hyphens.
rule-properties-order now accounts for property names containing multiple hyphens.rule-properties-order grouping bug.rule-properties-order now accounts for property names containing multiple hyphens.rule-properties-order grouping bug.Added: error about undefined severities blaming stylelint for the bug.
selector-pseudo-element-colon-notation typo in rule name resulting in undefined severity.- Fixed: dist/ build.
dist/ build.Fixed: property-whitelist, rule-no-duplicate-properties, and rule-properties-order ignore variables ($sass, @less, and --custom-property).
property-whitelist, rule-no-duplicate-properties, and rule-properties-order ignore variables ($sass, @less, and --custom-property).root-no-standard-properties ignores $sass and @less variables.comment-empty-line-before and comment-space-inside no longer complain about // comments.Fixed: number-no-trailing-zeros no longer flags at-import at-rules.
number-no-trailing-zeros no longer flags at-import at-rules.Fixed: selector-no-type no longer flags the _nesting selector_ (&).
selector-no-type no longer flags the nesting selector (&).Added: configFile option to PostCSS plugin.
configFile option to PostCSS plugin.function-parentheses-newline-inside and function-parentheses-space-inside bug with nested functions.Added: selector-class-pattern rule.
selector-class-pattern rule.selector-id-pattern rule.function-parentheses-newline-inside rule."always-single-line" and "never-single-line" options to function-parentheses-space-inside.syntax argument bug.Added: function-blacklist rule.
color-no-hex rule.color-no-named rule.function-blacklist rule.function-whitelist rule.unit-blacklist rule.unit-whitelist rule.property-unit-blacklist rule.property-unit-whitelist rule.rule-single-line-max-declarations rule.max-line-length rule.first-nested exception to comment-empty-line-before.*-blacklist & -*whitelist rules e.g. { "function-blacklist": "calc"}rule-properties-order.rule-properties-order.function-calc-no-unspaced-operator.function-space-after.comment-space-inside.comment-space-inside allows any number of asterisks at the beginning and end of comments.{ unspecified: "bottom }" option not to be applied within rule-properties-order.function-comma-* whitespace rules to improperly judge whether to enforce single- or multi-line options.Changed: plugins are now included and configured via a "locator", rather than either being required or being inserted directly into the configuration
required or being inserted directly into the configuration object as a function.string and json formatters..stylelintrc JSON file.extends property.function-comma-newline-after rule.function-comma-newline-before rule."always-single-line" and "never-single-line" options to function-comma-space-after rule."always-single-line" and "never-single-line" options to function-comma-space-before rule.Fixed: the media-query-list-comma-* rules now only apply to @media statements.
media-query-list-comma-* rules now only apply to @media statements.Added: function-linear-gradient-no-nonstandard-direction rule.
function-linear-gradient-no-nonstandard-direction rule.rule-properties-order now by default ignores the order of properties left out of your specified array; and the options "top", "bottom", and "ignore" are provided to change that behavior.rule-properties-order now looks for roots of hyphenated properties in custom arrays so each extension (e.g. padding-top as an extension of padding) does not need to be specified individually."always-single-line" option to declaration-colon-space-after.declaration-colon-newline-after "always-multi-line" warning message.Added: declaration-colon-newline-after rule.
declaration-colon-newline-after rule.indentation rule now checks indentation of multi-line at-rule params, unless there's the except option of param.color-no-invalid-hex rule no longer flags hashes in url() arguments.selector-list-comma-newline-after.#${sass-interpolation} in rules checking for hex colors.custom-property-pattern and custom-media-pattern.node.raw() instead of node.raws to avoid expected errors.Fixed: postcss-selector-parser updated to improve location accuracy for selector-no-* rules.
postcss-selector-parser updated to improve location accuracy for selector-no-* rules.Removed: compatibility with PostCSS 4.x.
4.x.5.0.2+.Added: after-comment ignore option to the at-rule-empty-line-before rule.
after-comment ignore option to the at-rule-empty-line-before rule.indentation rule now correctly handles * hacks on property names.media-feature-colon-space-after and media-feature-colon-space-before rules now only apply to @media statements.rule-no-shorthand-property-overrides rule message is now consistent with the other messages.Added: invalid options cause the rule to abort instead of performing meaningless checks.
validateOptions().Fixed: npm package no longer includes test files (reducing package size by 500KB).
Fixed: the rule-properties-order and rule-no-duplicate-properties rules now correctly check inside atrules.
rule-properties-order and rule-no-duplicate-properties rules now correctly check inside atrules.Added: validateOptions to stylelint.utils for use by authors of custom rules.
validateOptions to stylelint.utils for use by authors of custom rules.custom-media-pattern rule.number-max-precision rule.Added: validation of all rule options.
Removed: ruleTester from stylelint.utils because of the additional dependencies it forces.
ruleTester from stylelint.utils because of the additional dependencies it forces.Added: rule-no-shorthand-property-overrides rule.
rule-no-shorthand-property-overrides rule.ruleTester to stylelint.utils for use by authors of custom rules.jsesc devDependency.Fixed: hierarchicalSelectors bug in indentation rule.
hierarchicalSelectors bug in indentation rule.Fixed: ~= is no longer mistaken for combinator in selector-combinator-space-*.
~= is no longer mistaken for combinator in selector-combinator-space-*.Added: exposure of report, ruleMessages, and styleSearch in stylelint.utils for use by external plugin rules.
report, ruleMessages, and styleSearch in stylelint.utils for use by external plugin rules.hierarchicalSelectors option to indentation rule.nesting-block-opening-brace-space-before rule.nesting-block-opening-brace-newline-before rule.color-hex-case rule message is now consistent with the color-hex-length rule.property-blacklist rule message is now consistent with the property-whitelist rule.comment-space-inside rule message.Fixed: Formalized selector-indentation-checking within the indentation rule.
color-hex-case rule.color-hex-length rule.indentation rule.selector-list-comma-newline-* rules.selector-combinator-space-* no longer checks :nth-child() arguments.Fixed: nesting support for the block-opening-brace-newline-before rule.
block-opening-brace-newline-before rule.block-opening-brace-space-before rule.rule-trailing-semicolon rule.Fixed: nesting support of rule-no-duplicate-properties rule.
rule-no-duplicate-properties rule.rule-properties-order rule.rule-no-duplicate-properties rule.rule-properties-order rule.Added ability to disable rules via comments in the CSS.
at-rule-empty-line-before rule.at-rule-no-vendor-prefix rule.block-closing-brace-newline-after rule.block-closing-brace-newline-before rule.block-closing-brace-space-after rule.block-closing-brace-space-before rule.block-no-empty rule.block-opening-brace-newline-after rule.block-opening-brace-newline-before rule.block-opening-brace-space-after rule.block-opening-brace-space-before rule.color-no-invalid-hex rule.comment-empty-line-before rule.comment-space-inside rule.custom-property-no-outside-root rule.custom-property-pattern rule.declaration-bang-space-after rule.declaration-bang-space-before rule.declaration-block-semicolon-newline-after rule.declaration-block-semicolon-newline-before rule.declaration-block-semicolon-space-after rule.declaration-block-semicolon-space-before rule.declaration-colon-space-after rule.declaration-colon-space-before rule.declaration-no-important rule.function-calc-no-unspaced-operator rule.function-comma-space-after rule.function-comma-space-before rule.function-parentheses-space-inside rule.function-space-after rule.function-url-quotes rule.indentation rule.media-feature-colon-space-after rule.media-feature-colon-space-before rule.media-feature-name-no-vendor-prefix rule.media-feature-range-operator-space-after rule.media-feature-range-operator-space-before rule.media-query-list-comma-newline-after rule.media-query-list-comma-newline-before rule.media-query-list-comma-space-after rule.media-query-list-comma-space-before rule.media-query-parentheses-space-inside rule.no-eol-whitespace rule.no-missing-eof-newline rule.no-multiple-empty-lines rule.number-leading-zero rule.number-no-trailing-zeros rule.number-zero-length-no-unit rule.property-blacklist rule.property-no-vendor-prefix rule.property-whitelist rule.root-no-standard-properties rule.rule-nested-empty-line-before rule.rule-no-duplicate-properties rule.rule-no-single-line rule.rule-non-nested-empty-line-before rule.rule-properties-order rule.rule-trailing-semicolon rule.selector-combinator-space-after rule.selector-combinator-space-before rule.selector-list-comma-newline-after rule.selector-list-comma-newline-before rule.selector-list-comma-space-after rule.selector-list-comma-space-before rule.selector-no-attribute rule.selector-no-combinator rule.selector-no-id rule.selector-no-type rule.selector-no-universal rule.selector-no-vendor-prefix rule.selector-pseudo-element-colon-notation rule.selector-root-no-composition rule.string-quotes rule.value-list-comma-newline-after rule.value-list-comma-newline-before rule.value-list-comma-space-after rule.value-list-comma-space-before rule.value-no-vendor-prefix rule.Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →