# What changed in eslint-plugin-react-refresh

> 21 changes in eslint-plugin-react-refresh 0.4 to 0.5 from its official release notes, upgrade guides and advisories: 4 breaking, 6 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/npm/eslint-plugin-react-refresh/

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

## eslint-plugin-react-refresh 0.5

### Breaking changes

- The package now requires ESLint 9. (0.5.0) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.5.0)
- Replaces `customHOCs`; use it to specify additional HOCs for validation. (0.5.0) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.5.0)
- HOC call validation is stricter, distinguishing actual React HOC calls from random call expressions; add HOCs such as `connect` or `styled` to `extraHOCs` when needed. (0.5.0) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.5.0)
- The package now requires Node 20. (0.5.0) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.5.0)

### New APIs and options

- Adds an option that suppresses warnings when components are exported together in an object; every member must be a component, and anonymous functions need a component name as key. Defaults to false, or true in vite config. (0.5.7) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.5.7)
- Add instant to allowExportNames in Next config. (0.5.4) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.5.4)
- A named export provides the plugin object and configuration presets; its preset functions accept custom options, merge them with defaults, and return a config object. (0.5.0) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.5.0)

### Behavior and default changes

- Re-exporting namespace components is now supported. (0.5.6) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.5.6)
- The Next config allowExportNames list now includes contentType and size. (0.5.5) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.5.5)
- Supports nested function calls for extraHOCs. (0.5.1) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.5.2), [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.5.1)

### Tooling

- ESLint v10 is now supported. (0.5.1) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.5.1)

### Fixes and other changes

- SCREAMING_SNAKE_CASE constants exported via this syntax are no longer incorrectly treated as React components. (0.5.5) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.5.5)
- Fixes detection of non-component classes exported via export { }. (0.5.3) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.5.3)
- False positives with TypeScript function overloading are supported. (0.5.1) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.5.1)
- The rule now handles ternaries and chained HOC patterns such as `customHOC(props)(Component)`, allowing it to correctly support those files. (0.5.0) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.5.0)

## eslint-plugin-react-refresh 0.4

### New APIs and options

- Adds generateImageMetadata to allowExportNames in Next config. (0.4.24) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.4.24)
- Adds generateSitemaps to allowExportNames in Next config. (0.4.24) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.4.24)
- Adds generateStaticParams to allowExportNames in Next config. (0.4.24) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.4.24)

### Fixes and other changes

- Reverts changes intended to fix issue #93, addressing issue #95. (0.4.26) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.4.26)
- Component names may now contain underscores. (0.4.25) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.4.25)
- The rule now reports cases such as exporting Object.keys(TABLE) as EnumType[]. (0.4.25) — [release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases/tag/v0.4.25)
