React Releases
Track React releases, breaking changes, and migration paths. Version comparisons and upgrade guidance for React developers.
—
Total Versions
—
Supported
—
Latest
Version Timeline
All tracked releases with lifecycle status and EOL dates.
Loading version data…
Lifecycle Timeline
Visual overview of active support and maintenance windows.
Upgrade Paths
Migration guidance between major versions — breaking changes, effort estimates, and tips.
Breaking Changes
- ReactDOM.render → createRoot
- Automatic batching (may change timing)
- Strict Mode double-rendering in dev
- useId hook changes for SSR
Migration Notes
Minimal breaking changes. Swap ReactDOM.render for createRoot. Automatic batching is transparent but may change effect timing. Run React 18 upgrade codemod. Most apps upgrade in under an hour.
Breaking Changes
- forwardRef no longer needed (ref is a prop)
- String refs removed
- Legacy Context removed
- Removed ReactDOM.render (use createRoot)
- PropTypes package removed from React
- use() hook replaces some useEffect patterns
Migration Notes
Run the React 19 codemod first. The biggest changes are removing legacy APIs (string refs, old context, ReactDOM.render). If you already use createRoot and modern patterns, the upgrade is smooth. Server Components integration may require framework-level changes.
Version Risk Assessment
Evaluate risk factors before choosing a version for production.
| Version | EOL Risk | CVE Risk | Ecosystem | Cloud Support | Overall | Recommended Action |
|---|---|---|---|---|---|---|
| React 16 | Critical | Medium | Legacy | N/A | Critical | No patches since 2022. Migrate to 18+. |
| React 17 | High | Low | Outdated | N/A | High | Transitional release. Upgrade to 18 or 19. |
| React 18 | Medium | Low | Active | N/A | Medium | Stable. Upgrade to 19 when ready. |
| React 19 | None | Low | Active | N/A | Low | Latest stable. Recommended for all projects. |
React does not formally EOL versions, but older versions stop receiving patches. The npm ecosystem (libraries, tools, frameworks) quickly targets the latest React version, making older versions increasingly painful to maintain.
React Version Feature Comparison
Side-by-side feature differences across major versions.
| Feature | 17 | 18 | 19 |
|---|---|---|---|
| Concurrent rendering | No | New (opt-in) | Stable |
| Automatic batching | Partial | Full | Full |
| Server Components | No | Experimental | Stable |
| Suspense for data | No | Partial | Full |
| Actions (forms) | No | No | New |
| use() hook | No | No | New |
| ref as prop | forwardRef | forwardRef | Direct prop |
| Error handling | Basic | Improved | Enhanced (onCaughtError) |
| Asset loading | Manual | Manual | Built-in (preload) |
| Document metadata | react-helmet | react-helmet | Built-in |
| Bundle size impact | Baseline | +2KB (concurrent) | Smaller (no legacy) |
Embed Badges
Add live React status badges to your README, docs, or dashboard.
Health Status
Overall support health

EOL Countdown
Next end-of-life date

Latest Version
Current stable release

CVE Status
Known vulnerabilities

Frequently Asked Questions
Common questions about React releases and lifecycle.