@@ -6,54 +6,61 @@ title: Changelog
66
77### 💥 Breaking Changes
88
9- #### System Requirements
9+ #### ** 1. Module Format & Config System**
10+
11+ - ** ESM Only** : Drop support for CommonJS (CJS) module format, packages are now distributed only as ECMAScript Modules (ESM)
12+ - ** ESLint Flat Config Only** : Drop support for ESLint legacy config system, packages now support only ESLint Flat Config (` eslint.config.js ` )
13+
14+ #### ** 2. Minimum Supported Versions**
1015
1116- Drop support for Node.js 16 and 18, minimum required version is now Node.js 20
1217- Drop support for ESLint 8, minimum required version is now ESLint 9.3.6
1318- Drop support for TypeScript 4, minimum required version is now TypeScript 5.9.2
1419
15- #### Plugins and Rules
20+ #### ** 3. Rule Renames **
1621
1722The following rules have been renamed:
1823
19- - ` react-x/no-comment-textnodes ` to ` react-x/jsx-no-comment-textnodes `
20- - ` react-x/no-nested-components ` to ` react-x/no-nested-component-definitions `
21- - ` react-x/prefer-react-namespace-import ` to ` react-x/prefer-namespace-import `
24+ - ` react-x/no-comment-textnodes ` -> ` react-x/jsx-no-comment-textnodes `
25+ - ` react-x/no-nested-components ` -> ` react-x/no-nested-component-definitions `
26+ - ` react-x/prefer-react-namespace-import ` -> ` react-x/prefer-namespace-import `
27+
28+ #### ** 4. Rule Consolidations**
2229
23- The following rules have been integrated into new rules:
30+ The following rules have been consolidated into new rules:
2431
2532- ` react-x/jsx-shorthand-boolean ` replaces ` avoid-shorthand-boolean ` and ` prefer-shorthand-boolean `
2633- ` react-x/jsx-shorthand-fragment ` replaces ` avoid-shorthand-fragment ` and ` prefer-shorthand-fragment `
2734- ` react-hooks-extra/no-direct-set-state-in-use-effect ` replaces ` no-direct-set-state-in-use-layout-effect `
2835
29- The following rules have been relocated to new plugins:
36+ #### ** 5. Rule Relocations **
3037
31- - ` react-hooks-extra/no-unnecessary-use-callback ` to ` react-x/no-unnecessary-use-callback `
32- - ` react-hooks-extra/no-unnecessary-use-memo ` to ` react-x/no-unnecessary-use-memo `
33- - ` react-hooks-extra/no-unnecessary-use-prefix ` to ` react-x/no-unnecessary-use-prefix `
34- - ` react-hooks-extra/prefer-use-state-lazy-initialization ` to ` react-x/prefer-use-state-lazy-initialization `
38+ The following rules have been moved to new plugins:
3539
36- #### Settings
40+ - ` react-hooks-extra/no-unnecessary-use-callback ` -> ` react-x/no-unnecessary-use-callback `
41+ - ` react-hooks-extra/no-unnecessary-use-memo ` -> ` react-x/no-unnecessary-use-memo `
42+ - ` react-hooks-extra/no-unnecessary-use-prefix ` -> ` react-x/no-unnecessary-use-prefix `
43+ - ` react-hooks-extra/prefer-use-state-lazy-initialization ` -> ` react-x/prefer-use-state-lazy-initialization `
44+
45+ #### ** 6. Removed Settings**
3746
3847The following settings have been removed from ` settings["react-x"] ` :
3948
4049- ` additionalComponents `
4150- ` additionalHooks `
4251- ` skipImportCheck `
4352
44- ### ✨ New
45-
46- - feat: add ` react-x/jsx-shorthand-boolean ` rule to replace ` avoid-shorthand-boolean ` and ` prefer-shorthand-boolean ` rules
47- - feat: add ` react-x/jsx-shorthand-fragment ` rule to replace ` avoid-shorthand-fragment ` and ` prefer-shorthand-fragment ` rules
48- - feat: add ` react-x/no-forbidden-props ` rule to disallow specific props on components
49- - feat: add ` react-x/no-unnecessary-key ` rule to report unnecessary ` key ` props on elements
50- - feat: add ` react-x/no-unused-props ` rule to report unused props in components
51- - feat: add ` react-dom/no-string-style-prop ` rule to disallow string values in ` style ` prop
52- - feat: add ` react-dom/prefer-namespace-import ` rule to enforce using namespace import for ` react-dom `
53+ ### ✨ New Features
5354
54- ### 🪄 Improvements
55+ We've added the following new rules to help you write higher-quality React code:
5556
56- - build: migrate to ` tsdown ` for building the packages
57+ - ** ` react-x/jsx-shorthand-boolean ` ** : Enforces a consistent style for boolean attributes
58+ - ** ` react-x/jsx-shorthand-fragment ` ** : Enforces a consistent style for React Fragments
59+ - ** ` react-x/no-forbidden-props ` ** : Disallows specific props on components
60+ - ** ` react-x/no-unnecessary-key ` ** : Reports unnecessary ` key ` props on elements
61+ - ** ` react-x/no-unused-props ` ** : Reports unused props in components
62+ - ** ` react-dom/no-string-style-prop ` ** : Disallows string values for the ` style ` prop
63+ - ** ` react-dom/prefer-namespace-import ` ** : Enforces using a namespace import for ` react-dom `
5764
5865## v1.53.1 (2025-09-11)
5966
0 commit comments