
Highlights
This release backports from v9.x to v8.x two new features and several bug fixes related to the flat config system to help plugins, integrations and users migrate to flat config ahead of the final v9.0.0 release.
Support for eslint.config.mjs and eslint.config.cjs
This release introduces support for eslint.config.mjs and eslint.config.cjs configuration files to v8.x in addition to eslint.config.js, making it easier to use the module format you’d prefer regardless of the module format of the containing package.
New API loadESLint()
ESLint now exports a new function loadESLint() from its main entry point. Integrations can use this function to get either the FlatESLint class (ESLint class in v9.x) or the ESLint class (LegacyESLint class in v9.x) and thus easily swap between flat config and eslintrc APIs.
Features
1120b9bfeat: Add loadESLint() API method for v8 (#18098) (Nicholas C. Zakas)dca7d0ffeat: Enableeslint.config.mjsandeslint.config.cjs(#18066) (Nitin Kumar)
Bug Fixes
2196d97fix: handle absolute file paths inFlatRuleTester(#18064) (Nitin Kumar)69dd1d1fix: Ensure config keys are printed for config errors (#18067) (Nitin Kumar)9852a31fix: deep merge behavior in flat config (#18065) (Nitin Kumar)4c7e9b0fix: allow circular references in config (#18056) (Milos Djermanovic)
Documentation
84922d0docs: Show prerelease version in dropdown (#18139) (Nicholas C. Zakas)5b8c363docs: Switch to Ethical Ads (#18117) (Milos Djermanovic)77dbfd9docs: show NEXT in version selectors (#18052) (Milos Djermanovic)
