Skip to main content

Semantic versioning

Due to the nature of Stylelint as a code quality tool, we follow a specific flavor of semantic versioning.

Any minor update may report more errors than the previous release. As such, we recommend using the tilde (~) in package.json e.g. "stylelint": "~7.2.0" to guarantee the results of your builds.

Patch release

Intended not to break your lint build:

  • a bug fix in a rule that results in Stylelint reporting fewer errors
  • a bug fix to the CLI or core (including formatters)
  • improvements to documentation
  • non-user-facing changes such as refactoring code or modifying tests
  • re-releasing after a failed release (i.e., publishing a release that doesn't work for anyone)

Minor release

Might break your lint build:

  • a bug fix in a rule that results in Stylelint reporting more errors
  • a new rule is created
  • a new option to an existing rule that does not result in Stylelint reporting more errors by default
  • an existing rule is deprecated
  • a new CLI capability is created
  • a new public API capability is created
  • a new formatter is created

Major release

Likely to break your lint build:

  • a change in the documented behavior of an existing rule results in Stylelint reporting more errors by default
  • an existing rule is removed
  • an existing formatter is removed
  • part of the CLI is removed or changed in an incompatible way
  • part of the public API is removed or changed in an incompatible way