Skip to content

Releases: eslint/eslint

v9.1.0

19 Apr 21:31
Compare
Choose a tag to compare

Features

  • 03068f1 feat: Provide helpful error message for nullish configs (#18357) (Nicholas C. Zakas)
  • 751b518 feat: replace dependency graphemer with Intl.Segmenter (#18110) (Francesco Trotta)
  • 4d11e56 feat: add name to eslint configs (#18289) (ε”―η„Ά)
  • 1cbe1f6 feat: allow while(true) in no-constant-condition (#18286) (Tanuj Kanti)
  • 0db676f feat: add Intl in es6 globals (#18318) (ε”―η„Ά)

Bug Fixes

  • 8d18958 fix: Remove name from eslint/js packages (#18368) (Nicholas C. Zakas)
  • 594eb0e fix: do not crash on error in fs.walk filter (#18295) (Francesco Trotta)
  • 0d8cf63 fix: EMFILE errors (#18313) (Nicholas C. Zakas)
  • e1ac0b5 fix: --inspect-config only for flat config and respect -c (#18306) (Nicholas C. Zakas)
  • 09675e1 fix: --no-ignore should not apply to non-global ignores (#18334) (Milos Djermanovic)

Documentation

  • fb50077 docs: include notes about globals in migration-guide (#18356) (Gabriel Rohden)
  • 71c771f docs: Fix missing accessible name for scroll-to-top link (#18329) (GermΓ‘n FreixinΓ³s)
  • 200fd4e docs: indicate eslintrc mode for .eslintignore (#18285) (Francesco Trotta)
  • 16b6a8b docs: Update README (GitHub Actions Bot)
  • df5f8a9 docs: paths and patterns difference in no-restricted-imports (#18273) (Tanuj Kanti)
  • c537d76 docs: update npm init @eslint/config generated file names (#18298) (ε”―η„Ά)
  • e1e305d docs: fix linebreak-style examples (#18262) (Francesco Trotta)
  • 113f51e docs: Mention package.json config support dropped (#18305) (Nicholas C. Zakas)
  • 5c35321 docs: add eslintrc-only note to --rulesdir (#18281) (Adam Lui εˆ˜ε±•ιΉ)

Build Related

  • 1fa6622 build: do not use --force flag to install dependencies (#18284) (Francesco Trotta)

Chores

  • d9a2983 chore: upgrade @eslint/js to v9.1.1 (#18367) (Francesco Trotta)
  • 50d406d chore: package.json update for @eslint/js release (Jenkins)
  • 155c71c chore: package.json update for @eslint/js release (Jenkins)
  • 0588fc5 refactor: Move directive gathering to SourceCode (#18328) (Nicholas C. Zakas)
  • 9048e21 chore: lint docs/src/_data js files (#18335) (Milos Djermanovic)
  • 4820790 chore: upgrade globals@15.0.0 dev dependency (#18332) (Milos Djermanovic)
  • 698d9ff chore: upgrade jsdoc & unicorn plugins in eslint-config-eslint (#18333) (Milos Djermanovic)
  • 32c08cf chore: drop Node < 18 and use @eslint/js v9 in eslint-config-eslint (#18323) (Milos Djermanovic)
  • a76fb55 chore: @eslint-community/eslint-plugin-eslint-comments v4.3.0 (#18319) (Milos Djermanovic)
  • 78e45b1 chore: eslint-plugin-eslint-plugin v6.0.0 (#18316) (ε”―η„Ά)
  • 36103a5 chore: eslint-plugin-n v17.0.0 (#18315) (ε”―η„Ά)

v9.0.0

05 Apr 20:53
Compare
Choose a tag to compare

Breaking Changes

  • b7cf3bd fix!: correct camelcase rule schema for allow option (#18232) (eMerzh)
  • 09bd7fe feat!: move AST traversal into SourceCode (#18167) (Nicholas C. Zakas)
  • 79a95eb feat!: disallow multiple configuration comments for same rule (#18157) (Milos Djermanovic)
  • 9163646 feat!: Rule Tester checks for missing placeholder data in the message (#18073) (fnx)
  • 3c4d51d feat!: default for enforceForClassMembers in no-useless-computed-key (#18054) (Francesco Trotta)
  • 47e60f8 feat!: Stricter rule test validations (#17654) (fnx)
  • 1a94589 feat!: no-unused-vars default caughtErrors to 'all' (#18043) (Josh Goldberg ✨)
  • 57089cb feat!: no-restricted-imports allow multiple config entries for same path (#18021) (Milos Djermanovic)
  • 2e1d549 feat!: detect duplicate test cases (#17955) (Bryan Mishkin)
  • 701f1af feat!: no-inner-declaration new default behaviour and option (#17885) (Tanuj Kanti)
  • bde5105 fix!: handle --output-file for empty output when saving to disk (#17957) (Nitin Kumar)
  • 07107a5 fix!: upgrade eslint-scope@8.0.0 (#17942) (Milos Djermanovic)
  • 3ee0f6c fix!: no-unused-vars varsIgnorePattern behavior with catch arguments (#17932) (Tanuj Kanti)
  • 51f8bc8 fix!: configuration comments with just severity should retain options (#17945) (Milos Djermanovic)
  • d191bdd feat!: Remove CodePath#currentSegments (#17936) (Milos Djermanovic)
  • 946ae00 feat!: FlatRuleTester -> RuleTester (#17922) (Nicholas C. Zakas)
  • baff28c feat!: remove no-inner-declarations from eslint:recommended (#17920) (Milos Djermanovic)
  • cadfbcd feat!: Rename FlatESLint to ESLint (#17914) (Nicholas C. Zakas)
  • d1018fc feat!: skip running warnings in --quiet mode (#17274) (Maddy Miller)
  • fb81b1c feat!: Set default schema: [], drop support for function-style rules (#17792) (Milos Djermanovic)
  • 0b21e1f feat!: add two more cases to no-implicit-coercion (#17832) (GΓΌrgΓΌn DayΔ±oğlu)
  • 2916c63 feat!: Switch Linter to flat config by default (#17851) (Nicholas C. Zakas)
  • 200518e fix!: Parsing 'exported' comment using parseListConfig (#17675) (amondev)
  • bdd6ba1 feat!: Remove valid-jsdoc and require-jsdoc (#17694) (Nicholas C. Zakas)
  • 12be307 fix!: Behavior of CLI when no arguments are passed (#17644) (Nicholas C. Zakas)
  • 8fe8c56 feat!: Update shouldUseFlatConfig and CLI so flat config is default (#17748) (Nicholas C. Zakas)
  • 60dea3e feat!: deprecate no-new-symbol, recommend no-new-native-nonconstructor (#17710) (Francesco Trotta)
  • 5aa9c49 feat!: check for parsing errors in suggestion fixes (#16639) (Bryan Mishkin)
  • b3e0bb0 feat!: assert suggestion messages are unique in rule testers (#17532) (Josh Goldberg ✨)
  • e563c52 feat!: no-invalid-regexp make allowConstructorFlags case-sensitive (#17533) (Josh Goldberg ✨)
  • e5f02c7 fix!: no-sequences rule schema correction (#17878) (MHO)
  • 6ee3e9e feat!: Update eslint:recommended configuration (#17716) (Milos Djermanovic)
  • c2cf85a feat!: drop support for string configurations in flat config array (#17717) (Milos Djermanovic)
  • c314fd6 feat!: Remove SourceCode#getComments() (#17715) (Milos Djermanovic)
  • ae78ff1 feat!: Remove deprecated context methods (#17698) (Nicholas C. Zakas)
  • f71c328 feat!: Swap FlatESLint-ESLint, FlatRuleTester-RuleTester in API (#17823) (Nicholas C. Zakas)
  • 5304da0 feat!: remove formatters except html, json(-with-metadata), and stylish (#17531) (Josh Goldberg ✨)
  • e1e827f feat!: Require Node.js ^18.18.0 || ^20.9.0 || >=21.1.0 (#17725) (Milos Djermanovic)

Features

  • d54a412 feat: Add --inspect-config CLI flag (#18270) (Nicholas C. Zakas)
  • 97ce45b feat: Add reportUsedIgnorePattern option to no-unused-vars rule (#17662) (Pearce Ropion)
  • 3e9fcea feat: Show config names in error messages (#18256) (Nicholas C. Zakas)
  • de40874 feat: Rule Performance Statistics for flat ESLint (#17850) (Mara Kiefer)
  • d85c436 feat: use-isnan report NaN in indexOf and lastIndexOf with fromIndex (#18225) (Tanuj Kanti)
  • b8fb572 feat: add reportUnusedFallthroughComment option to no-fallthrough rule (#18188) (Kirk Waiblinger)
  • 1c173dc feat: add ignoreClassWithStaticInitBlock option to no-unused-vars (#18170) (Tanuj Kanti)
  • a451b32 feat: make no-misleading-character-class report more granular errors (#18082) (Francesco Trotta)
  • c49ed63 feat: update complexity rule for optional chaining & default values (#18152) (Mathias Schreck)
  • 11144a2 feat: no-restricted-imports option added allowImportNames (#16196) (M Pater)
  • 74124c2 feat: add suggestions to use-isnan in indexOf & lastIndexOf calls (#18063) (StyleShit)
  • 53f0f47 feat: Add loadESLint() API method for v9 (#18097) (Nicholas C. Zakas)
  • 2d11d46 feat: add suggestions to use-isnan in binary expressions (#17996) (StyleShit)
  • 26093c7 feat: fix false negatives in no-this-before-super (#17762) (Yosuke Ota)
  • 5471e43 feat: convert unsafe autofixes to suggestions in no-implicit-coercion (#17985) (GΓΌrgΓΌn DayΔ±oğlu)
  • e3051be feat: emit warning when .eslintignore file is detected (#17952) (Nitin Kumar)
  • a630edd feat: maintain latest ecma version in ESLint (#17958) (Milos Djermanovic)
  • b4e0503 feat: add no-useless-assignment rule (#17625) (Yosuke Ot...
Read more

v9.0.0-rc.0

22 Mar 20:58
Compare
Choose a tag to compare
v9.0.0-rc.0 Pre-release
Pre-release

Breaking Changes

  • 09bd7fe feat!: move AST traversal into SourceCode (#18167) (Nicholas C. Zakas)

Features

  • b8fb572 feat: add reportUnusedFallthroughComment option to no-fallthrough rule (#18188) (Kirk Waiblinger)

Bug Fixes

  • ae8103d fix: load plugins in the CLI in flat config mode (#18185) (Francesco Trotta)

Documentation

  • 239a7e2 docs: Clarify the description of sort-imports options (#18198) (gyeongwoo park)
  • 4769c86 docs: fix incorrect example in no-lone-blocks (#18215) (Tanuj Kanti)
  • 5251327 docs: Update README (GitHub Actions Bot)
  • 1dc8618 docs: Update README (GitHub Actions Bot)

Build Related

  • b91f9dc build: fix TypeError in prism-eslint-hooks.js (#18209) (Francesco Trotta)

Chores

  • 297416d chore: package.json update for eslint-9.0.0-rc.0 (#18223) (Francesco Trotta)
  • d363c51 chore: package.json update for @eslint/js release (Jenkins)
  • 1b841bb chore: fix some comments (#18213) (avoidaway)
  • 29c3595 chore: remove repetitive words (#18193) (cuithon)
  • acc2e06 chore: Introduce Knip (#18005) (Lars Kappert)

v9.0.0-beta.2

08 Mar 21:22
Compare
Choose a tag to compare
v9.0.0-beta.2 Pre-release
Pre-release

Breaking Changes

  • 79a95eb feat!: disallow multiple configuration comments for same rule (#18157) (Milos Djermanovic)

Features

  • 1c173dc feat: add ignoreClassWithStaticInitBlock option to no-unused-vars (#18170) (Tanuj Kanti)
  • a451b32 feat: make no-misleading-character-class report more granular errors (#18082) (Francesco Trotta)
  • c49ed63 feat: update complexity rule for optional chaining & default values (#18152) (Mathias Schreck)
  • 11144a2 feat: no-restricted-imports option added allowImportNames (#16196) (M Pater)

Bug Fixes

  • e37153f fix: improve error message for invalid rule config (#18147) (Nitin Kumar)
  • af6e170 fix: stop linting files after an error (#18155) (Francesco Trotta)

Documentation

  • ba1c1bb docs: Update README (GitHub Actions Bot)
  • 337cdf9 docs: Explain limitations of RuleTester fix testing (#18175) (Nicholas C. Zakas)
  • c7abd89 docs: Explain Node.js version support (#18176) (Nicholas C. Zakas)
  • d961eeb docs: show red underlines in examples in rules docs (#18041) (Yosuke Ota)
  • 558274a docs: Update README (GitHub Actions Bot)
  • 2908b9b docs: Update release documentation (#18174) (Nicholas C. Zakas)
  • 1f1260e docs: replace HackerOne link with GitHub advisory (#18165) (Francesco Trotta)
  • e5ef3cd docs: add inline cases condition in no-fallthrough (#18158) (Tanuj Kanti)
  • 450d0f0 docs: fix ignore option docs (#18154) (Francesco Trotta)

Chores

  • 7509276 chore: upgrade @eslint/js@9.0.0-beta.2 (#18180) (Milos Djermanovic)
  • 96087b3 chore: package.json update for @eslint/js release (Jenkins)
  • 925afa2 chore: Remove some uses of lodash.merge (#18179) (Milos Djermanovic)
  • 972ef15 chore: remove invalid type in @eslint/js (#18164) (Nitin Kumar)

v9.0.0-beta.1

23 Feb 22:04
Compare
Choose a tag to compare
v9.0.0-beta.1 Pre-release
Pre-release

Features

  • 74124c2 feat: add suggestions to use-isnan in indexOf & lastIndexOf calls (#18063) (StyleShit)

Bug Fixes

  • 0cb4914 fix: validate options when comment with just severity enables rule (#18133) (Milos Djermanovic)

Documentation

  • 5fe095c docs: show v8.57.0 as latest version in dropdown (#18142) (Milos Djermanovic)
  • 7db5bb2 docs: Show prerelease version in dropdown (#18135) (Nicholas C. Zakas)
  • 73a5f06 docs: Update README (GitHub Actions Bot)
  • f95cd27 docs: Disallow multiple rule configuration comments in the same example (#18116) (Milos Djermanovic)
  • d8068ec docs: Update link for schema examples (#18112) (Svetlana)

Build Related

  • c9f2f33 build: changelog update for 8.57.0 (#18144) (Milos Djermanovic)

Chores

  • 32ffdd1 chore: upgrade @eslint/js@9.0.0-beta.1 (#18146) (Milos Djermanovic)
  • e41425b chore: package.json update for @eslint/js release (Jenkins)
  • bb3b9c6 chore: upgrade @eslint/eslintrc@3.0.2 (#18145) (Milos Djermanovic)
  • e462524 chore: upgrade eslint-release@3.2.2 (#18138) (Milos Djermanovic)
  • 8e13a6b chore: fix spelling mistake in README.md (#18128) (Will Eastcott)
  • 66f52e2 chore: remove unused tools rule-types.json, update-rule-types.js (#18125) (Josh Goldberg ✨)
  • bf0c7ef ci: fix sync-labels value of pr-labeler (#18124) (Tanuj Kanti)
  • cace6d0 ci: add PR labeler action (#18109) (Nitin Kumar)
  • 1a65d3e chore: export base config from eslint-config-eslint (#18119) (Milos Djermanovic)
  • 9aa4df3 refactor: remove globals dependency (#18115) (Milos Djermanovic)

v8.57.0

23 Feb 20:39
Compare
Choose a tag to compare

Features

  • 1120b9b feat: Add loadESLint() API method for v8 (#18098) (Nicholas C. Zakas)
  • dca7d0f feat: Enable eslint.config.mjs and eslint.config.cjs (#18066) (Nitin Kumar)

Bug Fixes

  • 2196d97 fix: handle absolute file paths in FlatRuleTester (#18064) (Nitin Kumar)
  • 69dd1d1 fix: Ensure config keys are printed for config errors (#18067) (Nitin Kumar)
  • 9852a31 fix: deep merge behavior in flat config (#18065) (Nitin Kumar)
  • 4c7e9b0 fix: allow circular references in config (#18056) (Milos Djermanovic)

Documentation

  • 84922d0 docs: Show prerelease version in dropdown (#18139) (Nicholas C. Zakas)
  • 5b8c363 docs: Switch to Ethical Ads (#18117) (Milos Djermanovic)
  • 77dbfd9 docs: show NEXT in version selectors (#18052) (Milos Djermanovic)

Chores

  • 1813aec chore: upgrade @eslint/js@8.57.0 (#18143) (Milos Djermanovic)
  • 5c356bb chore: package.json update for @eslint/js release (Jenkins)
  • f4a1fe2 test: add more tests for ignoring files and directories (#18068) (Nitin Kumar)
  • 42c0aef ci: Enable CI for v8.x branch (#18047) (Milos Djermanovic)

v9.0.0-beta.0

09 Feb 23:54
Compare
Choose a tag to compare
v9.0.0-beta.0 Pre-release
Pre-release

Breaking Changes

  • 9163646 feat!: Rule Tester checks for missing placeholder data in the message (#18073) (fnx)
  • 3c4d51d feat!: default for enforceForClassMembers in no-useless-computed-key (#18054) (Francesco Trotta)
  • 47e60f8 feat!: Stricter rule test validations (#17654) (fnx)
  • 1a94589 feat!: no-unused-vars default caughtErrors to 'all' (#18043) (Josh Goldberg ✨)

Features

  • 53f0f47 feat: Add loadESLint() API method for v9 (#18097) (Nicholas C. Zakas)
  • 2d11d46 feat: add suggestions to use-isnan in binary expressions (#17996) (StyleShit)

Bug Fixes

  • c4d26fd fix: use-isnan doesn't report on SequenceExpressions (#18059) (StyleShit)

Documentation

  • f1c7e6f docs: Switch to Ethical Ads (#18090) (Strek)
  • 15c143f docs: JS Foundation -> OpenJS Foundation in PR template (#18092) (Nicholas C. Zakas)
  • 6ea339e docs: add stricter rule test validations to v9 migration guide (#18085) (Milos Djermanovic)
  • 3c816f1 docs: use relative link from CLI to core concepts (#18083) (Milos Djermanovic)
  • 9458735 docs: fix malformed eslint config comments in rule examples (#18078) (Francesco Trotta)
  • 07a1ada docs: link from --fix CLI doc to the relevant core concept (#18080) (Bryan Mishkin)
  • b844324 docs: Update team responsibilities (#18048) (Nicholas C. Zakas)
  • aadfb60 docs: document languageOptions and other v9 changes for context (#18074) (fnx)
  • 857e242 docs: tweak explanation for meta.docs rule properties (#18057) (Bryan Mishkin)
  • 10485e8 docs: recommend messageId over message for reporting rule violations (#18050) (Bryan Mishkin)
  • 98b5ab4 docs: Update README (GitHub Actions Bot)
  • 505fbf4 docs: update no-restricted-imports rule (#18015) (Tanuj Kanti)
  • c25b4af docs: Update README (GitHub Actions Bot)

Chores

  • e40d1d7 chore: upgrade @eslint/js@9.0.0-beta.0 (#18108) (Milos Djermanovic)
  • 9870f93 chore: package.json update for @eslint/js release (Jenkins)
  • 2c62e79 chore: upgrade @eslint/eslintrc@3.0.1 (#18107) (Milos Djermanovic)
  • 81f0294 chore: upgrade espree@10.0.1 (#18106) (Milos Djermanovic)
  • 5e2b292 chore: upgrade eslint-visitor-keys@4.0.0 (#18105) (Milos Djermanovic)
  • ce838ad chore: replace dependency npm-run-all with npm-run-all2 ^5.0.0 (#18045) (renovate[bot])
  • 54df731 chore: update dependency markdownlint-cli to ^0.39.0 (#18084) (renovate[bot])
  • 8f06a60 chore: update dependency shelljs to ^0.8.5 (#18079) (Francesco Trotta)
  • 93ffe30 chore: update dependency file-entry-cache to v8 (#17903) (renovate[bot])

v9.0.0-alpha.2

26 Jan 20:37
Compare
Choose a tag to compare
v9.0.0-alpha.2 Pre-release
Pre-release

Breaking Changes

  • 57089cb feat!: no-restricted-imports allow multiple config entries for same path (#18021) (Milos Djermanovic)
  • 2e1d549 feat!: detect duplicate test cases (#17955) (Bryan Mishkin)

Features

  • 26093c7 feat: fix false negatives in no-this-before-super (#17762) (Yosuke Ota)
  • 5471e43 feat: convert unsafe autofixes to suggestions in no-implicit-coercion (#17985) (GΓΌrgΓΌn DayΔ±oğlu)
  • e3051be feat: emit warning when .eslintignore file is detected (#17952) (Nitin Kumar)

Bug Fixes

  • 39076fb fix: handle absolute file paths in RuleTester (#17989) (Nitin Kumar)

Documentation

  • 33d1ab0 docs: add more examples to flat config ignores docs (#18020) (Milos Djermanovic)
  • e6eebca docs: Update sort-keys options properties count (#18025) (LB (Ben Johnston))
  • 1fedfd2 docs: Improve flat config ignores docs (#17997) (Nicholas C. Zakas)
  • 38b9b06 docs: update valid-typeof rule (#18001) (Tanuj Kanti)
  • b4abfea docs: Update note about ECMAScript support (#17991) (Francesco Trotta)
  • 6788873 docs: Update release blog post template (#17994) (Nicholas C. Zakas)
  • 1f37442 docs: Add sections on non-npm plugin configuration (#17984) (Nicholas C. Zakas)

Chores

  • 6ffdcbb chore: upgrade @eslint/js@9.0.0-alpha.2 (#18038) (Milos Djermanovic)
  • 2c12715 chore: package.json update for @eslint/js release (Jenkins)
  • cc74c4d chore: upgrade espree@10.0.0 (#18037) (Milos Djermanovic)
  • dfb68b6 chore: use Node.js 20 for docs sites (#18026) (Milos Djermanovic)
  • 8c1b8dd test: add more tests for ignoring files and directories (#18018) (Milos Djermanovic)
  • 60b966b chore: update dependency @eslint/js to v9.0.0-alpha.1 (#18014) (renovate[bot])
  • c893bc0 chore: update markdownlint to v0.33.0 (#17995) (Nitin Kumar)

v9.0.0-alpha.1

12 Jan 20:51
Compare
Choose a tag to compare
v9.0.0-alpha.1 Pre-release
Pre-release

Breaking Changes

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

Features

  • a630edd feat: maintain latest ecma version in ESLint (#17958) (Milos Djermanovic)
  • b4e0503 feat: add no-useless-assignment rule (#17625) (Yosuke Ota)
  • 287c4b7 feat: no-misleading-character-class granular errors (#17515) (Josh Goldberg ✨)

Bug Fixes

  • 6d11f3d fix: Ensure config keys are printed for config errors (#17980) (Nicholas C. Zakas)
  • 806f708 fix: no-misleading-character-class edge cases with granular errors (#17970) (Milos Djermanovic)

Documentation

  • 96307da docs: migration guide entry for no-inner-declarations (#17977) (Tanuj Kanti)
  • 40be60e docs: Update README (GitHub Actions Bot)
  • d31c180 docs: fix number of code-path events on custom rules page (#17969) (Richard Hunter)
  • 1529ab2 docs: reorder entries in v9 migration guide (#17967) (Milos Djermanovic)
  • 9507525 docs: Explain how to combine configs (#17947) (Nicholas C. Zakas)
  • 7c78576 docs: Add more removed context methods to migrate to v9 guide (#17951) (Milos Djermanovic)
  • 3a877d6 docs: Update removed CLI flags migration (#17939) (Nicholas C. Zakas)
  • 4a9cd1e docs: Update Linter API for v9 (#17937) (Milos Djermanovic)
  • 2a8eea8 docs: update docs for v9.0.0-alpha.0 (#17929) (Milos Djermanovic)

Build Related

  • c2bf27d build: update docs files when publishing prereleases (#17940) (Milos Djermanovic)

Chores

  • c5e50ee chore: package.json update for @eslint/js release (Jenkins)
  • 1bf2520 chore: Split Docs CI from core CI (#17897) (Nicholas C. Zakas)
  • 320787e chore: delete relative-module-resolver.js (#17981) (Francesco Trotta)
  • 4926f33 refactor: use Object.hasOwn() (#17948) (Milos Djermanovic)
  • df200e1 refactor: use Array.prototype.at() to get last elements (#17949) (Milos Djermanovic)
  • 750b8df chore: update dependency glob to v10 (#17917) (renovate[bot])
  • 74794f5 chore: removed unused eslintrc modules (#17938) (Milos Djermanovic)
  • 10ed29c chore: remove unused dependency rimraf (#17934) (Francesco Trotta)
  • 903ee60 ci: use --force flag when installing eslint (#17921) (Milos Djermanovic)

v9.0.0-alpha.0

29 Dec 23:47
Compare
Choose a tag to compare
v9.0.0-alpha.0 Pre-release
Pre-release

Breaking Changes

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

Features

  • 8792464 feat: Enable eslint.config.mjs and eslint.config.cjs (#17909) (Nicholas C. Zakas)
  • 24ce927 feat: warn by default for unused disable directives (#17879) (Bryan Mishkin)

Bug Fixes

  • f182114 fix: deep merge behavior in flat config (#17906) (Francesco Trotta)
  • b577e8a fix: allow circular references in config (#17752) (Francesco Trotta)

Documentation

  • 7f0ba51 docs: show NEXT in version selectors (#17911) (Milos Djermanovic)
  • 0a7911e docs: add flat config default to v9 migration guide (#17927) (Milos Djermanovic)
  • 94f8065 docs: Add CLI updates to migrate to v9 guide (#17924) (Nicholas C. Zakas)
  • 16187f2 docs: Add exported and string config notes to migrate to v9 guide (#17926) (Nicholas C. Zakas)
  • 3ae50cc docs: Add RuleTester changes to migrate to v9 guide (#17923) (Nicholas C. Zakas)
  • 0831b58 docs: add rule changes to v9 migration guide (#17925) (Milos Djermanovic)
  • 037abfc docs: update API docs (#17919) (Milos Djermanovic)
  • afc3c03 docs: add function-style and meta.schema changes to v9 migration guide (#17912) (Milos Djermanovic)
  • 1da0723 docs: update eslint:recommended section in Migrate to v9.x (#17908) (Milos Djermanovic)
  • f55881f docs: remove configuration-files-new.md (#17907) (Milos Djermanovic)
  • 63ae191 docs: Migrate to v9.0.0 (#17905) (Nicholas C. Zakas)
  • e708496 docs: Switch to flat config by default (#17840) (Nicholas C. Zakas)
  • fdf0424 docs: Update Create a Plugin for flat config (#17826) (Nicholas C. Zakas)
  • e6a91bd docs: Switch shareable config docs to use flat config (#17827) (Nicholas C. Zakas)
  • 3831fb7 docs: updated examples of max-lines rule (#17898) (Tanuj Kanti)
  • cd1ac20 docs: Update README (GitHub Actions Bot)

Chores

  • 17fedc1 chore: upgrade @eslint/js@9.0.0-alpha.0 (#17928) (Milos Djermanovic)
  • cb89ef3 chore: package.json update for @eslint/js release (Jenkins)
  • f6f4a45 chore: drop structuredClone polyfill for v9 (#17915) (Kevin Gibbons)
  • 412dcbb chore: upgrade eslint-plugin-n@16.6.0 (#17916) (Milos Djermanovic)
  • 02a8baf chore: Rename files with underscores (#17910) (Nicholas C. Zakas)
  • c0f5d91 chore: remove creating an unused instance of Linter in tests (#17902) (Milos Djermanovic)
  • 3826cdf chore: use jsdoc/no-multi-asterisks with allowWhitespace: true (#17900) (Percy Ma)
  • a9a17b3 chore: fix getting scope in tests (#17899) (Milos Djermanovic)
  • 595a1f6 test: ensure that CLI tests run with FlatESLint (#17884) (Francesco Trotta)
  • c7eca43 chore: update dependency markdownlint-cli to ^0.38.0 (#17865) (renovate[bot])
  • cc0c9f7 ci: bump github/codeql-action from 2 to 3 (#17873) (dependabot[bot])