Change8

v9.29.0

📦 eslint
8 features🐛 4 fixes🔧 12 symbols

Summary

This release introduces support for ECMAScript 2026 (including 'using' declarations) and ES2025 globals, alongside several rule enhancements and internal refactorings like the transition from SafeEmitter to SourceCodeVisitor.

✨ New Features

  • Add ecmaVersion: 2026 support, including parsing for 'using' and 'await using' declarations.
  • Prune suppressions for non-existent files.
  • Add ES2025 globals support.
  • Add auto-accessor fields support to the 'class-methods-use-this' rule.
  • Allow global type declarations in the 'no-var' rule.
  • Ignore type annotations in the 'no-restricted-globals' rule.
  • Add 'allowProperties' option to the 'no-restricted-properties' rule.
  • Add 'sourceCode.isGlobalReference(node)' method to the developer API.

🐛 Bug Fixes

  • Fix explicit matching behavior with negated patterns and arrays.
  • Fix 'LintOptions.filterCodeBlock' TypeScript types.
  • Correct breaking deprecation of the 'FlatConfig' type.
  • Add 'language' and 'dialects' to 'no-use-before-define' rule logic.

🔧 Affected Symbols

ecmaVersionclass-methods-use-thisno-varno-restricted-globalsno-restricted-propertiessourceCode.isGlobalReferenceLintOptions.filterCodeBlockFlatConfigno-use-before-defineSafeEmitterSourceCodeVisitorgetLocFromIndex