ESLint v8.x reached end-of-life on 2024-10-05 and is no longer maintained. Upgrade or consider long-term support options

ESLint v8.0.0 released

We just pushed ESLint v8.0.0, which is a major release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release. This release also has some breaking changes, so please read the following closely.

Highlights

There are several breaking changes in v8.0.0. We’ve created a migration guide to explain the breaking changes and describe how to upgrade. In addition, there are several new features:

  • ESLint’s default parser and all core rules now fully support the following ES2022 syntax:
    • Class public instance fields and private instance fields
    • Class public static fields and private static fields
    • Class private instance methods and accessors
    • Class private static methods and accessors
    • RegExp match indices
    • Top-level await
  • Autofix can now remove unused disable directives when --fix and --report-unused-disable-directives are used together.
  • The use of reserved words as identifiers in ES3 is now disallowed. This change only affects users with default parser configured with { "ecmaVersion": 3 } in parser options.
  • The class-methods-use-this rule has a new enforceForClassFields option.
  • The max-classes-per-file rule has a new ignoreExpressions option.
  • The meta.docs.category property has been removed from all core rules.

Breaking Changes

Enhancements

Bug Fixes

Documentation

Dependency Upgrades

  • 7d3f7f0 Upgrade: unfrozen @eslint/eslintrc (fixes #15036) (#15146) (Brandon Mills)
  • 9e5c2e8 Upgrade: @eslint/eslintrc@1.0.1 (#15047) (Milos Djermanovic)
  • ec9db63 Upgrade: @eslint/eslintrc@1.0.0 (#14865) (Milos Djermanovic)
  • 62c6fe7 Upgrade: Debug 4.0.1 > 4.3.2 (#14892) (sandesh bafna)
  • 88db3f5 Upgrade: js-yaml to v4 (#14890) (Bryan Mishkin)
  • ae6072b Upgrade: eslint-visitor-keys to v3 (#14902) (Bryan Mishkin)
  • e53d8cf Upgrade: markdownlint dev dependencies (#14883) (Bryan Mishkin)
  • d66e941 Upgrade: @humanwhocodes/config-array to 0.6 (#14891) (Bryan Mishkin)
  • 71faa38 Build: changelog update for 8.0.0-rc.0 (ESLint Jenkins)
  • d148ffd Build: changelog update for 8.0.0-beta.2 (ESLint Jenkins)
  • 95cc61e Build: changelog update for 8.0.0-beta.1 (ESLint Jenkins)
  • c74fe08 Build: Force prerelease peer dep for Node 16 in CI (#14933) (Brandon Mills)
  • 027165c Build: changelog update for 8.0.0-beta.0 (ESLint Jenkins)
  • b8b2d55 Build: add codeql (#14729) (薛定谔的猫)

Chores

  • fabdf8a Chore: Remove target.all from Makefile.js (#15088) (Hirotaka Tagawa / wafuwafu13)
  • 05d7140 Chore: document target global in Makefile.js (#15084) (Hirotaka Tagawa / wafuwafu13)
  • 47be800 Chore: test Property > .key with { a = 1 } pattern (fixes #14799) (#15072) (Milos Djermanovic)
  • 9fb0f70 Chore: fix bug report template (#15061) (Milos Djermanovic)
  • f87e199 Chore: Cleanup issue templates (#15039) (Nicholas C. Zakas)
  • 921ba1e Chore: fix failing cli test (#15041) (Milos Djermanovic)
  • 143a598 Chore: Switch issues to use forms (#15024) (Nicholas C. Zakas)
  • b4232d4 Chore: Add test that deprecated rules display a deprecated notice (#14989) (TagawaHirotaka)
  • db15183 Chore: Refactor comments of tests (#14956) (TagawaHirotaka)
  • a79c9f3 Chore: Enforce jsdoc check-line-alignment never (#14955) (Brett Zamir)
  • 2d18db6 Chore: add test for merging parserOptions in Linter (#14948) (Milos Djermanovic)
  • 9a4ae3b Chore: Apply comment require-description and check ClassDeclaration (#14949) (Brett Zamir)
  • 8344675 Chore: fix small typo (#14951) (Sosuke Suzuki)
  • 58840ac Chore: Update jsdoc plugin and tweak rules in effect (#14814) (Brett Zamir)
  • be334f9 Chore: Fix Makefile call to linter.getRules() (#14932) (Brandon Mills)
  • 0c86b68 Chore: Replace old syntax for Array flat/flatMap (#14614) (Stephen Wade)
  • 6a89f3f Chore: ignore yarn-error.log and .pnpm-debug.log (#14925) (Nitin Kumar)
  • 3b6cd89 Chore: Add rel/abs path tests in no-restricted-{imports/modules} rules (#14910) (Bryan Mishkin)
  • f984515 Chore: add assertions on reporting location in semi (#14899) (Nitin Kumar)
  • 149230c Chore: Specify Node 14.x for Verify Files CI job (#14896) (Milos Djermanovic)
  • 537cf6a Chore: update glob-parent (fixes #14879)(#14887) (Nitin Kumar)
  • f7b4a3f Chore: update dev deps to latest (#14624) (薛定谔的猫)

The latest ESLint news, case studies, tutorials, and resources.

ESLint v9.17.0 released
2 min read

ESLint v9.17.0 released

We just pushed ESLint v9.17.0, which is a minor release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release.

ESLint v9.16.0 released
2 min read

ESLint v9.16.0 released

We just pushed ESLint v9.16.0, which is a minor release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release.

ESLint v9.15.0 released
2 min read

ESLint v9.15.0 released

We just pushed ESLint v9.15.0, which is a minor release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release.