![ESLint v9.20.1 released](/assets/images/release-notes-patch-560w.jpeg)
Published under: Release Notes
1 min read
We just pushed ESLint v8.37.0, which is a minor release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release.
SourceCode#getScope(node)
to get the scope of the given node. The node
argument is mandatory. This method works the same as context.getScope()
but isn’t limited to the currently traversed node. The context.getScope()
method is now considered deprecated in favor of SourceCode#getScope(node)
. This change is part of the implementation of language plugins.meta
object with name
and version
properties to allow for easier debugging and more effective caching. In the new config system, ESLint uses these values when serializing configuration objects (for example, the –print-config CLI option) and when determining whether cached lint results (the --cache
CLI option) are still valid. If a parser/plugin provides meta
, ESLint can now invalidate caches when a new version of the parser/plugin is installed.languageOptions.parser
must now be a parser object. Referencing parsers by "pluginName/parserName"
is no longer supported.b6ab8b2
feat: require-unicode-regexp
add suggestions (#17007) (Josh Goldberg)10022b1
feat: Copy getScope() to SourceCode (#17004) (Nicholas C. Zakas)1665c02
feat: Use plugin metadata for flat config serialization (#16992) (Nicholas C. Zakas)b3634f6
feat: docs license (#17010) (Samuel Roldan)892e6e5
feat: languageOptions.parser must be an object. (#16985) (Nicholas C. Zakas)619f3fd
fix: correctly handle null
default config in RuleTester
(#17023) (Brad Zacher)1fbf118
fix: getFirstToken
/getLastToken
on comment-only node (#16889) (Francesco Trotta)129e252
fix: Fix typo in logical-assignment-operators
rule description (#17000) (Francesco Trotta)75339df
docs: fix typos and missing info in id-match docs (#17029) (Ed Lucas)ec2d830
docs: Fix typos in the semi
rule docs (#17012) (Andrii Lundiak)e39f28d
docs: add back to top button (#16979) (Tanuj Kanti)721c717
docs: Custom Processors cleanup and expansion (#16838) (Ben Perlmutter)d049f97
docs: ‘How ESLint is Maintained’ page (#16961) (Ben Perlmutter)5251a92
docs: Describe guard options for guard-for-in (#16986) (alope107)6157d81
docs: Add example to guard-for-in docs. (#16983) (alope107)fd47998
docs: update Array.prototype.toSorted
specification link (#16982) (Milos Djermanovic)3e1cf6b
docs: Copy edits on Maintain ESLint docs (#16939) (Ben Perlmutter)c67f299
chore: upgrade @eslint/js@8.37.0 (#17033) (Milos Djermanovic)ee9ddbd
chore: package.json update for @eslint/js release (ESLint Jenkins)dddb475
chore: upgrade @eslint/eslintrc@2.0.2 (#17032) (Milos Djermanovic)522431e
chore: upgrade espree@9.5.1 (#17031) (Milos Djermanovic)f5f9a88
chore: upgrade eslint-visitor-keys@3.4.0 (#17030) (Milos Djermanovic)4dd8d52
ci: bump actions/stale from 7 to 8 (#17026) (dependabot[bot])ad9dd6a
chore: remove duplicate scss, (#17005) (Strek)ada6a3e
ci: unpin Node 19 (#16993) (Milos Djermanovic)c3da975
chore: Remove triage label from template (#16990) (Nicholas C. Zakas)69bc0e2
ci: pin Node 19 to 19.7.0 (#16987) (Milos Djermanovic)The latest ESLint news, case studies, tutorials, and resources.