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-05-30-eslint-v9.28.0-released.md
+23-2Lines changed: 23 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -3,9 +3,8 @@ layout: post
3
3
title: ESLint v9.28.0 released
4
4
teaser: "We just pushed ESLint v9.28.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
+
- fasttime
9
8
categories:
10
9
- Release Notes
11
10
tags:
@@ -15,6 +14,28 @@ tags:
15
14
16
15
17
16
17
+
## Highlights
18
+
19
+
### `--pass-on-unpruned-suppressions` CLI Option
20
+
21
+
ESLint v9.24.0 introduced [bulk suppressions](/blog/2025/04/introducing-bulk-suppressions/), a highly anticipated feature. When bulk suppressions are enabled, ESLint tracks previously suppressed violations in a file called `eslint-suppressions.json`, ensuring they remain ignored in subsequent runs. As the codebase is edited, some of these violations may be resolved but will still be listed in the suppressions file until explicitly removed. The original bulk suppressions draft proposed exiting with exit code 2 in cases where unused suppressions were found, but users requested the ability to ignore unpruned suppressions for greater flexibility.
22
+
23
+
With ESLint v9.28.0, this is now possible thanks to a new CLI option. The [`--pass-on-unpruned-suppressions`](/docs/latest/use/command-line-interface#--pass-on-unpruned-suppressions) flag allows ESLint to skip suppressions that no longer occur. When this flag is enabled, unused suppressions are not reported as errors and do not affect the exit code.
24
+
25
+
### TypeScript Syntax Support in Core Rules
26
+
27
+
As announced in the [ESLint v9.23.0 release blog post](/blog/2025/03/eslint-v9.23.0-released/), we are actively working to add TypeScript syntax support to core rules.
28
+
29
+
ESLint v9.28.0 introduces full TypeScript syntax support for five more core rules. These rules are:
30
+
31
+
*[`func-style`](/docs/latest/rules/func-style). This rule has the new TypeScript-specific option `"allowTypeAnnotation"` and has been updated to ignore overloaded function declarations in TypeScript code.
32
+
*[`no-magic-numbers`](/docs/latest/rules/no-magic-numbers). This rule has new TypeScript-specific options: `"ignoreEnums"`, `"ignoreNumericLiteralTypes"`, `"ignoreReadonlyClassProperties"`, and `"ignoreTypeIndexes"`.
33
+
*[`no-shadow`](/docs/latest/rules/no-shadow). This rule has new TypeScript-specific options `"ignoreTypeValueShadow"` and `"ignoreFunctionTypeParameterNameValueShadow"`, and the `"hoist"` option accept new, TypeScript-specific values.
34
+
*[`no-use-before-define`](/docs/latest/rules/no-use-before-define). This rule has new TypeScript-specific options: `"enums"`, `"typedefs"`, and `"ignoreTypeReferences"`.
0 commit comments