The Wire · Showcase
REACT DEVTOOLS KILLS TIMELINE PROFILER, PIVOTS TO PERFORMANCE PANEL
By RepoJournal · Filed · About Meta
React DevTools is retiring its built-in Timeline profiler and steering users to the browser's native Performance tracks instead, ripping out 74 files of dead code in the process.
The shift comes in two coordinated moves. First, the Timeline tab itself vanishes [1], replaced with a smart redirect: if you're on React 19.2 or later, DevTools will prompt you to use the Performance panel for tracing; everyone else gets nudged to upgrade [4]. Immediately behind it, React strips out the entire Timeline infrastructure [2], deleting `packages/react-devtools-timeline`, the profiling hooks backend, and all the plumbing that existed solely to feed that tab. This is a clean break, not a deprecation. In parallel, DevTools fixes a nasty bug where every ErrorBoundary instance was reporting the same error independently [3], drowning developers in duplicate alerts. Meanwhile, React Native patches critical Image component crashes on Android when props 2.0 is enabled [5], and on iOS extracts props once per render instead of repeatedly [6], matching the Android pattern. A FileReader fix [7] prevents premature blob deallocation during async reads. The Native team also fixes iOS Codegen to discover third-party components without iOS configs [8], and SwiftPM builds now try the React Native Maven mirror first before falling back to Central [9].
One email a day. Unsubscribe in one click.
Keep up with Meta in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → If debugging React 19.2+, switch from DevTools Timeline to browser Performance panel immediately facebook/react [immediate]
- → On React Native, enable props 2.0 feature flag and verify Image component stability in prerelease facebook/react-native [plan]
- → Monitor FileReader + Blob usage for premature deallocations if using async reads facebook/react-native [monitor]
References
- [1] [DevTools] Remove Timeline profiler tab, suggest React Performance tracks ↗ facebook/react
- [2] [DevTools] Remove the dead Timeline profiler code ↗ facebook/react
- [3] [DevTools] Deduplicate error reporting ↗ facebook/react
- [4] [DevTools] Remove Timeline profiler tab, suggest React Performance tracks (#37186) facebook/react
- [5] fix(android): Image `defaultSource` & `loadingIndicatorSrc` broken with props 2.0 (#55210) facebook/react-native
- [6] fix(ios): extract Image.ios.js props once (#57710) facebook/react-native
- [7] Fix premature blob deallocation during FileReader reads (#57796) facebook/react-native
- [8] Fix iOS Codegen fallback for libraries without an iOS config (#57790) facebook/react-native
- [9] Download artifacts from Mirror first on SwiftPM builds (#57763) facebook/react-native