NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4252 most downloaded on npm
ESLint plugin about ECMAScript syntactic features.
Last release 14 days ago
20 Sep 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 45 of 45 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
45 releases · first in 2022
One column per quarter.
Patch Changes fix: updates unicode resource
Drop support for old ESLint versions. The peer dependency now supports >=10.6.0 .
Drop support for old ESLint versions. The peer dependency now supports >=10.6.0. (#358)
Drop support for old Node.js versions. The package now supports Node.js ^22.23.0 || ^24.18.0 || >=26.4.0. (#357)
Drop legacy config support. Configs without the flat/ prefix now expose flat config objects, and the flat/-prefixed config IDs remain available as flat config aliases. (#360)
Update configs for the ES2026 ECMAScript and Intl API snapshots. (#355)
Build publish output with tsdown, mark the package as ESM with "type": "module", and provide both ESM and CommonJS package entry points. (#361)
Add es-x/no-iterator-zipkeyed rule
feat: add TypeScript type declarations
feat: add TypeScript type declarations (#338)
Converts lib/index.js to lib/index.ts so that tsc automatically
generates dist/index.d.ts during npm run build. The public API
surface is typed as:
meta: { name: string; version: string }configs: each of the 128 config names exposed as a literal key —Linter.Config, legacy configs asLinter.LegacyConfigrules: Record<string, Rule.RuleModule>IDE autocomplete works on plugin.configs['flat/...'] and invalid
config keys are type errors. The declaration stays in sync
automatically — no separate .d.ts to maintain.
Closes #280
chore: the published js files have been moved from lib to dist. (#327)
Add es-x/no-date-prototype-totemporalinstant rule (#332)
Add es-x/no-nonstandard-temporal-duration-properties rule (#332)
Add es-x/no-nonstandard-temporal-duration-prototype-properties rule (#332)
Add es-x/no-nonstandard-temporal-instant-properties rule (#332)
Add es-x/no-nonstandard-temporal-instant-prototype-properties rule (#332)
Add es-x/no-nonstandard-temporal-now-properties rule (#332)
Add es-x/no-nonstandard-temporal-plaindate-properties rule (#332)
Add es-x/no-nonstandard-temporal-plaindate-prototype-properties rule (#332)
Add es-x/no-nonstandard-temporal-plaindatetime-properties rule (#332)
Add es-x/no-nonstandard-temporal-plaindatetime-prototype-properties rule (#332)
Add es-x/no-nonstandard-temporal-plainmonthday-properties rule (#332)
Add es-x/no-nonstandard-temporal-plainmonthday-prototype-properties rule (#332)
Add es-x/no-nonstandard-temporal-plaintime-properties rule (#332)
Add es-x/no-nonstandard-temporal-plaintime-prototype-properties rule (#332)
Add es-x/no-nonstandard-temporal-plainyearmonth-properties rule (#332)
Add es-x/no-nonstandard-temporal-plainyearmonth-prototype-properties rule (#332)
Add es-x/no-nonstandard-temporal-properties rule (#332)
Add es-x/no-nonstandard-temporal-zoneddatetime-properties rule (#332)
Add es-x/no-nonstandard-temporal-zoneddatetime-prototype-properties rule (#332)
Add no-temporal config (#332)
Add es-x/no-temporal rule (#332)
Add name field to config to improve debugging experience
name field to config to improve debugging experience (#322)Update URLs in rule definitions to use HTTPS
Add es-x/no-map-prototype-getorinsert rule
Add es-x/no-json-israwjson rule
Add es-x/no-intl-locale-prototype-firstdayofweek rule
Add es-x/no-intl-locale-prototype-firstdayofweek rule (#278)
Add es-x/no-intl-locale-prototype-getcalendars rule (#278)
Add es-x/no-intl-locale-prototype-getcollations rule (#278)
Add es-x/no-intl-locale-prototype-gethourcycles rule (#278)
Add es-x/no-intl-locale-prototype-getnumberingsystems rule (#278)
Add es-x/no-intl-locale-prototype-gettextinfo rule (#278)
Add es-x/no-intl-locale-prototype-gettimezones rule (#278)
Add es-x/no-intl-locale-prototype-getweekinfo rule (#278)
Add es-x/no-iterator-concat rule (#300)
Patch Changes ci: trusted publishing
fix: generate provenance statements on release
Add no-arraybuffer-base64 config
Add no-arraybuffer-base64 config (#249)
Add es-x/no-uint8array-frombase64 rule (#249)
Add es-x/no-uint8array-fromhex rule (#249)
Add es-x/no-uint8array-prototype-setfrombase64 rule (#249)
Add es-x/no-uint8array-prototype-setfromhex rule (#249)
Add es-x/no-uint8array-prototype-tobase64 rule (#249)
Add es-x/no-uint8array-prototype-tohex rule (#249)
Add es-x/no-math-sumprecise rule (#266)
Drop support for old ESLint (now supports >=9.29.0).
Drop support for old ESLint (now supports >=9.29.0). (#272)
Drop support for old Node.js (now supports ^20.19.0 || >=22.12.0). (#271)
Update configs: no-new-in-es2020, and restrict-to-es3 - restrict-to-es2019. (#264)
Update restrict-to-* configs (#265)
Add configs for es2025: (no-new-in-es2025, and no-new-in-es2025-intl-api) (#265)
refactor: use eslint-type-tracer (#267)
Add no-string-matchall config. (#264)
Add es-x/no-symbol-asyncdispose rule (#264)
Add es-x/no-symbol-dispose rule (#264)
Add es-x/no-symbol-matchall rule (#264)
Update no-explicit-resource-management config. (#270)
Add no-array-fromasync rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/248
no-array-fromasync rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/248no-error-iserror rule and no-nonstandard-error-properties rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/250allowTestedProperty option to allow more tested properties by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/257Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v8.6.2...v8.7.0
Fix crash for named export with ts in es-x/no-nonstandard-*-prototype-properties rules by @ota-meshi in https://github.com/eslint-community/eslint-plu
es-x/no-nonstandard-*-prototype-properties rules by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/255Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v8.6.1...v8.6.2
Fix false positives for built-in properties of object in no-*-prototype-* rules by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-
no-*-prototype-* rules by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/245Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v8.6.0...v8.6.1
Add allowTestedProperty option to property rules by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/241
allowTestedProperty option to property rules by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/241Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v8.5.0...v8.6.0
Add rules for Intl.DurationFormat by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/236
Intl.DurationFormat by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/236
es-x/no-intl-durationformat rulees-x/no-nonstandard-intl-durationformat-properties rulees-x/no-nonstandard-intl-durationformat-prototype-properties rulees-x/no-nonstandard-intl-properties rulees-x/no-regexp-escape rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/238
es-x/no-regexp-escape rulees-x/no-nonstandard-regexp-properties ruleFloat16Array by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/239
es-x/no-float16array rulees-x/no-dataview-prototype-getfloat16-setfloat16 rulees-x/no-math-f16round ruleno-float16array configes-x/no-nonstandard-typed-array-properties rulees-x/no-nonstandard-typed-array-prototype-properties rulees-x/no-nonstandard-dataview-prototype-properties rulees-x/no-nonstandard-math-properties ruleFull Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v8.4.1...v8.5.0
Fix crash for non-trackable computed property in no-nonstandard-*-properties rules by @ota-meshi in https://github.com/eslint-community/eslint-plugin-
no-nonstandard-*-properties rules by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/234Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v8.4.0...v8.4.1
Add rules to check for global objects that have no static properties by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/232
es-x/no-nonstandard-dataview-propertieses-x/no-nonstandard-finalizationregistry-propertieses-x/no-nonstandard-set-propertieses-x/no-nonstandard-sharedarraybuffer-propertieses-x/no-nonstandard-weakmap-propertieses-x/no-nonstandard-weakref-propertieses-x/no-nonstandard-weakset-propertieses-x/no-nonstandard-iterator-prototype-properties rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/230es-x/no-nonstandard-*-properties rules by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/231Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v8.3.1...v8.4.0
Fix crash on for statement in *-prototype-* rules by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/224
for statement in *-prototype-* rules by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/224Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v8.3.0...v8.3.1
Add support for assignable variables to *-prototype-* rules by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/219
*-prototype-* rules by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/219no-nonstandard-*-properties rules by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/220prototype property to *-prototype-* rules by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/221Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v8.2.0...v8.3.0
Add no-nonstandard-*-properties rules by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/214
no-nonstandard-*-properties rules by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/214Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v8.1.0...v8.2.0
Add es-x/no-regexp-modifiers rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/208
es-x/no-regexp-modifiers rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/208no-import-attributes config and rules by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/209
es-x/no-import-attributes rulees-x/no-dynamic-import-options rulees-x/no-trailing-dynamic-import-commas ruleno-import-attributes configes-x/no-json-modules rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/210es-x/no-promise-try rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/212no-iterator-helpers config and rules by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/211
es-x/no-iterator rulees-x/no-iterator-prototype-drop rulees-x/no-iterator-prototype-every rulees-x/no-iterator-prototype-filter rulees-x/no-iterator-prototype-find rulees-x/no-iterator-prototype-flatmap rulees-x/no-iterator-prototype-foreach rulees-x/no-iterator-prototype-map rulees-x/no-iterator-prototype-reduce rulees-x/no-iterator-prototype-some rulees-x/no-iterator-prototype-take rulees-x/no-iterator-prototype-toarray ruleno-iterator-helpers configFull Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v8.0.0...v8.1.0
Deprecated no-object-map-groupby rule
restrict-to- have been changed by adding ES2024 rules to each config.Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v7.8.0...v8.0.0
Add es-x/no-regexp-duplicate-named-capturing-groups rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/146
es-x/no-regexp-duplicate-named-capturing-groups rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/146Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v7.7.0...v7.8.0
Add 7 rules of es-x/no-set-prototype-* by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/145
es-x/no-set-prototype-* by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/145
Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v7.6.0...v7.7.0
Add es-x/no-arraybuffer-prototype-transfer rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/128
es-x/no-arraybuffer-prototype-transfer rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/128Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v7.5.0...v7.6.0
Add es-x/no-object-map-groupby rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/106
es-x/no-object-map-groupby rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/106es-x/no-promise-withresolvers rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/107Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v7.4.0...v7.5.0
Changed es-x/no-class-fields rule to not report declare declarations by @bhsd-harry in https://github.com/eslint-community/eslint-plugin-es-x/pull/101
es-x/no-class-fields rule to not report declare declarations by @bhsd-harry in https://github.com/eslint-community/eslint-plugin-es-x/pull/101Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v7.3.0...v7.4.0
Add es-x/no-resizable-and-growable-arraybuffers rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/98
es-x/no-resizable-and-growable-arraybuffers rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/98Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v7.2.0...v7.3.0
Add no-regexp-v-flag rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/76
no-regexp-v-flag rule by @ota-meshi in https://github.com/eslint-community/eslint-plugin-es-x/pull/76es-x/no-class-fields error message by @astorije in https://github.com/eslint-community/eslint-plugin-es-x/pull/82Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v7.1.0...v7.2.0
Add new rule no-string-prototype-iswellformed-towellformed by @sosukesuzuki in https://github.com/eslint-community/eslint-plugin-es-x/pull/74
no-string-prototype-iswellformed-towellformed by @sosukesuzuki in https://github.com/eslint-community/eslint-plugin-es-x/pull/74no-atomics-waitasync by @sosukesuzuki in https://github.com/eslint-community/eslint-plugin-es-x/pull/75Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v7.0.0...v7.1.0
Update to add presets for ES2023 by @sosukesuzuki in https://github.com/eslint-community/eslint-plugin-es-x/pull/73
Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v6.2.1...v7.0.0
Revert https://github.com/eslint-community/eslint-plugin-es-x/pull/73. It should have been released as a major version.
Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v6.2.0...v6.2.1
~~Update to add presets for ES2023 by @sosukesuzuki in https://github.com/eslint-community/eslint-plugin-es-x/pull/73~~ Reverted in next patch release
Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v6.1.0...v6.2.0
Add no-regexp-unicode-property-escapes-2023 rule in https://github.com/eslint-community/eslint-plugin-es-x/pull/65
no-regexp-unicode-property-escapes-2023 rule in https://github.com/eslint-community/eslint-plugin-es-x/pull/65Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v6.0.0...v6.1.0
Drop support for Node.js<14.18.0 and 15 in https://github.com/eslint-community/eslint-plugin-es-x/pull/42
no-error-cause rule in https://github.com/eslint-community/eslint-plugin-es-x/pull/39no-regexp-unicode-property-escapes-(2020 - 2022) rules in https://github.com/eslint-community/eslint-plugin-es-x/pull/26@eslint-community/* packages in https://github.com/eslint-community/eslint-plugin-es-x/pull/44Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v5.4.0...v6.0.0
Changed the rule meta information due to the transfer of the repository. https://github.com/eslint-community/eslint-plugin-es-x/pull/37
Full Changelog: https://github.com/eslint-community/eslint-plugin-es-x/compare/v5.3.1...v5.4.0
Fix false negatives for typed array in no-array-prototype-findlast-findlastindex rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x
Full Changelog: https://github.com/ota-meshi/eslint-plugin-es-x/compare/v5.3.0...v5.3.1
Add no-hashbang rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/33
no-hashbang rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/33no-array-prototype-findlast-findlastindex rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/34Full Changelog: https://github.com/ota-meshi/eslint-plugin-es-x/compare/v5.2.1...v5.3.0
no-top-level-await: Check if we are at the top-level using a depth counter by @edg2s in https://github.com/ota-meshi/eslint-plugin-es-x/pull/31
Full Changelog: https://github.com/ota-meshi/eslint-plugin-es-x/compare/v5.2.0...v5.2.1
Add es-x/no-legacy-object-prototype-accessor-methods rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/23
es-x/no-legacy-object-prototype-accessor-methods rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/23Full Changelog: https://github.com/ota-meshi/eslint-plugin-es-x/compare/v5.1.0...v5.2.0
Add rules for Annex B by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/22
Full Changelog: https://github.com/ota-meshi/eslint-plugin-es-x/compare/v5.0.0...v5.1.0
Rename package eslint-plugin-es to eslint-plugin-es-x by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/15
eslint-plugin-es to eslint-plugin-es-x by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/15es-x/no-object-create rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/3es-x/no-function-prototype-bind rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/4es-x/no-class-fields rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/5es-x/no-regexp-d-flag rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/7es-x/no-top-level-await rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/9es-x/no-object-hasown rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/10es-x/no-class-static-block rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/11es-x/no-private-in rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/12es-x/no-array-string-prototype-at rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/13es-x/no-arbitrary-module-namespace-names rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/14es-x/no-logical-assignment-operators autofix by @mysticatea in https://github.com/mysticatea/eslint-plugin-es/commit/00d73851793541dc7b0d07292deb0ca2bc8a25e1Full Changelog: https://github.com/ota-meshi/eslint-plugin-es-x/compare/v4.1.0...v5.0.0
Your coding agent can read these notes before it upgrades. Set up the MCP server →