|
| 1 | +# Semantic Versioning Policy |
| 2 | + |
| 3 | +`eslint-plugin-testing-library` follows [Semantic Versioning](https://semver.org/). However, for [the same reason as ESLint itself](https://github.com/eslint/eslint#semantic-versioning-policy), it's not always clear when a minor or major version bump occurs. To help clarify this for everyone, we've defined the following Semantic Versioning Policy for this ESLint plugin: |
| 4 | + |
| 5 | +- Patch release (intended to not break your lint build) |
| 6 | + - A bug fix in a rule that results in `eslint-plugin-testing-library` reporting fewer errors. |
| 7 | + - A bug fix to the core. |
| 8 | + - Re-releasing after a failed release (i.e., publishing a release that doesn't work for anyone). |
| 9 | + - A dependency gets updated |
| 10 | +- Minor release (might break your lint build) |
| 11 | + - A bug fix in a rule that results in `eslint-plugin-testing-library` reporting more errors. |
| 12 | + - A new rule is created. |
| 13 | + - A new option to an existing rule that does not result in ESLint reporting more errors by default. |
| 14 | + - A new option to an existing rule that might result in ESLint reporting more errors by default. |
| 15 | + - A new addition to an existing rule to support a newly-added Testing Library feature that will result in `eslint-plugin-testing-library` reporting more errors by default. |
| 16 | + - An existing rule is deprecated. |
| 17 | + - New capabilities to the public API are added (new classes, new methods, new arguments to existing methods, etc.). |
| 18 | + - A new shareable configuration is created. |
| 19 | + - An existing shareable configuration is updated and will result in strictly fewer errors (e.g., rule removals). |
| 20 | + - Support for a Node major version is added. |
| 21 | +- Major release (likely to break your lint build) |
| 22 | + - An existing shareable configuration is updated and may result in new errors (e.g., rule additions, most rule option updates). |
| 23 | + - Part of the public API is removed or changed in an incompatible way. The public API includes: |
| 24 | + - Rule schemas |
| 25 | + - Configuration schema |
| 26 | + - Support for a Node major version is dropped. |
| 27 | + |
| 28 | +According to our policy, any minor update may report more errors than the previous release (ex: from a bug fix). As such, we recommend using the tilde (`~`) in `package.json` e.g. `"eslint-plugin-testing-library": "~4.3.0"` to guarantee the results of your builds. |
0 commit comments