
Highlights
Here are some of the important changes in this release.
Exporting of new LegacyESLint class
As we continue our transition to the flat config system, we’ve been working with integrators to understand how best to help them transition as well. While we provided the FlatESLint class to allow integrations to start using the flat config system before it’s set to default, we discovered that our original plan (replace ESLint with FlatESLint in v9.0.0) would have left integrations unable to support eslintrc during the transition.
To fix this, we added the LegacyESLint class as an export from /use-at-your-own-risk. Both FlatESLint and LegacyESLint will be available through the v9.0.0 lifecycle, allowing integrators to continue to support both config formats. You can use these classes like this:
const { FlatESLint, LegacyESLint } = require("eslint/use-at-your-own-risk");
If you are using the ESLint class in your integration, it’s a good idea to switch that to LegacyESLint to make the upgrade to v9.0.0 as smooth as possible when it is released later this year.
The plan is to remove both FlatESLint and LegacyESLint classes in v10.0.0.
New configuration migration guide
We’ve published a new Configuration Migration Guide to help you make the switch from eslintrc to flat config formats. Flat config is now considered feature complete and it’s a good time to start switching over before flat config becomes the default in v9.0.0. This guide walks you through the various sections of your eslintrc file and shows how to convert them to flat config.
We’re grateful for the early adopters of the new config system who provided the feedback that makes up the core of this new guide.
Features
cdd063cfeat: Expose LegacyESLint in unsupported API (#17341) (Nicholas C. Zakas)d34abe5feat: fix indent rule for else-if (#17318) (Milos Djermanovic)
Bug Fixes
b79b6fbfix: Fix suggestion message inno-useless-escape(#17339) (Francesco Trotta)c667055fix: provide uniquefixandfix.rangeobjects in lint messages (#17332) (Milos Djermanovic)
Documentation
89f3225docs: add playground links to correct and incorrect code blocks (#17306) (Josh Goldberg ✨)f8892b5docs: Expand rule option schema docs (#17198) (Matt Wilkinson)8bcbf11docs: Config Migration Guide (#17230) (Ben Perlmutter)bb30908docs: Update README (GitHub Actions Bot)84d243bdocs: Update README (GitHub Actions Bot)b762632docs: Update README (GitHub Actions Bot)138c096docs: add more prefer-destructuring examples with array destructuring (#17330) (Milos Djermanovic)1fc50a8docs:max-lenrulecodeandtabWidthas positional arguments (#17331) (Jesús Leganés-Combarro)
Chores
68f63d7chore: package.json update for @eslint/js release (ESLint Jenkins)5ca9b4dchore: update eslint-config-eslint exports (#17336) (Milos Djermanovic)7bf2e86chore: remove unused dependencies (#17352) (Percy Ma)c6f8cd0chore: RemovedefaultIgnoresfrom FlatESLint private members (#17349) (Francesco Trotta)0052374chore: move jsdoc settings to eslint-config-eslint (#17338) (唯然)
