Skip to content

Releases: eslint/eslint

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])

v8.56.0

15 Dec 22:55
Compare
Choose a tag to compare

Features

  • 0dd9704 feat: Support custom severity when reporting unused disable directives (#17212) (Bryan Mishkin)
  • 31a7e3f feat: fix no-restricted-properties false negatives with unknown objects (#17818) (Arka Pratim Chaudhuri)

Bug Fixes

  • 7d5e5f6 fix: TypeError: fs.exists is not a function on read-only file system (#17846) (Francesco Trotta)
  • 74739c8 fix: suggestion with invalid syntax in no-promise-executor-return rule (#17812) (Bryan Mishkin)

Documentation

  • 9007719 docs: update link in ways-to-extend.md (#17839) (Amel SELMANE)
  • 3a22236 docs: Update README (GitHub Actions Bot)
  • 54c3ca6 docs: fix migration-guide example (#17829) (Tanuj Kanti)
  • 4391b71 docs: check config comments in rule examples (#17815) (Francesco Trotta)
  • fd28363 docs: remove mention about ESLint stylistic rules in readme (#17810) (Zwyx)
  • 48ed5a6 docs: Update README (GitHub Actions Bot)

Chores

  • ba6af85 chore: upgrade @eslint/js@8.56.0 (#17864) (Milos Djermanovic)
  • 60a531a chore: package.json update for @eslint/js release (Jenkins)
  • ba87a06 chore: update dependency markdownlint to ^0.32.0 (#17783) (renovate[bot])
  • 9271d10 chore: add GitHub issue template for docs issues (#17845) (Josh Goldberg ✨)
  • 70a686b chore: Convert rule tests to FlatRuleTester (#17819) (Nicholas C. Zakas)
  • f3a599d chore: upgrade eslint-plugin-unicorn to v49.0.0 (#17837) (ε”―η„Ά)
  • 905d4b7 chore: upgrade eslint-plugin-eslint-plugin v5.2.1 (#17838) (ε”―η„Ά)
  • 4d7c3ce chore: update eslint-plugin-n v16.4.0 (#17836) (ε”―η„Ά)
  • fd0c60c ci: unpin Node.js 21.2.0 (#17821) (Francesco Trotta)

v8.55.0

01 Dec 21:47
Compare
Choose a tag to compare

Features

  • 8c9e6c1 feat: importNamePattern option in no-restricted-imports (#17721) (Tanuj Kanti)

Documentation

  • 83ece2a docs: fix typo --rules -> --rule (#17806) (OKURA Masafumi)
  • fffca5c docs: remove "Open in Playground" buttons for removed rules (#17791) (Francesco Trotta)
  • a6d9442 docs: fix correct/incorrect examples of rules (#17789) (Tanuj Kanti)
  • 383e999 docs: update and fix examples for no-unused-vars (#17788) (Tanuj Kanti)
  • 5a8efd5 docs: add specific stylistic rule for each deprecated rule (#17778) (Etienne)

Chores

  • eb8950c chore: upgrade @eslint/js@8.55.0 (#17811) (Milos Djermanovic)
  • 93df384 chore: package.json update for @eslint/js release (Jenkins)
  • fe4b954 chore: upgrade @eslint/eslintrc@2.1.4 (#17799) (Milos Djermanovic)
  • bd8911d ci: pin Node.js 21.2.0 (#17809) (Milos Djermanovic)
  • b29a16b chore: fix several cli tests to run in the intended flat config mode (#17797) (Milos Djermanovic)
  • de165c1 chore: remove unused config-extends fixtures (#17781) (Milos Djermanovic)
  • d4304b8 chore: remove formatting/stylistic rules from new rule templates (#17780) (Francesco Trotta)
  • 21024fe chore: check rule examples for syntax errors (#17718) (Francesco Trotta)

v8.54.0

17 Nov 21:45
Compare
Choose a tag to compare

Features

  • a7a883b feat: for-direction rule add check for condition in reverse order (#17755) (Angelo Annunziata)
  • 1452dc9 feat: Add suggestions to no-console (#17680) (Joel Mathew Koshy)
  • 21ebf8a feat: update no-array-constructor rule (#17711) (Francesco Trotta)

Bug Fixes

  • 98926e6 fix: Ensure that extra data is not accidentally stored in the cache file (#17760) (Milos Djermanovic)
  • e8cf9f6 fix: Make dark scroll bar in dark theme (#17753) (Pavel)
  • 3cbeaad fix: Use cwd constructor option as config basePath in Linter (#17705) (Milos Djermanovic)

Documentation

  • becfdd3 docs: Make clear when rules are removed (#17728) (Nicholas C. Zakas)
  • 05d6e99 docs: update "Submit a Pull Request" page (#17712) (Francesco Trotta)
  • eb2279e docs: display info about deprecated rules (#17749) (Percy Ma)
  • d245326 docs: Correct working in migrating plugin docs (#17722) (Filip TammergΓ₯rd)

Chores

  • d644de9 chore: upgrade @eslint/js@8.54.0 (#17773) (Milos Djermanovic)
  • 1e6e314 chore: package.json update for @eslint/js release (Jenkins)
  • 6fb8805 chore: Fixed grammar in issue_templates/rule_change (#17770) (Joel Mathew Koshy)
  • 85db724 chore: upgrade markdownlint to 0.31.1 (#17754) (Nitin Kumar)
  • 6d470d2 chore: update dependency recast to ^0.23.0 (#17736) (renovate[bot])
  • b7121b5 chore: update dependency markdownlint-cli to ^0.37.0 (#17735) (renovate[bot])
  • 633b9a1 chore: update dependency regenerator-runtime to ^0.14.0 (#17739) (renovate[bot])
  • acac16f chore: update dependency vite-plugin-commonjs to ^0.10.0 (#17740) (renovate[bot])
  • ba8ca7e chore: add .github/renovate.json5 (#17567) (Josh Goldberg ✨)

v8.53.0

03 Nov 23:24
Compare
Choose a tag to compare

Features

  • 528e1c0 feat: Deprecate formatting rules (#17696) (Nicholas C. Zakas)
  • c0b11dd feat: Add suggestions for no-prototype-builtins (#17677) (Yonathan Randolph)

Bug Fixes

  • 1ad6257 fix: ensure that exit code for fatal errors is not overwritten (#17683) (Milos Djermanovic)
  • b329ea7 fix: add ; after JSX nodes in no-object-constructor autofix (#17672) (Francesco Trotta)

Documentation

  • ab8c60d docs: change position of return to top button (#17688) (Tanuj Kanti)
  • 4fc44c0 docs: update twitter icon to new X icon (#17687) (Tanuj Kanti)
  • 4164b2c docs: Update README (GitHub Actions Bot)
  • 8651895 docs: Fix tabs in rule examples (#17653) (Francesco Trotta)
  • 3aec1c5 docs: explained rule fixers and suggestions (#17657) (Josh Goldberg ✨)

Chores

  • ba4d4d5 chore: remove metascraper (#17707) (Milos Djermanovic)
  • 0d07338 chore: Update dependencies (#17706) (Milos Djermanovic)
  • 93256a3 chore: package.json update for @eslint/js release (ESLint Jenkins)
  • 485ec7d test: fix ESLint tests for caching (#17699) (Milos Djermanovic)
  • db06a7f ci: bump actions/setup-node from 3 to 4 (#17676) (dependabot[bot])
  • 994596b ci: run tests in Node.js 21 (#17673) (Francesco Trotta)

v8.52.0

20 Oct 21:00
Compare
Choose a tag to compare

Features

  • 70648ee feat: report-unused-disable-directive to report unused eslint-enable (#17611) (Yosuke Ota)

Bug Fixes

  • 5de9637 fix: Ensure shared references in rule configs are separated (#17666) (Nicholas C. Zakas)
  • dcfe573 fix: add preceding semicolon in suggestions of no-object-constructor (#17649) (Francesco Trotta)

Documentation

  • 476d58a docs: Add note about invalid CLI flags when using flat config. (#17664) (Nicholas C. Zakas)
  • 660ed3a docs: Plugin flat config migration guide (#17640) (Nicholas C. Zakas)
  • a58aa20 docs: fix examples for several rules (#17645) (Milos Djermanovic)
  • 179929b docs: Remove trailing newline from the code of Playground links (#17641) (Francesco Trotta)
  • f8e5c30 docs: Update README (GitHub Actions Bot)
  • b7ef2f3 docs: Enable pretty code formatter output (#17635) (Nicholas C. Zakas)
  • 0bcb9a8 docs: Fix syntax errors in rule examples (#17633) (Francesco Trotta)
  • 61b9083 docs: Make no-continue example code work (#17643) (Zhongyuan Zhou)
  • 9fafe45 docs: upgrade to 11ty 2.0 (#17632) (Percy Ma)
  • ff8e4bf docs: Update README (GitHub Actions Bot)
  • fab249a docs: Update README (GitHub Actions Bot)
  • 392305b docs: Update no-irregular-whitespace and fix examples (#17626) (Francesco Trotta)
  • 6b8acfb docs: Add real whitespace to no-trailing-spaces examples (#17630) (Francesco Trotta)
  • 1000187 docs: Fix examples in unicode-bom (#17631) (Francesco Trotta)
  • 000290c docs: Update README (GitHub Actions Bot)

Chores

  • 6d1f0c2 chore: upgrade @eslint/js@8.52.0 (#17671) (Milos Djermanovic)
  • d63d4fe chore: package.json update for @eslint/js release (ESLint Jenkins)
  • f30cefe test: fix FlatESLint tests for caching (#17658) (Milos Djermanovic)
  • ef650cb test: update tests for no-promise-executor-return (#17661) (Milos Djermanovic)

v8.51.0

06 Oct 20:15
Compare
Choose a tag to compare

Features

  • 0a9c433 feat: Add --no-warn-ignored CLI option for flat config (#17569) (Domantas Petrauskas)
  • 977e67e feat: logical-assignment-operators to report expressions with 3 operands (#17600) (Yosuke Ota)

Bug Fixes

  • f976b2f fix: make rule severity case-sensitive in flat config (#17619) (Milos Djermanovic)
  • 0edfe36 fix: Ensure crash error messages are not duplicated (#17584) (Nicholas C. Zakas)
  • dd79abc fix: eslint-disable to be able to parse quoted rule names (#17612) (Yosuke Ota)
  • d2f6801 fix: Ensure correct code path for && followed by ?? (#17618) (Nicholas C. Zakas)

Documentation

  • ee5be81 docs: default to sourceType: "module" in rule examples (#17615) (Francesco Trotta)
  • 1aa26df docs: Add more examples for multiline-ternary (#17610) (George Ashiotis)
  • 47d0b44 docs: Update README (GitHub Actions Bot)
  • dbf831e docs: use generated og image (#17601) (Percy Ma)
  • 1866da5 docs: Update README (GitHub Actions Bot)

Chores

  • 1ef39ea chore: upgrade @eslint/js@8.51.0 (#17624) (Milos Djermanovic)
  • f8c7403 chore: package.json update for @eslint/js release (ESLint Jenkins)
  • 2665552 test: fix flat config linter tests to use Linter in flat config mode (#17616) (Milos Djermanovic)
  • 7b77bcc chore: Refactor CodePathState (#17510) (Nicholas C. Zakas)
  • bc77c9a chore: Document and refactor ForkContext (#17566) (Nicholas C. Zakas)
  • 24e1f14 chore: Refactor and document CodePath (#17558) (Nicholas C. Zakas)

v8.50.0

22 Sep 21:04
Compare
Choose a tag to compare

Features

  • 27d5a9e feat: add suggestions to array-callback-return (#17590) (Tanuj Kanti)
  • f9082ff feat: flat-rule-tester make sure default config always matches (#17585) (fnx)
  • 83914ad feat: Implement SourceCode#applyInlineConfig() (#17351) (Nicholas C. Zakas)
  • 22a5582 feat: add rule no-object-constructor, deprecate no-new-object (#17576) (Francesco Trotta)
  • 85a3d9e feat: allowVoid option in array-callback-return (#17564) (Tanuj Kanti)

Bug Fixes

  • cc4d26b fix: Ensure deprecated context.parserServices warns (#17593) (Nicholas C. Zakas)
  • 1ea4cfb fix: Ensure all RuleTester tests all deprecated context methods (#17587) (Nicholas C. Zakas)
  • aa1b657 fix: wrong suggestion and message in no-misleading-character-class (#17571) (Yosuke Ota)

Documentation

  • 1800537 docs: Fix and standardize JSX code examples (#17591) (Francesco Trotta)
  • 48a44a7 docs: Add correct/incorrect tags to prefer-arrow-callback (#17589) (Francesco Trotta)
  • 20893d4 docs: fix incorrect tag's place (#17575) (Tanuj Kanti)
  • bd7a71f docs: Update README (GitHub Actions Bot)

Chores

  • f8a8a2d chore: upgrade @eslint/js@8.50.0 (#17599) (Milos Djermanovic)
  • 38ada6d chore: package.json update for @eslint/js release (ESLint Jenkins)

v8.49.0

08 Sep 20:23
Compare
Choose a tag to compare

Features

  • da09f4e feat: Implement onUnreachableCodePathStart/End (#17511) (Nicholas C. Zakas)
  • 32b2327 feat: Emit deprecation warnings in RuleTester (#17527) (Nicholas C. Zakas)
  • acb7df3 feat: add new enforce option to lines-between-class-members (#17462) (Nitin Kumar)

Documentation

  • ecfb54f docs: Update README (GitHub Actions Bot)
  • de86b3b docs: update no-promise-executor-return examples (#17529) (Nitin Kumar)
  • 032c4b1 docs: add typescript template (#17500) (James)
  • cd7da5c docs: Update README (GitHub Actions Bot)

Chores

  • b7621c3 chore: remove browser test from npm test (#17550) (Milos Djermanovic)
  • cac45d0 chore: upgrade @eslint/js@8.49.0 (#17549) (Milos Djermanovic)
  • cd39508 chore: package.json update for @eslint/js release (ESLint Jenkins)
  • 203a971 ci: bump actions/checkout from 3 to 4 (#17530) (dependabot[bot])
  • a40fa50 chore: use eslint-plugin-jsdoc's flat config (#17516) (Milos Djermanovic)
  • 926a286 test: replace Karma with Webdriver.IO (#17126) (Christian Bromann)
  • f591d2c chore: Upgrade config-array (#17512) (Nicholas C. Zakas)