# What changed in eslint-plugin-react-hooks

> 14 changes in eslint-plugin-react-hooks 5 from its official release notes, upgrade guides and advisories: 3 breaking, 1 new APIs and options. Each one cited. Sources checked 2026-10-23. HTML: https://unstale.sh/npm/eslint-plugin-react-hooks/

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

## eslint-plugin-react-hooks 5

### Breaking changes

- Component names must start with an uppercase letter; names such as _Button and _component are no longer accepted as components. (5.0.0) — [release notes](https://github.com/react/react/releases/tag/eslint-plugin-react-hooks%405.0.0)
- The plugin disallows calling hooks in async functions. (5.0.0) — [release notes](https://github.com/react/react/releases/tag/eslint-plugin-react-hooks%405.0.0)
- The experimental useEvent name is renamed to useEffectEvent for linting. (5.0.0) — [release notes](https://github.com/react/react/releases/tag/eslint-plugin-react-hooks%405.0.0)

### New APIs and options

- The RulesOfHooks lint rule is updated with useEvent rules. (5.0.0) — [release notes](https://github.com/react/react/releases/tag/eslint-plugin-react-hooks%405.0.0)

### Behavior and default changes

- Linting for use() is no longer experimental. (5.0.0) — [release notes](https://github.com/react/react/releases/tag/eslint-plugin-react-hooks%405.0.0)

### Tooling

- The plugin adds support for ESLint v9. (5.0.0) — [release notes](https://github.com/react/react/releases/tag/eslint-plugin-react-hooks%405.0.0)
- The plugin lints for the presence of useEvent functions in dependency lists. (5.0.0) — [release notes](https://github.com/react/react/releases/tag/eslint-plugin-react-hooks%405.0.0)

### Fixes and other changes

- The plugin accepts `as` expressions in callbacks. (5.0.0) — [release notes](https://github.com/react/react/releases/tag/eslint-plugin-react-hooks%405.0.0)
- The plugin accepts `as` expressions in dependency arrays. (5.0.0) — [release notes](https://github.com/react/react/releases/tag/eslint-plugin-react-hooks%405.0.0)
- The plugin supports Flow `as` expressions. (5.0.0) — [release notes](https://github.com/react/react/releases/tag/eslint-plugin-react-hooks%405.0.0)
- The plugin treats React.use() the same as use(). (5.0.0) — [release notes](https://github.com/react/react/releases/tag/eslint-plugin-react-hooks%405.0.0)
- The plugin considers dispatch from useActionState stable. (5.0.0) — [release notes](https://github.com/react/react/releases/tag/eslint-plugin-react-hooks%405.0.0)
- The plugin allows useEffect(fn, undefined). (5.0.0) — [release notes](https://github.com/react/react/releases/tag/eslint-plugin-react-hooks%405.0.0)
- The plugin checks useEvent references instead. (5.0.0) — [release notes](https://github.com/react/react/releases/tag/eslint-plugin-react-hooks%405.0.0)
