# What changed in @stylistic/eslint-plugin

> 5 changes in @stylistic/eslint-plugin 4 from its official release notes, upgrade guides and advisories: 2 breaking, 2 new APIs and options. Each one cited. Sources checked 2026-10-27. HTML: https://unstale.sh/npm/@stylistic/eslint-plugin/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @stylistic/eslint-plugin 4

### Breaking changes

- The plugin is ESM-only and requires ESLint v9+ and flat config. (4.0.0) — [upgrade guide](https://eslint.style/guide/migration)
- Legacy config is no longer supported in v4; use flat config, and install v3.x if you still need legacy config. (4.0.0) — [upgrade guide](https://eslint.style/guide/migration)

### New APIs and options

- A configuration preset disables legacy rules from presets you extend that have not yet migrated. (4.0.0) — [upgrade guide](https://eslint.style/guide/migration)
- A metadata package exposes rules and packages for programmatic use, helping developers handle migration themselves. (4.0.0) — [upgrade guide](https://eslint.style/guide/migration)

### Behavior and default changes

- One rule can handle both JavaScript and TypeScript, so you no longer need to disable the built-in rule in favor of the @typescript-eslint version. (4.0.0) — [upgrade guide](https://eslint.style/guide/migration)
