You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/blog/2025-07-25-eslint-v9.32.0-released.md
+19-4Lines changed: 19 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,9 +3,8 @@ layout: post
3
3
title: ESLint v9.32.0 released
4
4
teaser: "We just pushed ESLint v9.32.0, which is a minor release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release."
5
5
image: release-notes-minor.png
6
-
draft: true
7
6
authors:
8
-
- eslintbot
7
+
- nzakas
9
8
categories:
10
9
- Release Notes
11
10
tags:
@@ -14,9 +13,27 @@ tags:
14
13
15
14
16
15
16
+
## Highlights
17
17
18
+
### Rules updated for explicit resource management
18
19
20
+
The following core rules were updated to support the new `using` and `await using` declarations from the [explicit resource management](https://github.com/tc39/proposal-explicit-resource-management) feature:
19
21
22
+
*[`curly`](https://eslint.org/docs/latest/rules/curly): Now allows `using` and `await using` as the only statement in a block, similar to how `let` and `const` are handled, to avoid parser errors.
23
+
*[`no-unused-vars`](https://eslint.org/docs/latest/rules/no-unused-vars): Treats variables declared with `using`/`await using` as used, since their `Symbol.dispose` is implicitly called at the end of their scope. Also adds an option to ignore unused `using` declarations.
24
+
*[`prefer-destructuring`](https://eslint.org/docs/latest/rules/prefer-destructuring): No longer requires destructuring for `using`/`await using` declarations, as this would be a parse error.
25
+
*[`require-await`](https://eslint.org/docs/latest/rules/require-await) and [`no-await-in-loop`](https://eslint.org/docs/latest/rules/no-await-in-loop): Both rules now recognize `await using` as an `await` expression for their checks and reporting.
26
+
27
+
These changes ensure ESLint core rules are compatible with the upcoming JavaScript explicit resource management syntax, providing accurate linting and avoiding false positives or parse errors.
28
+
29
+
### Rules updated for TypeScript accessor support
30
+
31
+
The following rules were updated to improve support for TypeScript types in accessor signatures:
32
+
33
+
*[`accessor-pairs`](https://eslint.org/docs/latest/rules/accessor-pairs): Now supports checking getter and setter pairs in TypeScript interfaces and type literals when the new `enforceForTSTypes` option is enabled. This ensures that accessors in TypeScript type definitions are also validated for pairing.
34
+
*[`grouped-accessor-pairs`](https://eslint.org/docs/latest/rules/grouped-accessor-pairs): Similarly, this rule now supports TypeScript interfaces and type literals with the `enforceForTSTypes` option, enforcing that accessors are grouped together in these type constructs as well.
35
+
36
+
These enhancements allow ESLint to provide more accurate linting for TypeScript codebases that use accessors in type definitions, helping catch issues that were previously unchecked.
20
37
21
38
22
39
## Features
@@ -67,5 +84,3 @@ tags:
67
84
*[`e855717`](https://github.com/eslint/eslint/commit/e85571730f1360464b7ee00695c678d551f9c643) chore: switch performance tests to hyperfine ([#19919](https://github.com/eslint/eslint/issues/19919)) (Francesco Trotta)
68
85
*[`2f73a23`](https://github.com/eslint/eslint/commit/2f73a23655092a41780859ffe0a07c44a2f1b5f5) test: switch to flat config mode in `ast-utils` tests ([#19948](https://github.com/eslint/eslint/issues/19948)) (Milos Djermanovic)
69
86
*[`c565a53`](https://github.com/eslint/eslint/commit/c565a530f50c96dacd44e096f7d531b073aa4dc7) chore: exclude `further_reading_links.json` from Prettier formatting ([#19943](https://github.com/eslint/eslint/issues/19943)) (Milos Djermanovic)
0 commit comments