Skip to content

Commit 091d4d9

Browse files
authored
docs: publish v9.28.0 release highlights (#733)
* docs: publish v9.28.0 release highlights * revert changes in `src/_data/blog-dates.json`
1 parent 2c28c0d commit 091d4d9

File tree

1 file changed

+23
-2
lines changed

1 file changed

+23
-2
lines changed

src/content/blog/2025-05-30-eslint-v9.28.0-released.md

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@ layout: post
33
title: ESLint v9.28.0 released
44
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."
55
image: release-notes-minor.png
6-
draft: true
76
authors:
8-
- eslintbot
7+
- fasttime
98
categories:
109
- Release Notes
1110
tags:
@@ -15,6 +14,28 @@ tags:
1514

1615

1716

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"`.
35+
* [`prefer-arrow-callback`](/docs/latest/rules/prefer-arrow-callback).
36+
37+
These rules can now be used to lint TypeScript files as well as regular JavaScript.
38+
To lint TypeScript code, be sure to use [`@typescript-eslint/parser`](https://typescript-eslint.io/packages/parser/), or another compatible parser.
1839

1940

2041

0 commit comments

Comments
 (0)