Skip to content

Commit

Permalink
Added release blog post for v9.0.0-alpha.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Jenkins committed Dec 29, 2023
1 parent 9773484 commit f3f62c8
Showing 1 changed file with 135 additions and 0 deletions.
135 changes: 135 additions & 0 deletions src/content/blog/2023-12-29-eslint-v9.0.0-alpha.0-released.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
---
layout: post
title: ESLint v9.0.0-alpha.0 released
teaser: "We just pushed ESLint v9.0.0-alpha.0, which is a major release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release. This release also has some breaking changes, so please read the following closely."
image: release-notes-major.png
draft: true
authors:
- eslintbot
categories:
- Release Notes
tags:
- Release
---




## Highlights

This is a summary of the major changes you need to know about for this version of ESLint.

### Installing

Since this is a pre-release version, you will not automatically be upgraded by npm. You must specify the `next` tag when installing:

```
npm i eslint@next --save-dev
```

You can also specify the version directly:

```
npm i [email protected] --save-dev
```

### Migration Guide

As there are a lot of changes, we've created a [migration guide](/docs/9.0.0/use/migrating-to-9.0.0) describing the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.




## Breaking Changes


* [`946ae00`](https://github.com/eslint/eslint/commit/946ae00457265eb298eb169d6d48ca7ec71b9eef) feat!: FlatRuleTester -> RuleTester ([#17922](https://github.com/eslint/eslint/issues/17922)) (Nicholas C. Zakas)
* [`baff28c`](https://github.com/eslint/eslint/commit/baff28ce8f167f564471f1d70d6e9c4b0cb1a508) feat!: remove [`no-inner-declarations`](/docs/rules/no-inner-declarations) from `eslint:recommended` ([#17920](https://github.com/eslint/eslint/issues/17920)) (Milos Djermanovic)
* [`cadfbcd`](https://github.com/eslint/eslint/commit/cadfbcd468737fc9447243edd1d15058efb6d3d8) feat!: Rename FlatESLint to ESLint ([#17914](https://github.com/eslint/eslint/issues/17914)) (Nicholas C. Zakas)
* [`d1018fc`](https://github.com/eslint/eslint/commit/d1018fc5e59db0495aa4a7f501c9d3f831981f35) feat!: skip running warnings in --quiet mode ([#17274](https://github.com/eslint/eslint/issues/17274)) (Maddy Miller)
* [`fb81b1c`](https://github.com/eslint/eslint/commit/fb81b1cb78d2692a87fd3591fdc0f96b0c95e760) feat!: Set default `schema: []`, drop support for function-style rules ([#17792](https://github.com/eslint/eslint/issues/17792)) (Milos Djermanovic)
* [`0b21e1f`](https://github.com/eslint/eslint/commit/0b21e1fd67d94f907d007a7a9707a3ae1cc08575) feat!: add two more cases to [`no-implicit-coercion`](/docs/rules/no-implicit-coercion) ([#17832](https://github.com/eslint/eslint/issues/17832)) (Gürgün Dayıoğlu)
* [`2916c63`](https://github.com/eslint/eslint/commit/2916c63046603e0cdc578d3c2eef8fca5b2e8847) feat!: Switch Linter to flat config by default ([#17851](https://github.com/eslint/eslint/issues/17851)) (Nicholas C. Zakas)
* [`200518e`](https://github.com/eslint/eslint/commit/200518eb6d42de4c3b0c6ef190fc09a95718297e) fix!: Parsing 'exported' comment using parseListConfig ([#17675](https://github.com/eslint/eslint/issues/17675)) (amondev)
* [`bdd6ba1`](https://github.com/eslint/eslint/commit/bdd6ba138645dba0442bb0ed2ee73049df56f38d) feat!: Remove valid-jsdoc and require-jsdoc ([#17694](https://github.com/eslint/eslint/issues/17694)) (Nicholas C. Zakas)
* [`12be307`](https://github.com/eslint/eslint/commit/12be3071d014814149e8e6d602f5c192178ca771) fix!: Behavior of CLI when no arguments are passed ([#17644](https://github.com/eslint/eslint/issues/17644)) (Nicholas C. Zakas)
* [`8fe8c56`](https://github.com/eslint/eslint/commit/8fe8c5626b98840d6a8580004f6ceffeff56264f) feat!: Update shouldUseFlatConfig and CLI so flat config is default ([#17748](https://github.com/eslint/eslint/issues/17748)) (Nicholas C. Zakas)
* [`60dea3e`](https://github.com/eslint/eslint/commit/60dea3e3abd6c0b6aab25437b2d0501b0d30b70c) feat!: deprecate [no-new-symbol](/docs/rules/no-new-symbol), recommend [no-new-native-nonconstructor](/docs/rules/no-new-native-nonconstructor) ([#17710](https://github.com/eslint/eslint/issues/17710)) (Francesco Trotta)
* [`5aa9c49`](https://github.com/eslint/eslint/commit/5aa9c499da48b2d3187270d5d8ece71ad7521f56) feat!: check for parsing errors in suggestion fixes ([#16639](https://github.com/eslint/eslint/issues/16639)) (Bryan Mishkin)
* [`b3e0bb0`](https://github.com/eslint/eslint/commit/b3e0bb03cc814e78b06a1acc4e5347b4c90d72bf) feat!: assert suggestion messages are unique in rule testers ([#17532](https://github.com/eslint/eslint/issues/17532)) (Josh Goldberg ✨)
* [`e563c52`](https://github.com/eslint/eslint/commit/e563c52e35d25f726d423cc3b1dffcd80027fd99) feat!: [`no-invalid-regexp`](/docs/rules/no-invalid-regexp) make allowConstructorFlags case-sensitive ([#17533](https://github.com/eslint/eslint/issues/17533)) (Josh Goldberg ✨)
* [`e5f02c7`](https://github.com/eslint/eslint/commit/e5f02c70084c4f80900c0875b08f665e1f030af2) fix!: [no-sequences](/docs/rules/no-sequences) rule schema correction ([#17878](https://github.com/eslint/eslint/issues/17878)) (MHO)
* [`6ee3e9e`](https://github.com/eslint/eslint/commit/6ee3e9eb5df7bdfdaa1746214793ed511112be76) feat!: Update `eslint:recommended` configuration ([#17716](https://github.com/eslint/eslint/issues/17716)) (Milos Djermanovic)
* [`c2cf85a`](https://github.com/eslint/eslint/commit/c2cf85a7447777e6b499cbb5c49de919bb5c817f) feat!: drop support for string configurations in flat config array ([#17717](https://github.com/eslint/eslint/issues/17717)) (Milos Djermanovic)
* [`c314fd6`](https://github.com/eslint/eslint/commit/c314fd612587c42cfbe6acbe286629c4178be3f7) feat!: Remove `SourceCode#getComments()` ([#17715](https://github.com/eslint/eslint/issues/17715)) (Milos Djermanovic)
* [`ae78ff1`](https://github.com/eslint/eslint/commit/ae78ff16558a1a2ca07b2b9cd294157d1bdcce2e) feat!: Remove deprecated context methods ([#17698](https://github.com/eslint/eslint/issues/17698)) (Nicholas C. Zakas)
* [`f71c328`](https://github.com/eslint/eslint/commit/f71c328e2786e2d73f168e43c7f96de172484a49) feat!: Swap FlatESLint-ESLint, FlatRuleTester-RuleTester in API ([#17823](https://github.com/eslint/eslint/issues/17823)) (Nicholas C. Zakas)
* [`5304da0`](https://github.com/eslint/eslint/commit/5304da03d94dc8cb19060e2efc9206784c4cec0e) feat!: remove formatters except html, json(-with-metadata), and stylish ([#17531](https://github.com/eslint/eslint/issues/17531)) (Josh Goldberg ✨)
* [`e1e827f`](https://github.com/eslint/eslint/commit/e1e827ffcbd73faa40dbac3b97529452e9c67108) feat!: Require Node.js `^18.18.0 || ^20.9.0 || >=21.1.0` ([#17725](https://github.com/eslint/eslint/issues/17725)) (Milos Djermanovic)




## Features


* [`8792464`](https://github.com/eslint/eslint/commit/8792464ee7956af82dab582ca9ee59da596a608e) feat: Enable eslint.config.mjs and eslint.config.cjs ([#17909](https://github.com/eslint/eslint/issues/17909)) (Nicholas C. Zakas)
* [`24ce927`](https://github.com/eslint/eslint/commit/24ce9276d472b85541c4b01db488c789f33fd234) feat: warn by default for unused disable directives ([#17879](https://github.com/eslint/eslint/issues/17879)) (Bryan Mishkin)






## Bug Fixes


* [`f182114`](https://github.com/eslint/eslint/commit/f182114144ae0bb7187de34a1661f31fb70f1357) fix: deep merge behavior in flat config ([#17906](https://github.com/eslint/eslint/issues/17906)) (Francesco Trotta)
* [`b577e8a`](https://github.com/eslint/eslint/commit/b577e8a55750c5e842074f62f1babb1836c4571c) fix: allow circular references in config ([#17752](https://github.com/eslint/eslint/issues/17752)) (Francesco Trotta)




## Documentation


* [`7f0ba51`](https://github.com/eslint/eslint/commit/7f0ba51bcef3e6fbf972ceb20403238f0e1f0ea9) docs: show `NEXT` in version selectors ([#17911](https://github.com/eslint/eslint/issues/17911)) (Milos Djermanovic)
* [`0a7911e`](https://github.com/eslint/eslint/commit/0a7911e09adf2aca4d93c81f4be1cd80db7dd735) docs: add flat config default to v9 migration guide ([#17927](https://github.com/eslint/eslint/issues/17927)) (Milos Djermanovic)
* [`94f8065`](https://github.com/eslint/eslint/commit/94f80652aca302e2715ea51c10c3a1010786b751) docs: Add CLI updates to migrate to v9 guide ([#17924](https://github.com/eslint/eslint/issues/17924)) (Nicholas C. Zakas)
* [`16187f2`](https://github.com/eslint/eslint/commit/16187f23c6e5aaed3b50ff551a66f758893d5422) docs: Add exported and string config notes to migrate to v9 guide ([#17926](https://github.com/eslint/eslint/issues/17926)) (Nicholas C. Zakas)
* [`3ae50cc`](https://github.com/eslint/eslint/commit/3ae50cc788c3cdd209e642573e3c831dd86fa0cd) docs: Add RuleTester changes to migrate to v9 guide ([#17923](https://github.com/eslint/eslint/issues/17923)) (Nicholas C. Zakas)
* [`0831b58`](https://github.com/eslint/eslint/commit/0831b58fe6fb5778c92aeb4cefa9ecedbbfbf48b) docs: add rule changes to v9 migration guide ([#17925](https://github.com/eslint/eslint/issues/17925)) (Milos Djermanovic)
* [`037abfc`](https://github.com/eslint/eslint/commit/037abfc21f264fca3a910c4a5cd23d1bf6826c3d) docs: update API docs ([#17919](https://github.com/eslint/eslint/issues/17919)) (Milos Djermanovic)
* [`afc3c03`](https://github.com/eslint/eslint/commit/afc3c038ed3132a99659604624cc24e702eec45a) docs: add function-style and `meta.schema` changes to v9 migration guide ([#17912](https://github.com/eslint/eslint/issues/17912)) (Milos Djermanovic)
* [`1da0723`](https://github.com/eslint/eslint/commit/1da0723695d080008b22f30c8b5c86fe386c6242) docs: update `eslint:recommended` section in Migrate to v9.x ([#17908](https://github.com/eslint/eslint/issues/17908)) (Milos Djermanovic)
* [`f55881f`](https://github.com/eslint/eslint/commit/f55881f492d10e9c759e459ba6bade1be3dad84b) docs: remove configuration-files-new.md ([#17907](https://github.com/eslint/eslint/issues/17907)) (Milos Djermanovic)
* [`63ae191`](https://github.com/eslint/eslint/commit/63ae191070569a9118b5972c90a98633b0a336e1) docs: Migrate to v9.0.0 ([#17905](https://github.com/eslint/eslint/issues/17905)) (Nicholas C. Zakas)
* [`e708496`](https://github.com/eslint/eslint/commit/e7084963c73f3cbaae5d569b4a2bee1509dd8cef) docs: Switch to flat config by default ([#17840](https://github.com/eslint/eslint/issues/17840)) (Nicholas C. Zakas)
* [`fdf0424`](https://github.com/eslint/eslint/commit/fdf0424c5c08c058479a6cd7676be6985e0f400f) docs: Update Create a Plugin for flat config ([#17826](https://github.com/eslint/eslint/issues/17826)) (Nicholas C. Zakas)
* [`e6a91bd`](https://github.com/eslint/eslint/commit/e6a91bdf401e3b765f2b712e447154e4a2419fbc) docs: Switch shareable config docs to use flat config ([#17827](https://github.com/eslint/eslint/issues/17827)) (Nicholas C. Zakas)
* [`3831fb7`](https://github.com/eslint/eslint/commit/3831fb78daa3da296b71823f61f8e3a4556ff7d3) docs: updated examples of [`max-lines`](/docs/rules/max-lines) rule ([#17898](https://github.com/eslint/eslint/issues/17898)) (Tanuj Kanti)
* [`cd1ac20`](https://github.com/eslint/eslint/commit/cd1ac2041f48f2b6d743ebf671d0279a70de6eea) docs: Update README (GitHub Actions Bot)








## Chores


* [`17fedc1`](https://github.com/eslint/eslint/commit/17fedc17e9e6e39ad986d917fb4e9e4835c50482) chore: upgrade @eslint/js@9.0.0-alpha.0 ([#17928](https://github.com/eslint/eslint/issues/17928)) (Milos Djermanovic)
* [`cb89ef3`](https://github.com/eslint/eslint/commit/cb89ef373fffbed991f4e099cb255a7c116889f9) chore: package.json update for @eslint/js release (Jenkins)
* [`f6f4a45`](https://github.com/eslint/eslint/commit/f6f4a45680039f720a2fccd5f445deaf45babb3d) chore: drop structuredClone polyfill for v9 ([#17915](https://github.com/eslint/eslint/issues/17915)) (Kevin Gibbons)
* [`412dcbb`](https://github.com/eslint/eslint/commit/412dcbb672b5a5859f96753afa7cb87291135a1b) chore: upgrade [email protected] ([#17916](https://github.com/eslint/eslint/issues/17916)) (Milos Djermanovic)
* [`02a8baf`](https://github.com/eslint/eslint/commit/02a8baf9f2ef7b309c7d45564a79ed5d2153057f) chore: Rename files with underscores ([#17910](https://github.com/eslint/eslint/issues/17910)) (Nicholas C. Zakas)
* [`c0f5d91`](https://github.com/eslint/eslint/commit/c0f5d913b0f07de332dfcecf6052f1e64bf3d2fb) chore: remove creating an unused instance of Linter in tests ([#17902](https://github.com/eslint/eslint/issues/17902)) (Milos Djermanovic)
* [`3826cdf`](https://github.com/eslint/eslint/commit/3826cdf89294d079be037a9ab30b7506077b26ac) chore: use jsdoc/no-multi-asterisks with allowWhitespace: true ([#17900](https://github.com/eslint/eslint/issues/17900)) (Percy Ma)
* [`a9a17b3`](https://github.com/eslint/eslint/commit/a9a17b3f1cb6b6c609bda86a618ac5ff631285d2) chore: fix getting scope in tests ([#17899](https://github.com/eslint/eslint/issues/17899)) (Milos Djermanovic)
* [`595a1f6`](https://github.com/eslint/eslint/commit/595a1f689edb5250d8398af13c3e4bd19d284d92) test: ensure that CLI tests run with FlatESLint ([#17884](https://github.com/eslint/eslint/issues/17884)) (Francesco Trotta)
* [`c7eca43`](https://github.com/eslint/eslint/commit/c7eca43202be98f6ff253b46c9a38602eeb92ea0) chore: update dependency markdownlint-cli to ^0.38.0 ([#17865](https://github.com/eslint/eslint/issues/17865)) (renovate[bot])
* [`cc0c9f7`](https://github.com/eslint/eslint/commit/cc0c9f707aa9da7965b98151868b3c249c7f8f30) ci: bump github/codeql-action from 2 to 3 ([#17873](https://github.com/eslint/eslint/issues/17873)) (dependabot[bot])


0 comments on commit f3f62c8

Please sign in to comment.