Releases: eslint/eslint
Releases Β· eslint/eslint
v9.27.0
Features
d71e37f
feat: Allow flags to be set in ESLINT_FLAGS env variable (#19717) (Nicholas C. Zakas)ba456e0
feat: Externalize MCP server (#19699) (Nicholas C. Zakas)07c1a7e
feat: addallowRegexCharacters
tono-useless-escape
(#19705) (sethamus)7bc6c71
feat: add no-unassigned-vars rule (#19618) (Jacob Bandes-Storch)ee40364
feat: convert no-array-constructor suggestions to autofixes (#19621) (sethamus)32957cd
feat: support TS syntax inmax-params
(#19557) (Nitin Kumar)
Bug Fixes
5687ce7
fix: correct mismatched removed rules (#19734) (루λ°LuMir)dc5ed33
fix: correct types and tighten type definitions inSourceCode
class (#19731) (루λ°LuMir)de1b5de
fix: correctservice
property name inLinter.ESLintParseResult
type (#19713) (Francesco Trotta)60c3e2c
fix: sort keys in eslint-suppressions.json to avoid git churn (#19711) (Ron Waldon-Howe)9da90ca
fix: addallowReserved
toLinter.ParserOptions
type (#19710) (Francesco Trotta)fbb8be9
fix: addinfo
toESLint.DeprecatedRuleUse
type (#19701) (Francesco Trotta)
Documentation
25de550
docs: Update description of frozen rules to mention TypeScript (#19736) (Nicholas C. Zakas)bd5def6
docs: Clean up configuration files docs (#19735) (Nicholas C. Zakas)4d0c60d
docs: Add Neovim to editor integrations (#19729) (Maria JosΓ© Solano)71317eb
docs: Update README (GitHub Actions Bot)4c289e6
docs: Update README (GitHub Actions Bot)f0f0d46
docs: clarify that unused suppressions cause non-zero exit code (#19698) (Milos Djermanovic)8ed3273
docs: fix internal usages ofConfigData
type (#19688) (Francesco Trotta)eb316a8
docs: addfmt
andcheck
sections toPackage.json Conventions
(#19686) (루λ°LuMir)a3a2559
docs: fix wording in Combine Configs (#19685) (Milos Djermanovic)c8d17e1
docs: Update README (GitHub Actions Bot)
Chores
f8f1560
chore: upgrade @eslint/js@9.27.0 (#19739) (Milos Djermanovic)ecaef73
chore: package.json update for @eslint/js release (Jenkins)596fdc6
chore: update dependency @arethetypeswrong/cli to ^0.18.0 (#19732) (renovate[bot])f791da0
chore: remove unbalanced curly brace from.editorconfig
(#19730) (Maria JosΓ© Solano)e86edee
refactor: Consolidate Config helpers (#19675) (Nicholas C. Zakas)cf36352
chore: remove shared types (#19718) (Francesco Trotta)f60f276
refactor: Easier RuleContext creation (#19709) (Nicholas C. Zakas)58a171e
chore: update dependency @eslint/plugin-kit to ^0.3.1 (#19712) (renovate[bot])3a075a2
chore: update dependency @eslint/core to ^0.14.0 (#19715) (renovate[bot])44bac9d
ci: run tests in Node.js 24 (#19702) (Francesco Trotta)35304dd
chore: add missingfunding
field to packages (#19684) (루λ°LuMir)f305beb
test: mockprocess.emitWarning
to prevent output disruption (#19687) (Francesco Trotta)
v9.26.0
Features
e9754e7
feat: add reportGlobalThis to no-shadow-restricted-names (#19670) (sethamus)0fa2b7a
feat: add suggestions foreqeqeq
rule (#19640) (Nitin Kumar)dcbdcc9
feat: Add MCP server (#19592) (Nicholas C. Zakas)2dfd83e
feat: addignoreDirectives
option inno-unused-expressions
(#19645) (sethamus)
Bug Fixes
96e84de
fix: check cache file existence before deletion (#19648) (sethamus)d683aeb
fix: don't crash on tests with circular references inRuleTester
(#19664) (Milos Djermanovic)9736d5d
fix: addnamespace
toPlugin.meta
type (#19661) (Milos Djermanovic)17bae69
fix: updateRuleTester.run()
type (#19634) (Nitin Kumar)
Documentation
dd98d63
docs: Update README (GitHub Actions Bot)c25e858
docs: Update README (GitHub Actions Bot)b2397e9
docs: Update README (GitHub Actions Bot)addd0a6
docs: fix formatting of unordered lists in Markdown (#19660) (Milos Djermanovic)a21b38d
docs: Update README (GitHub Actions Bot)c0721a7
docs: fix double space in command (#19657) (CamWass)
Chores
5b247c8
chore: upgrade to@eslint/js@9.26.0
(#19681) (Francesco Trotta)d6fa4ac
chore: package.json update for @eslint/js release (Jenkins)0958690
chore: disambiguate internal typesLanguageOptions
andRule
(#19669) (Francesco Trotta)f1c858e
chore: fix internal type references toPlugin
andRule
(#19665) (Francesco Trotta)40dd299
refactor: One-shot ESQuery selector analysis (#19652) (Nicholas C. Zakas)1cfd702
chore: update dependency @eslint/json to ^0.12.0 (#19656) (renovate[bot])
v9.25.1
v9.25.0
Features
dcd95aa
feat: support TypeScript syntax in no-empty-function rule (#19551) (sethamus)77d6d5b
feat: support TS syntax inno-unused-expressions
(#19564) (Sweta Tanwar)90228e5
feat: supportJSRuleDefinition
type (#19604) (루λ°LuMir)59ba6b7
feat: add allowObjects option to no-restricted-properties (#19607) (sethamus)db650a0
feat: support TypeScript syntax inno-invalid-this
rule (#19532) (Tanuj Kanti)9535cff
feat: support TS syntax inno-loop-func
(#19559) (Nitin Kumar)
Bug Fixes
Documentation
ca7a735
docs: updateno-undef-init
when not to use section (#19624) (Tanuj Kanti)1b870c9
docs: useeslint-config-xo
in the getting started guide (#19629) (Nitin Kumar)5d4af16
docs: add types for multiple rule options (#19616) (Tanuj Kanti)e8f8d57
docs: Update README (GitHub Actions Bot)a40348f
docs: no-use-before-define tweaks (#19622) (Kirk Waiblinger)0ba3ae3
docs: Update README (GitHub Actions Bot)865dbfe
docs: ensure "learn more" deprecation links point to useful resource (#19590) (Kirk Waiblinger)f80b746
docs: add known limitations for no-self-compare (#19612) (Nitin Kumar)865aed6
docs: Update README (GitHub Actions Bot)
Chores
88dc196
chore: upgrade @eslint/js@9.25.0 (#19636) (Milos Djermanovic)345288d
chore: package.json update for @eslint/js release (Jenkins)affe6be
chore: upgrade trunk (#19628) (sethamus)dd20cf2
test: fixno-loop-func
test with duplicate variable reports (#19610) (Milos Djermanovic)bd05397
chore: upgrade@eslint/*
dependencies (#19606) (Milos Djermanovic)22ea18b
chore: replace invalidint
type withnumber
inside JSDocs. (#19597) (Arya Emami)
v9.24.0
Features
556c25b
feat: support loading TS config files using--experimental-strip-types
(#19401) (Arya Emami)72650ac
feat: support TS syntax ininit-declarations
(#19540) (Nitin Kumar)03fb0bc
feat: normalize patterns to handle "./" prefix in files and ignores (#19568) (Pixel998)071dcd3
feat: support TS syntax inno-dupe-class-members
(#19558) (Nitin Kumar)cd72bcc
feat: Introduce a way to suppress violations (#19159) (Iacovos Constantinou)2a81578
feat: support TS syntax inno-loss-of-precision
(#19560) (Nitin Kumar)30ae4ed
feat: add new options to class-methods-use-this (#19527) (sethamus)b79ade6
feat: support TypeScript syntax inno-array-constructor
(#19493) (Tanuj Kanti)
Bug Fixes
b23d1c5
fix: deduplicate variable names in no-loop-func error messages (#19595) (Nitin Kumar)fb8cdb8
fix: useany[]
type forcontext.options
(#19584) (Francesco Trotta)
Documentation
f857820
docs: update documentation for--experimental-strip-types
(#19594) (Nikolas SchrΓΆter)803e4af
docs: simplify gitignore path handling in includeIgnoreFile section (#19596) (Thomas Broyer)6d979cc
docs: Update README (GitHub Actions Bot)82177e4
docs: Update README (GitHub Actions Bot)e849dc0
docs: replace existing var with const (#19578) (Sweta Tanwar)0c65c62
docs: don't pass filename when linting rule examples (#19571) (Milos Djermanovic)6be36c9
docs: Update custom-rules.md code example of fixer (#19555) (Yifan Pan)
Build Related
Chores
ef67420
chore: upgrade @eslint/js@9.24.0 (#19602) (Milos Djermanovic)4946847
chore: package.json update for @eslint/js release (Jenkins)a995acb
chore: correct 'flter'/'filter' typo in package script (#19587) (Josh Goldberg β¨)b9a5efa
test: skip symlink test on Windows (#19503) (fisker Cheung)46eea6d
chore: removeRule
&FormatterFunction
fromshared/types.js
(#19556) (Nitin Kumar)bdcc91d
chore: modify .editorconfig to keep parity with prettier config (#19577) (Sweta Tanwar)7790d83
chore: fix some typos in comment (#19576) (todaymoon)76064a6
test: ignorepackage-lock.json
foreslint-webpack-plugin
(#19572) (Francesco Trotta)
v9.23.0
Features
557a0d2
feat: support TypeScript syntax in no-useless-constructor (#19535) (Josh Goldberg β¨)8320241
feat: support TypeScript syntax indefault-param-last
(#19431) (Josh Goldberg β¨)833c4a3
feat: defineConfig() supports "flat/" config prefix (#19533) (Nicholas C. Zakas)4a0df16
feat: circular autofix/conflicting rules detection (#19514) (Milos Djermanovic)be56a68
feat: support TypeScript syntax inclass-methods-use-this
(#19498) (Josh Goldberg β¨)
Bug Fixes
0e20aa7
fix: move deprecatedRuleContext
methods to subtype (#19531) (Francesco Trotta)cc3bd00
fix: reporting variable used in catch block inno-useless-assignment
(#19423) (Tanuj Kanti)d46ff83
fix:no-dupe-keys
false positive with proto setter (#19508) (Milos Djermanovic)e732773
fix: navigation of search results on pressing Enter (#19502) (Tanuj Kanti)f4e9c5f
fix: allowRuleTester
to test files insidenode_modules/
(#19499) (fisker Cheung)
Documentation
5405939
docs: show red underlines in TypeScript examples in rules docs (#19547) (Milos Djermanovic)48b53d6
docs: replace var with const in examples (#19539) (Nitin Kumar)c39d7db
docs: Update README (GitHub Actions Bot)a4f8760
docs: revert accidental changes (#19542) (Francesco Trotta)280128f
docs: add copy button (#19512) (xbinaryx)cd83eaa
docs: replacevar
withconst
in examples (#19530) (Nitin Kumar)7ff0cde
docs: Update README (GitHub Actions Bot)996cfb9
docs: migrate sass to module system (#19518) (xbinaryx)17cb958
docs: replacevar
withlet
andconst
in rule examples (#19515) (Tanuj Kanti)83e24f5
docs: Replace var with let or const (#19511) (Jenna Toff)a59d0c0
docs: Update docs for defineConfig (#19505) (Nicholas C. Zakas)fe92927
docs:require-unicode-regexp
add note fori
flag and\w
(#19510) (Chaemin-Lim)
Build Related
Chores
0ac8ea4
chore: update dependencies for v9.23.0 release (#19554) (Francesco Trotta)20591c4
chore: package.json update for @eslint/js release (Jenkins)901344f
chore: update dependency @eslint/json to ^0.11.0 (#19552) (renovate[bot])5228383
chore: fix update-readme formatting (#19544) (Milos Djermanovic)5439525
chore: format JSON files in Trunk (#19541) (Francesco Trotta)75adc99
chore: enabled Prettier in Trunk (#19354) (Josh Goldberg β¨)2395168
chore: added .git-blame-ignore-revs for Prettier via trunk fmt (#19538) (Josh Goldberg β¨)129882d
chore: formatted files with Prettier via trunk fmt (#19355) (Josh Goldberg β¨)1738dbc
chore: temporarily disable prettier in trunk (#19537) (Josh Goldberg β¨)dc854fd
chore: update dependency shelljs to ^0.9.0 (#19524) (renovate[bot])5d57496
chore: fix some comments (#19525) (jimmycathy)9c5c6ee
test: fix an assertion failure (#19500) (fisker Cheung)7a699a6
chore: remove formatting-related lint rules internally (#19473) (Josh Goldberg β¨)c99db89
test: replace WebdriverIO with Cypress (#19465) (Pixel998)
v9.22.0
Features
Bug Fixes
19c0127
fix: improve message forno-console
suggestions (#19483) (Francesco Trotta)49e624f
fix: improve error message for falsy parsed JS AST (#19458) (Josh Goldberg β¨)
Documentation
86c5f37
docs: Update README (GitHub Actions Bot)fbdeff0
docs: Update README (GitHub Actions Bot)c9e8510
docs: generate deprecation notice in TSDoc comments from rule metadata (#19461) (Francesco Trotta)2f386ad
docs: replacevar
withconst
in rule examples (#19469) (Tanuj Kanti)0e688e3
docs: Update README (GitHub Actions Bot)06b596d
docs: Restore the carrot to the position where the search input was lost (#19459) (Amaresh S M)
Chores
v9.21.0
Features
418717f
feat: introduce new deprecated types for rules (#19238) (fnx)5c5b802
feat: Add--ext
CLI option (#19405) (Milos Djermanovic)
Bug Fixes
db5340d
fix: update missing plugin message template (#19445) (Milos Djermanovic)d8ffdd4
fix: do not exit process on rule crash (#19436) (Francesco Trotta)
Documentation
c5561ea
docs: Update README (GitHub Actions Bot)80b0485
docs: replacevar
withlet
andconst
in rule example (#19434) (Tanuj Kanti)f67d5e8
docs: Update README (GitHub Actions Bot)75afc61
docs: Update README (GitHub Actions Bot)0636cab
docs: Update Eleventy from v2 to v3 (#19415) (Amaresh S M)dd7d930
docs: Update README (GitHub Actions Bot)
Chores
a8c9a9f
chore: update@eslint/eslintrc
and@eslint/js
(#19453) (Francesco Trotta)265e0cf
chore: package.json update for @eslint/js release (Jenkins)3401b85
test: add test forRule.ReportDescriptor
type (#19449) (Francesco Trotta)e497aa7
chore: update rewrite dependencies (#19448) (Francesco Trotta)dab5478
chore: better error message for missing plugin in config (#19402) (Tanuj Kanti)ebfe2eb
chore: set js language for bug report issue config block (#19439) (Josh Goldberg β¨)5fd211d
test: processors can return subpaths (#19425) (Milos Djermanovic)
v9.20.1
Bug Fixes
Documentation
v9.20.0
Features
Bug Fixes
91d4d9f
fix: Bring types in sync with @eslint/core (#19157) (Nicholas C. Zakas)fa25c7a
fix: Emit warning when empty config file is used (#19399) (Nicholas C. Zakas)31a9fd0
fix: Clearer error message for wrong plugin format (#19380) (Nicholas C. Zakas)61d99e3
fix: Better error message for unserializable parser (#19384) (Nicholas C. Zakas)db1b9a6
fix: Ensure module scope is checked for references inconsistent-this
(#19383) (Nicholas C. Zakas)8bcd820
fix:arrow-body-style
crash with single-token body (#19379) (Milos Djermanovic)
Documentation
b7012c8
docs: rewrite examples with var using let and const (#19407) (Mueez Javaid Hashmi)6406376
docs: Update README (GitHub Actions Bot)350f2b9
docs: rewrite some examples with var using let and const (#19404) (Mueez Javaid Hashmi)93c325a
docs: rewrite examples with var using let and const (#19398) (Mueez Javaid Hashmi)56ff404
docs: replace var with let or const in rules docs (#19396) (Daniel Harbrueger)4053226
docs: changesourceType
inno-eval
examples (#19393) (Milos Djermanovic)1324af0
docs: replace var with let and const in rules docs (#19392) (Daniel Harbrueger)8b87e00
docs: replacevar
withconst
andlet
in rules (#19389) (Tanuj Kanti)758c66b
docs: Explain what frozen rules mean (#19382) (Nicholas C. Zakas)0ef8bb8
docs: additional checks for rule examples (#19358) (Milos Djermanovic)58ab2f6
docs: fix order of installation steps in getting started (#19326) (Tanuj Kanti)
Chores
979097a
chore: upgrade @eslint/js@9.20.0 (#19412) (Francesco Trotta)031734e
chore: package.json update for @eslint/js release (Jenkins)d4c47c3
test: avoid empty config warning in test output (#19408) (Milos Djermanovic)67dd82a
chore: update dependency @eslint/json to ^0.10.0 (#19387) (renovate[bot])15ac0e1
chore: add permissions: read-all to stale.yml workflow (#19374) (Josh Goldberg β¨)