|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: ESLint v9.28.0 released |
| 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 | +image: release-notes-minor.png |
| 6 | +draft: true |
| 7 | +authors: |
| 8 | + - eslintbot |
| 9 | +categories: |
| 10 | + - Release Notes |
| 11 | +tags: |
| 12 | + - Release |
| 13 | +--- |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | +## Features |
| 23 | + |
| 24 | + |
| 25 | +* [`b0674be`](https://github.com/eslint/eslint/commit/b0674be94e4394401b4f668453a473572c321023) feat: Customization of serialization for languageOptions ([#19760](https://github.com/eslint/eslint/issues/19760)) (Nicholas C. Zakas) |
| 26 | +* [`a95721f`](https://github.com/eslint/eslint/commit/a95721f1064fdbfe0e392b955ce3053a24551f80) feat: Add `--pass-on-unpruned-suppressions` CLI option ([#19773](https://github.com/eslint/eslint/issues/19773)) (Milos Djermanovic) |
| 27 | +* [`bfd0e7a`](https://github.com/eslint/eslint/commit/bfd0e7a39535b3c1ddc742dfffa6bdcdc93079e2) feat: support TypeScript syntax in [`no-use-before-define`](/docs/rules/no-use-before-define) ([#19566](https://github.com/eslint/eslint/issues/19566)) (Tanuj Kanti) |
| 28 | +* [`68c61c0`](https://github.com/eslint/eslint/commit/68c61c093a885623e48f38026e3f3a05bfa403de) feat: support TS syntax in [`no-shadow`](/docs/rules/no-shadow) ([#19565](https://github.com/eslint/eslint/issues/19565)) (Nitin Kumar) |
| 29 | +* [`0f773ef`](https://github.com/eslint/eslint/commit/0f773ef248af0301a410fee11e1b22174100cf6a) feat: support TS syntax in [`no-magic-numbers`](/docs/rules/no-magic-numbers) ([#19561](https://github.com/eslint/eslint/issues/19561)) (Nitin Kumar) |
| 30 | +* [`c4a6b60`](https://github.com/eslint/eslint/commit/c4a6b6051889b1cb668d4d2ae29e9c27c74993d6) feat: add allowTypeAnnotation to [func-style](/docs/rules/func-style) ([#19754](https://github.com/eslint/eslint/issues/19754)) (sethamus) |
| 31 | +* [`b03ad17`](https://github.com/eslint/eslint/commit/b03ad176f158afdd921f0af5126c398012b10559) feat: add TypeScript support to [`prefer-arrow-callback`](/docs/rules/prefer-arrow-callback) ([#19678](https://github.com/eslint/eslint/issues/19678)) (Tanuj Kanti) |
| 32 | +* [`bc3c331`](https://github.com/eslint/eslint/commit/bc3c3313ce2719062805b6849d29f9a375cf23f2) feat: ignore overloaded function declarations in [func-style](/docs/rules/func-style) rule ([#19755](https://github.com/eslint/eslint/issues/19755)) (sethamus) |
| 33 | + |
| 34 | + |
| 35 | + |
| 36 | + |
| 37 | + |
| 38 | + |
| 39 | +## Bug Fixes |
| 40 | + |
| 41 | + |
| 42 | +* [`eea3e7e`](https://github.com/eslint/eslint/commit/eea3e7eb1ca84f9e8870e1190d65d5235d9d8429) fix: Remove configured global variables from `GlobalScope#implicit` ([#19779](https://github.com/eslint/eslint/issues/19779)) (Milos Djermanovic) |
| 43 | +* [`a467de3`](https://github.com/eslint/eslint/commit/a467de39f6e509af95a7963904326635c1bf7116) fix: update context.report types ([#19751](https://github.com/eslint/eslint/issues/19751)) (Nitin Kumar) |
| 44 | +* [`fd467bb`](https://github.com/eslint/eslint/commit/fd467bb892d735a4a8863beabd181a3f3152689a) fix: remove interopDefault to use jiti's default ([#19697](https://github.com/eslint/eslint/issues/19697)) (sethamus) |
| 45 | +* [`72d16e3`](https://github.com/eslint/eslint/commit/72d16e3066aac2f1c74f4150ba43dfa8cf532584) fix: avoid false positive in [`no-unassigned-vars`](/docs/rules/no-unassigned-vars) for declare module ([#19746](https://github.com/eslint/eslint/issues/19746)) (Azat S.) |
| 46 | +* [`81c3c93`](https://github.com/eslint/eslint/commit/81c3c936266474c2081f310098084bd0eb1768d2) fix: [curly](/docs/rules/curly) types ([#19750](https://github.com/eslint/eslint/issues/19750)) (Eli) |
| 47 | + |
| 48 | + |
| 49 | + |
| 50 | + |
| 51 | +## Documentation |
| 52 | + |
| 53 | + |
| 54 | +* [`3ec2082`](https://github.com/eslint/eslint/commit/3ec208233f29c161aae8f99f9f091e371fe83a62) docs: Nested arrays in files config entry ([#19799](https://github.com/eslint/eslint/issues/19799)) (Nicholas C. Zakas) |
| 55 | +* [`89a65b0`](https://github.com/eslint/eslint/commit/89a65b07f6171a860284b62d97c8b3edf312b98c) docs: clarify how config arrays can apply to subsets of files ([#19788](https://github.com/eslint/eslint/issues/19788)) (Shais Ch) |
| 56 | +* [`2ba8a0d`](https://github.com/eslint/eslint/commit/2ba8a0d75c7a8e6aa4798275126698be40391d37) docs: Add description of meta.namespace to plugin docs ([#19798](https://github.com/eslint/eslint/issues/19798)) (Nicholas C. Zakas) |
| 57 | +* [`59dd7e6`](https://github.com/eslint/eslint/commit/59dd7e6b28507053bde985ea2311dca8ec0db681) docs: update [`func-style`](/docs/rules/func-style) with examples ([#19793](https://github.com/eslint/eslint/issues/19793)) (Tanuj Kanti) |
| 58 | +* [`e9129e0`](https://github.com/eslint/eslint/commit/e9129e0799d068c377d63d59a0a800e7d1fea8dd) docs: add global scope's `implicit` field to Scope Manager docs ([#19770](https://github.com/eslint/eslint/issues/19770)) (Milos Djermanovic) |
| 59 | +* [`52f5b7a`](https://github.com/eslint/eslint/commit/52f5b7a0af48a2f143f0bccfd4e036025b08280d) docs: fix minor typos and add links ([#19743](https://github.com/eslint/eslint/issues/19743)) (루밀LuMir) |
| 60 | +* [`00716a3`](https://github.com/eslint/eslint/commit/00716a339ede24ed5a76aceed833f38a6c4e8d3a) docs: upfront recommend against using the [no-return-await](/docs/rules/no-return-await) rule ([#19727](https://github.com/eslint/eslint/issues/19727)) (Mike DiDomizio) |
| 61 | + |
| 62 | + |
| 63 | + |
| 64 | + |
| 65 | + |
| 66 | + |
| 67 | + |
| 68 | + |
| 69 | +## Chores |
| 70 | + |
| 71 | + |
| 72 | +* [`175b7b8`](https://github.com/eslint/eslint/commit/175b7b83fcdc8f3f84821510dd7e04d120402317) chore: upgrade to `@eslint/[email protected]` ( [#19802](https://github.com/eslint/eslint/issues/19802)) (Francesco Trotta) |
| 73 | +* [`844f5a6`](https://github.com/eslint/eslint/commit/844f5a69dc78ca38f856c137e061e8facc9d00ba) chore: package.json update for @eslint/js release (Jenkins) |
| 74 | +* [`62b1c1b`](https://github.com/eslint/eslint/commit/62b1c1bc7981798c3aec2dd430c200c797a25629) chore: update globals to v16 ([#19791](https://github.com/eslint/eslint/issues/19791)) (Nitin Kumar) |
| 75 | +* [`e8a1cb8`](https://github.com/eslint/eslint/commit/e8a1cb8f7fbc18efa589bfedea5326de636b4868) chore: ignore jiti-v2.0 & jiti-v2.1 for renovate ([#19786](https://github.com/eslint/eslint/issues/19786)) (Nitin Kumar) |
| 76 | +* [`43d3975`](https://github.com/eslint/eslint/commit/43d39754b6d315954f46a70dbd53d1fa0eea1619) chore: Add Copilot Instructions file ([#19753](https://github.com/eslint/eslint/issues/19753)) (Nicholas C. Zakas) |
| 77 | +* [`2dfb5eb`](https://github.com/eslint/eslint/commit/2dfb5ebef4c14d552d10a6c7c2c2ce376e63654a) test: update `SourceCodeTraverser` tests ([#19763](https://github.com/eslint/eslint/issues/19763)) (Milos Djermanovic) |
| 78 | +* [`5bc21f9`](https://github.com/eslint/eslint/commit/5bc21f9e8e00f9e49442d1b6520b307ce94f3518) chore: add `*.code-workspace` to `.gitignore` ([#19771](https://github.com/eslint/eslint/issues/19771)) (루밀LuMir) |
| 79 | +* [`f4fa40e`](https://github.com/eslint/eslint/commit/f4fa40eb4bd6f4dba3b2e7fff259d0780ef6becf) refactor: NodeEventGenerator -> SourceCodeTraverser ([#19679](https://github.com/eslint/eslint/issues/19679)) (Nicholas C. Zakas) |
| 80 | +* [`0f49329`](https://github.com/eslint/eslint/commit/0f49329b4a7f91714f2cd1e9ce532d32202c47f4) refactor: use a service to emit warnings ([#19725](https://github.com/eslint/eslint/issues/19725)) (Francesco Trotta) |
| 81 | +* [`20a9e59`](https://github.com/eslint/eslint/commit/20a9e59438fde3642ab058cc55ee1b9fa02b6391) chore: update dependency shelljs to ^0.10.0 ([#19740](https://github.com/eslint/eslint/issues/19740)) (renovate[bot]) |
| 82 | + |
| 83 | + |
0 commit comments