ESLint v10 was released on Feb 6, 2026:
https://eslint.org/blog/2026/02/eslint-v10.0.0-released/
I understand this is still very fresh, but since ESLint v9 is now in maintenance mode (no new features planned) and v8 is already end-of-life, it seems likely that the ecosystem will gradually move toward v10 as the new baseline.
This is not just a feature request — below is a dependency-level analysis that may also serve as a reference for tracking ecosystem readiness until an upgrade is feasible.
Key benefits in ESLint v10
- Aligned with modern Node.js LTS versions
Dropped support for older Node versions, simplifying toolchains and aligning with current LTS environments.
- Smarter config lookup
ESLint now searches for eslint.config.* starting from each file’s directory rather than the process CWD, improving behavior in monorepos and multi-package repositories.
- Legacy
.eslintrc support removed
Full removal of legacy config formats and related CLI flags, enforcing the modern flat config system.
- Updated
eslint:recommended ruleset
The recommended configuration includes new and updated rules, improving default lint coverage.
- Expanded glob pattern support
Support for POSIX character classes in glob patterns via updated minimatch, allowing more expressive file targeting.
- Cleaner, modernized APIs
Deprecated rule and internal APIs removed, resulting in a more maintainable and future-proof plugin ecosystem.
ESLint v10 dependency compatibility analysis
Below is a summary of key dependencies used by @itwin/eslint-plugin, their declared ESLint peer ranges, and known upstream discussions regarding ESLint 10 support.
Observations
- TypeScript ESLint tooling and
eslint-plugin-jsdoc already support ESLint 10, removing two potential blockers.
- Several popular plugins (
eslint-plugin-import, eslint-plugin-react, eslint-plugin-react-hooks, eslint-plugin-jsx-a11y) have open upstream discussions or do not yet declare ESLint 10 support.
- The primary declared peer-dependency blocker at this time appears to be
eslint-plugin-import, with React-related plugins following closely behind.
- Even if
@itwin/eslint-plugin widens its peer range to include ^10, downstream peer dependency constraints may still block installation in strict environments (e.g. pnpm with strict peer deps).
- Runtime compatibility may differ from declared peer ranges, but peer ranges will affect installation and CI validation.
- Some plugins (e.g.
eslint-plugin-prefer-arrow) technically allow ESLint 10 via peer range, but lack recent ESLint test coverage, so validation would still be required.
Additional context
One of our projects using @itwin/eslint-plugin was previously stuck on ESLint v8 due to CRA. We’ve recently migrated to Vite, so we’re now able to upgrade.
We were considering moving directly to ESLint 10, but I noticed the plugin currently declares support for 9.x only.
ESLint v10 was released on Feb 6, 2026:
https://eslint.org/blog/2026/02/eslint-v10.0.0-released/
I understand this is still very fresh, but since ESLint v9 is now in maintenance mode (no new features planned) and v8 is already end-of-life, it seems likely that the ecosystem will gradually move toward v10 as the new baseline.
This is not just a feature request — below is a dependency-level analysis that may also serve as a reference for tracking ecosystem readiness until an upgrade is feasible.
Key benefits in ESLint v10
Dropped support for older Node versions, simplifying toolchains and aligning with current LTS environments.
ESLint now searches for
eslint.config.*starting from each file’s directory rather than the process CWD, improving behavior in monorepos and multi-package repositories..eslintrcsupport removedFull removal of legacy config formats and related CLI flags, enforcing the modern flat config system.
eslint:recommendedrulesetThe recommended configuration includes new and updated rules, improving default lint coverage.
Support for POSIX character classes in glob patterns via updated
minimatch, allowing more expressive file targeting.Deprecated rule and internal APIs removed, resulting in a more maintainable and future-proof plugin ecosystem.
ESLint v10 dependency compatibility analysis
Below is a summary of key dependencies used by
@itwin/eslint-plugin, their declared ESLint peer ranges, and known upstream discussions regarding ESLint 10 support.Observations
eslint-plugin-jsdocalready support ESLint 10, removing two potential blockers.eslint-plugin-import,eslint-plugin-react,eslint-plugin-react-hooks,eslint-plugin-jsx-a11y) have open upstream discussions or do not yet declare ESLint 10 support.eslint-plugin-import, with React-related plugins following closely behind.@itwin/eslint-pluginwidens its peer range to include^10, downstream peer dependency constraints may still block installation in strict environments (e.g. pnpm with strict peer deps).eslint-plugin-prefer-arrow) technically allow ESLint 10 via peer range, but lack recent ESLint test coverage, so validation would still be required.Additional context
One of our projects using
@itwin/eslint-pluginwas previously stuck on ESLint v8 due to CRA. We’ve recently migrated to Vite, so we’re now able to upgrade.We were considering moving directly to ESLint 10, but I noticed the plugin currently declares support for 9.x only.