Version Support Policy
Understand ESLint’s versioning strategy, support timeline, and what to expect from each release.ESLint follows Semantic Versioning with scheduled releases every two weeks.
Current Support Status
Active Versions
| Version | Status | Release Date | End of Support | Node.js Support |
|---|---|---|---|---|
| v10.x | ✅ Current | Feb 6, 2026 | TBD | ^20.19.0 || ^22.13.0 || >=24 |
| v9.x | 🔄 Limited | Oct 2025 | Aug 2026 (estimated) | ^18.18.0 || ^20.9.0 || >=21.1.0 |
| v8.x | ❌ End of Life | Oct 2023 | Apr 2025 | ^12.22.0 || ^14.17.0 || >=16.0.0 |
Support Tiers
Current Version (Full Support)
v10.x receives full support with active development.
- 🐛 Bug fixes (all severity levels)
- 🔒 Security patches
- ✨ New features
- 📝 Documentation updates
- 🔧 Configuration improvements
- ⚡ Performance optimizations
Previous Version (Limited Support)
v9.x receives limited support for 6 months after v10 release.
- 🐛 Critical bug fixes only
- 🔒 Security issues
- 🔌 Compatibility fixes
- ❌ New features
- ❌ Minor bug fixes
- ❌ Performance improvements
- ❌ Documentation updates
End of Life (No Support)
No updates for:- ❌ Bugs (any severity)
- ❌ Security vulnerabilities
- ❌ Compatibility issues
Commercial Support
Extended support is available through ESLint’s commercial partners:Tidelift
Extended Support for v9.x
- Security updates beyond 6 months
- Legal guarantees and indemnification
- Maintenance and licensing assurance
- Access to the maintainers
HeroDevs
Never-Ending Support (NES)
- Support for legacy versions (v8.x and earlier)
- Security patches indefinitely
- Critical bug fixes
- Priority support channels
Release Schedule
Regular Releases
ESLint follows a predictable release schedule:
- Frequency: Every 2 weeks (Friday or Saturday)
- Type: Minor and patch releases
- Tracking: Follow release issues on GitHub
Major Releases
Major versions (e.g., v9 → v10) are released approximately once per year.Alpha Release
Early testing release with breaking changes.
- 3-4 months before stable
- Breaking changes introduced
- Community feedback encouraged
Beta Release
Feature-complete pre-release.
- 2-3 months before stable
- API stabilization
- Plugin developers can test
Release Candidate (RC)
Final testing before stable.
- 1-2 months before stable
- No new features
- Bug fixes only
v10.0.0-alpha.0: Nov 14, 2025v10.0.0-beta.0: Dec 12, 2025v10.0.0-rc.0: Jan 9, 2026v10.0.0: Feb 6, 2026 ✅
Semantic Versioning
ESLint follows Semantic Versioning with specific interpretations for linting tools.Patch Releases (10.0.x)
Intended to not break your lint build.
- 🐛 Bug fixes that report fewer errors
- 📝 Documentation improvements
- 🧪 Test improvements
- ♻️ Non-user-facing refactoring
Minor Releases (10.x.0)
Includes:- 🐛 Bug fixes that report more errors
- ✨ New rules (disabled by default)
- 🔧 New rule options (non-breaking defaults)
- 🎯 New CLI capabilities
- 📦 New public API methods
- ⚠️ Rule deprecations
- 📉
eslint:recommendedupdates (fewer errors only)
Major Releases (x.0.0)
Includes:- 💥 Breaking changes to public API
- 🔄
eslint:recommendedupdates (may report more errors) - 🔧 Rule option changes with breaking defaults
- 🗑️ Removal of deprecated features
- 📋 Removal of formatters
- 🏗️ Configuration schema changes
- 🔌 Changes to plugin/parser APIs
Node.js Compatibility
Version Support Matrix
ESLint updates Node.js requirements with each major release.
| ESLint Version | Node.js Support | Notes |
|---|---|---|
| v10.x | ^20.19.0 || ^22.13.0 || >=24 | Current |
| v9.x | ^18.18.0 || ^20.9.0 || >=21.1.0 | Limited support |
| v8.x | ^12.22.0 || ^14.17.0 || >=16.0.0 | End of life |
Node.js Selection Criteria
When releasing a new major version, ESLint supports:Most Recent Maintenance Release
Latest stable Node.js version at time of release.Example: Node.js v24.x for ESLint v10
Current LTS Release
The lowest minor version of Node.js LTS that includes features ESLint needs.Example: Node.js v22.13.0 for ESLint v10
Deprecation Policy
Deprecation Timeline
Announcement
Feature marked as deprecated in documentation and changelog.
- Runtime warnings added
- Migration guide published
- Alternative solutions documented
Grace Period
Feature continues to work for at least one major version.
- Minimum 6 months of support
- Deprecation warnings in console
- Documentation updated
context.getFilename() deprecation:
Upgrade Recommendations
When to Upgrade
Immediately upgrade if...
Immediately upgrade if...
- ⚠️ You’re on v8.x or earlier (end of life)
- 🔒 A security vulnerability affects your version
- 🐛 A critical bug blocks your workflow
- 🆕 You need a new feature only available in latest
Upgrade within 1 month if...
Upgrade within 1 month if...
- 📦 You’re on the previous major version (v9.x)
- 🔄 Your Node.js version is becoming unsupported
- 📈 Performance improvements are significant
- 🧪 You want to test new features early
Upgrade at your convenience if...
Upgrade at your convenience if...
- ✅ You’re on the current major version (v10.x)
- 🔧 Minor/patch releases are available
- 📚 Documentation improvements are published
- 🎨 New non-critical rules are added
Upgrade Strategy
Review Changes
Read the migration guide and CHANGELOG:
- Identify breaking changes
- Plan configuration updates
- Update custom rules/plugins
Security Policy
ESLint takes security seriously and addresses vulnerabilities quickly.
Reporting Vulnerabilities
Report security vulnerabilities via:- GitHub Security Advisories
- Email to security team
- See full policy: github.com/eslint/.github/blob/master/SECURITY.md
Security Updates
Timeline:- Critical vulnerabilities: Patched within 48 hours
- High severity: Patched within 1 week
- Medium severity: Patched in next scheduled release
- Low severity: Addressed in regular updates
- ✅ Current version (v10.x): All security issues
- 🔄 Previous version (v9.x): Critical and high severity only
- ❌ Older versions (v8.x): No security updates (consider commercial support)
Dependencies Policy
ESM-Only Dependencies
ESLint (CommonJS) has restrictions on ESM-only dependencies.
- ESM packages controlled by ESLint team with no external dependencies
- External ESM packages used only in async contexts (via dynamic
import())
- External ESM packages used synchronously (no
require(esm)due to potentialtop-level await)
top-level await.
Release Tracking
Releases Page
Official release announcements and changelogs
Release Issues
Track upcoming releases and their schedules
CHANGELOG
Complete version history with all changes
Blog
Release announcements and migration guides
Frequently Asked Questions
How long will v9 be supported?
How long will v9 be supported?
ESLint v9 receives limited support for 6 months after v10 release:
- Full support ended: February 6, 2026 (v10 release)
- Limited support ends: Approximately August 2026
- Limited support includes: Critical bugs, security issues, compatibility fixes only
Can I stay on v8?
Can I stay on v8?
No, ESLint v8 reached end of life in April 2025:
- ❌ No bug fixes
- ❌ No security patches
- ❌ No compatibility updates
- Upgrade to v10 (recommended)
- Commercial support via HeroDevs NES
Will my plugins work with v10?
Will my plugins work with v10?
Most plugins are compatible, but check:
- Plugin’s changelog for v10 support
peerDependenciesin plugin’spackage.json- GitHub issues for compatibility reports
What if I find a bug in v10?
What if I find a bug in v10?
Report it on GitHub:
- Search existing issues
- If not found, create new issue
- Include:
- ESLint version
- Node.js version
- Config file
- Minimal reproduction
How often should I update ESLint?
How often should I update ESLint?
Best practice:
- Patch releases: Update immediately (safe)
- Minor releases: Update within 1-2 weeks (test first)
- Major releases: Plan upgrade within 1-2 months