eslint

eslint breaking-changes badge

eslint (latest known version: 10.8.0) has 19 known breaking changes on record, each backed by a source URL.

Actively maintainedLatest known version: 10.8.0npm ↗

Recent changes

v10.0.0-alpha.0Breaking

* [`96512a6`](https://github.com/eslint/eslint/commit/96512a66c86402fb0538cdcb6cd30b9073f6bf3b) fix!: Remove deprecated rule context methods (#20086) (Nicholas C. Zakas) * [`c69fdac`](https://github.com/eslint/eslint/commit/c69fdacdb2e886b9d965568a397aa8220db3fe90) feat!: remove eslintrc support (#20037) (Francesco Trotta) * [`208b5cc`](https://github.com/eslint/eslint/commit/208b5cc34a8374ff81412b5bec2e0800eebfbd04) feat!: Use `ScopeManager#addGlobals()` (#20132) (Milos Djermanovic) * [`a2ee188`](https://github.com/eslint/eslint/commit/a2ee188ea7a38a0c6155f3d39e2b00e1d0f36e14) fix!: add `uniqueItems: true` in `no-invalid-regexp` option (#20155) (Tanuj Kanti) * [`a89059d`](https://github.com/eslint/eslint/commit/a89059dbf2832d417dd493ee81483227ec44e4ab) feat!: Program range span entire source text (#20133) (Pixel998) * [`39a6424`](https://github.com/eslint/eslint/commit/39a6424373d915fa9de0d7b0caba9a4dc3da9b53) fix!: assert 'text' is a string across all RuleFixer methods (#20082) (Pixel998) * [`f28fbf8`](https://github.com/eslint/eslint/commit/f28fbf846244e043c92b355b224d121b06140b44) fix!: Deprecate `"always"` and `"as-needed"` options of the `radix` rule (#20223) (Milos Djermanovic) * [`aa3fb2b`](https://github.com/eslint/eslint/commit/aa3fb2b233e929b37220be940575f42c280e0b98) fix!: tighten `func-names` schema (#20119) (Pixel998) * [`f6c0ed0`](https://github.com/eslint/eslint/commit/f6c0ed0311dcfee853367d5068c765d066e6b756) feat!: report `eslint-env` comments as errors (#20128) (Francesco Trotta) * [`4bf739f`](https://github.com/eslint/eslint/commit/4bf739fb533e59f7f0a66b65f7bc80be0f37d8db) fix!: remove deprecated `LintMessage#nodeType` and `TestCaseError#type` (#20096) (Pixel998) * [`523c076`](https://github.com/eslint/eslint/commit/523c076866400670fb2192a3f55dbf7ad3469247) feat!: drop support for jiti < 2.2.0 (#20016) (michael faith) * [`454a292`](https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64) feat!: update `eslint:recommended` configuration (#20210) (Pixel998) * [`4f880ee`](https://github.com/eslint/eslint/commit/4f880ee02992e1bf0e96ebaba679985e2d1295f1) feat!: remove `v10_*` and inactive `unstable_*` flags (#20225) (sethamus) * [`f18115c`](https://github.com/eslint/eslint/commit/f18115c363a4ac7671a4c7f30ee13d57ebba330f) feat!: `no-shadow-restricted-names` report `globalThis` by default (#20027) (sethamus) * [`c6358c3`](https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e) feat!: Require Node.js `^20.19.0 || ^22.13.0 || >=24` (#20160) (Milos Djermanovic)

source ↗

v10.0.0-alpha.1Breaking

* [`fa31a60`](https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa) feat!: add `name` to configs (#20015) (Kirk Waiblinger) * [`3383e7e`](https://github.com/eslint/eslint/commit/3383e7ec9028166cafc8ea7986c2f7498d0049f0) fix!: remove deprecated `SourceCode` methods (#20137) (Pixel998) * [`501abd0`](https://github.com/eslint/eslint/commit/501abd0e916a35554c58b7c0365537f1fa3880ce) feat!: update dependency minimatch to v10 (#20246) (renovate[bot]) * [`ca4d3b4`](https://github.com/eslint/eslint/commit/ca4d3b40085de47561f89656a2207d09946ed45e) fix!: stricter rule tester assertions for valid test cases (#20125) (唯然)

source ↗

v10.0.0-beta.0Breaking

* [`a176319`](https://github.com/eslint/eslint/commit/a176319d8ade1a7d9b2d7fb8f038f55a2662325f) feat!: replace `chalk` with `styleText` and add `color` to `ResultsMeta` (#20227) (루밀LuMir) * [`c7046e6`](https://github.com/eslint/eslint/commit/c7046e6c1e03c4ca0eee4888a1f2eba4c6454f84) feat!: enable JSX reference tracking (#20152) (Pixel998)

source ↗

v10.0.0-rc.0Breaking

* [`f9e54f4`](https://github.com/eslint/eslint/commit/f9e54f43a5e497cdfa179338b431093245cb787b) feat!: estimate rule-tester failure location (#20420) (ST-DDT)

source ↗

v10.0.0Breaking

* [`f9e54f4`](https://github.com/eslint/eslint/commit/f9e54f43a5e497cdfa179338b431093245cb787b) feat!: estimate rule-tester failure location (#20420) (ST-DDT) * [`a176319`](https://github.com/eslint/eslint/commit/a176319d8ade1a7d9b2d7fb8f038f55a2662325f) feat!: replace `chalk` with `styleText` and add `color` to `ResultsMeta` (#20227) (루밀LuMir) * [`c7046e6`](https://github.com/eslint/eslint/commit/c7046e6c1e03c4ca0eee4888a1f2eba4c6454f84) feat!: enable JSX reference tracking (#20152) (Pixel998) * [`fa31a60`](https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa) feat!: add `name` to configs (#20015) (Kirk Waiblinger) * [`3383e7e`](https://github.com/eslint/eslint/commit/3383e7ec9028166cafc8ea7986c2f7498d0049f0) fix!: remove deprecated `SourceCode` methods (#20137) (Pixel998) * [`501abd0`](https://github.com/eslint/eslint/commit/501abd0e916a35554c58b7c0365537f1fa3880ce) feat!: update dependency minimatch to v10 (#20246) (renovate[bot]) * [`ca4d3b4`](https://github.com/eslint/eslint/commit/ca4d3b40085de47561f89656a2207d09946ed45e) fix!: stricter rule tester assertions for valid test cases (#20125) (唯然) * [`96512a6`](https://github.com/eslint/eslint/commit/96512a66c86402fb0538cdcb6cd30b9073f6bf3b) fix!: Remove deprecated rule context methods (#20086) (Nicholas C. Zakas) * [`c69fdac`](https://github.com/eslint/eslint/commit/c69fdacdb2e886b9d965568a397aa8220db3fe90) feat!: remove eslintrc support (#20037) (Francesco Trotta) * [`208b5cc`](https://github.com/eslint/eslint/commit/208b5cc34a8374ff81412b5bec2e0800eebfbd04) feat!: Use `ScopeManager#addGlobals()` (#20132) (Milos Djermanovic) * [`a2ee188`](https://github.com/eslint/eslint/commit/a2ee188ea7a38a0c6155f3d39e2b00e1d0f36e14) fix!: add `uniqueItems: true` in `no-invalid-regexp` option (#20155) (Tanuj Kanti) * [`a89059d`](https://github.com/eslint/eslint/commit/a89059dbf2832d417dd493ee81483227ec44e4ab) feat!: Program range span entire source text (#20133) (Pixel998) * [`39a6424`](https://github.com/eslint/eslint/commit/39a6424373d915fa9de0d7b0caba9a4dc3da9b53) fix!: assert 'text' is a string across all RuleFixer methods (#20082) (Pixel998) * [`f28fbf8`](https://github.com/eslint/eslint/commit/f28fbf846244e043c92b355b224d121b06140b44) fix!: Deprecate `"always"` and `"as-needed"` options of the `radix` rule (#20223) (Milos Djermanovic) * [`aa3fb2b`](https://github.com/eslint/eslint/commit/aa3fb2b233e929b37220be940575f42c280e0b98) fix!: tighten `func-names` schema (#20119) (Pixel998) * [`f6c0ed0`](https://github.com/eslint/eslint/commit/f6c0ed0311dcfee853367d5068c765d066e6b756) feat!: report `eslint-env` comments as errors (#20128) (Francesco Trotta) * [`4bf739f`](https://github.com/eslint/eslint/commit/4bf739fb533e59f7f0a66b65f7bc80be0f37d8db) fix!: remove deprecated `LintMessage#nodeType` and `TestCaseError#type` (#20096) (Pixel998) * [`523c076`](https://github.com/eslint/eslint/commit/523c076866400670fb2192a3f55dbf7ad3469247) feat!: drop support for jiti < 2.2.0 (#20016) (michael faith) * [`454a292`](https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64) feat!: update `eslint:recommended` configuration (#20210) (Pixel998) * [`4f880ee`](https://github.com/eslint/eslint/commit/4f880ee02992e1bf0e96ebaba679985e2d1295f1) feat!: remove `v10_*` and inactive `unstable_*` flags (#20225) (sethamus) * [`f18115c`](https://github.com/eslint/eslint/commit/f18115c363a4ac7671a4c7f30ee13d57ebba330f) feat!: `no-shadow-restricted-names` report `globalThis` by default (#20027) (sethamus) * [`c6358c3`](https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e) feat!: Require Node.js `^20.19.0 || ^22.13.0 || >=24` (#20160) (Milos Djermanovic)

source ↗

v9.0.0-alpha.0Breaking

* [`946ae00`](https://github.com/eslint/eslint/commit/946ae00457265eb298eb169d6d48ca7ec71b9eef) feat!: FlatRuleTester -> RuleTester (#17922) (Nicholas C. Zakas) * [`baff28c`](https://github.com/eslint/eslint/commit/baff28ce8f167f564471f1d70d6e9c4b0cb1a508) feat!: remove `no-inner-declarations` from `eslint:recommended` (#17920) (Milos Djermanovic) * [`cadfbcd`](https://github.com/eslint/eslint/commit/cadfbcd468737fc9447243edd1d15058efb6d3d8) feat!: Rename FlatESLint to ESLint (#17914) (Nicholas C. Zakas) * [`d1018fc`](https://github.com/eslint/eslint/commit/d1018fc5e59db0495aa4a7f501c9d3f831981f35) feat!: skip running warnings in --quiet mode (#17274) (Maddy Miller) * [`fb81b1c`](https://github.com/eslint/eslint/commit/fb81b1cb78d2692a87fd3591fdc0f96b0c95e760) feat!: Set default `schema: []`, drop support for function-style rules (#17792) (Milos Djermanovic) * [`0b21e1f`](https://github.com/eslint/eslint/commit/0b21e1fd67d94f907d007a7a9707a3ae1cc08575) feat!: add two more cases to `no-implicit-coercion` (#17832) (Gürgün Dayıoğlu) * [`2916c63`](https://github.com/eslint/eslint/commit/2916c63046603e0cdc578d3c2eef8fca5b2e8847) feat!: Switch Linter to flat config by default (#17851) (Nicholas C. Zakas) * [`200518e`](https://github.com/eslint/eslint/commit/200518eb6d42de4c3b0c6ef190fc09a95718297e) fix!: Parsing 'exported' comment using parseListConfig (#17675) (amondev) * [`bdd6ba1`](https://github.com/eslint/eslint/commit/bdd6ba138645dba0442bb0ed2ee73049df56f38d) feat!: Remove valid-jsdoc and require-jsdoc (#17694) (Nicholas C. Zakas) * [`12be307`](https://github.com/eslint/eslint/commit/12be3071d014814149e8e6d602f5c192178ca771) fix!: Behavior of CLI when no arguments are passed (#17644) (Nicholas C. Zakas) * [`8fe8c56`](https://github.com/eslint/eslint/commit/8fe8c5626b98840d6a8580004f6ceffeff56264f) feat!: Update shouldUseFlatConfig and CLI so flat config is default (#17748) (Nicholas C. Zakas) * [`60dea3e`](https://github.com/eslint/eslint/commit/60dea3e3abd6c0b6aab25437b2d0501b0d30b70c) feat!: deprecate no-new-symbol, recommend no-new-native-nonconstructor (#17710) (Francesco Trotta) * [`5aa9c49`](https://github.com/eslint/eslint/commit/5aa9c499da48b2d3187270d5d8ece71ad7521f56) feat!: check for parsing errors in suggestion fixes (#16639) (Bryan Mishkin) * [`b3e0bb0`](https://github.com/eslint/eslint/commit/b3e0bb03cc814e78b06a1acc4e5347b4c90d72bf) feat!: assert suggestion messages are unique in rule testers (#17532) (Josh Goldberg ✨) * [`e563c52`](https://github.com/eslint/eslint/commit/e563c52e35d25f726d423cc3b1dffcd80027fd99) feat!: `no-invalid-regexp` make allowConstructorFlags case-sensitive (#17533) (Josh Goldberg ✨) * [`e5f02c7`](https://github.com/eslint/eslint/commit/e5f02c70084c4f80900c0875b08f665e1f030af2) fix!: no-sequences rule schema correction (#17878) (MHO) * [`6ee3e9e`](https://github.com/eslint/eslint/commit/6ee3e9eb5df7bdfdaa1746214793ed511112be76) feat!: Update `eslint:recommended` configuration (#17716) (Milos Djermanovic) * [`c2cf85a`](https://github.com/eslint/eslint/commit/c2cf85a7447777e6b499cbb5c49de919bb5c817f) feat!: drop support for string configurations in flat config array (#17717) (Milos Djermanovic) * [`c314fd6`](https://github.com/eslint/eslint/commit/c314fd612587c42cfbe6acbe286629c4178be3f7) feat!: Remove `SourceCode#getComments()` (#17715) (Milos Djermanovic) * [`ae78ff1`](https://github.com/eslint/eslint/commit/ae78ff16558a1a2ca07b2b9cd294157d1bdcce2e) feat!: Remove deprecated context methods (#17698) (Nicholas C. Zakas) * [`f71c328`](https://github.com/eslint/eslint/commit/f71c328e2786e2d73f168e43c7f96de172484a49) feat!: Swap FlatESLint-ESLint, FlatRuleTester-RuleTester in API (#17823) (Nicholas C. Zakas) * [`5304da0`](https://github.com/eslint/eslint/commit/5304da03d94dc8cb19060e2efc9206784c4cec0e) feat!: remove formatters except html, json(-with-metadata), and stylish (#17531) (Josh Goldberg ✨) * [`e1e827f`](https://github.com/eslint/eslint/commit/e1e827ffcbd73faa40dbac3b97529452e9c67108) feat!: Require Node.js `^18.18.0 || ^20.9.0 || >=21.1.0` (#17725) (Milos Djermanovic)

source ↗

v9.0.0-alpha.1Breaking

* [`701f1af`](https://github.com/eslint/eslint/commit/701f1afbee34e458b56d2dfa36d9153d6aebea3a) feat!: no-inner-declaration new default behaviour and option (#17885) (Tanuj Kanti) * [`bde5105`](https://github.com/eslint/eslint/commit/bde51055530d4a71bd9f48c90ed7de9c0b767d86) fix!: handle `--output-file` for empty output when saving to disk (#17957) (Nitin Kumar) * [`07107a5`](https://github.com/eslint/eslint/commit/07107a5904c2580243971c8ad7f26a04738b712e) fix!: upgrade eslint-scope@8.0.0 (#17942) (Milos Djermanovic) * [`3ee0f6c`](https://github.com/eslint/eslint/commit/3ee0f6ca5d756da647e4e76bf3daa82a5905a792) fix!: no-unused-vars `varsIgnorePattern` behavior with catch arguments (#17932) (Tanuj Kanti) * [`51f8bc8`](https://github.com/eslint/eslint/commit/51f8bc836bf0b13dad3a897ae84259bcdaed2431) fix!: configuration comments with just severity should retain options (#17945) (Milos Djermanovic) * [`d191bdd`](https://github.com/eslint/eslint/commit/d191bdd67214c33e65bd605e616ca7cc947fd045) feat!: Remove CodePath#currentSegments (#17936) (Milos Djermanovic)

source ↗

v9.0.0-alpha.2Breaking

* [`57089cb`](https://github.com/eslint/eslint/commit/57089cb5166acf8b8bdba8a8dbeb0a129f841478) feat!: no-restricted-imports allow multiple config entries for same path (#18021) (Milos Djermanovic) * [`2e1d549`](https://github.com/eslint/eslint/commit/2e1d54960051b59e1c731fa44c2ef843290b1335) feat!: detect duplicate test cases (#17955) (Bryan Mishkin)

source ↗

v9.0.0-beta.0Breaking

* [`9163646`](https://github.com/eslint/eslint/commit/916364692bae6a93c10b5d48fc1e9de1677d0d09) feat!: Rule Tester checks for missing placeholder data in the message (#18073) (fnx) * [`3c4d51d`](https://github.com/eslint/eslint/commit/3c4d51d55fa5435ab18b6bf46f6b97df0f480ae7) feat!: default for `enforceForClassMembers` in `no-useless-computed-key` (#18054) (Francesco Trotta) * [`47e60f8`](https://github.com/eslint/eslint/commit/47e60f85e0c3f275207bb4be9b5947166a190477) feat!: Stricter rule test validations (#17654) (fnx) * [`1a94589`](https://github.com/eslint/eslint/commit/1a945890105d307541dcbff15f6438c19b476ade) feat!: `no-unused-vars` default caughtErrors to 'all' (#18043) (Josh Goldberg ✨)

source ↗

v9.0.0-beta.2Breaking

* [`79a95eb`](https://github.com/eslint/eslint/commit/79a95eb7da7fe657b6448c225d4f8ac31117456a) feat!: disallow multiple configuration comments for same rule (#18157) (Milos Djermanovic)

source ↗

v9.0.0-rc.0Breaking

* [`09bd7fe`](https://github.com/eslint/eslint/commit/09bd7fe09ad255a263286e90accafbe2bf04ccfc) feat!: move AST traversal into SourceCode (#18167) (Nicholas C. Zakas)

source ↗

v8.0.0Breaking

Version 8.0.0 is a semver-major release over 7.32.0, but no breaking change was detected in the release notes text - flagged for manual review.

source ↗

v7.0.0Breaking

Version 7.0.0 is a semver-major release over 6.8.0, but no breaking change was detected in the release notes text - flagged for manual review.

source ↗

v6.0.0Breaking

Version 6.0.0 is a semver-major release over 5.16.0, but no breaking change was detected in the release notes text - flagged for manual review.

source ↗

v5.0.0Breaking

Version 5.0.0 is a semver-major release over 4.19.1, but no breaking change was detected in the release notes text - flagged for manual review.

source ↗

v4.0.0Breaking

Version 4.0.0 is a semver-major release over 3.19.0, but no breaking change was detected in the release notes text - flagged for manual review.

source ↗

v3.0.0Breaking

Version 3.0.0 is a semver-major release over 2.13.1, but no breaking change was detected in the release notes text - flagged for manual review.

source ↗

v2.0.0Breaking

Version 2.0.0 is a semver-major release over 1.10.3, but no breaking change was detected in the release notes text - flagged for manual review.

source ↗

v1.0.0Breaking

Version 1.0.0 is a semver-major release over 0.24.1, but no breaking change was detected in the release notes text - flagged for manual review.

source ↗

Check what changed for eslint since your installed version, live.

Open the playground →