The Wire · Showcase
REACT COMPILER FIXES JSX TAG PARSING, REACT NATIVE MOVES ASSETREGISTRY INTO CORE
By RepoJournal · Filed · About Meta
React's compiler now correctly handles JSX tags prefixed with underscores and dollar signs, while React Native consolidates its asset registry into the main package to eliminate a decade-old singleton footgun.
The React compiler shipped a critical fix [1] for JSX tags starting with `_` or `$` that were incorrectly classified as host elements instead of components, causing memoization to be skipped entirely. On the same desk, the compiler blacklisted `useWindowVirtualizer` [2] from TanStack's react-virtual alongside its sibling `useVirtualizer`, both of which use interior mutability patterns that break memoization. React DevTools fixed a parsing bug [3] in `printOperationsArray` that broke the opcode loop invariant when decoding activity slice changes, a silent failure that would corrupt the operations array during inspection. Meanwhile, React's DevTools component search got a navigation overhaul [4] that lets you jump directly to any result in massive component trees instead of stepping through 100+ matches one at a time. Over on React Native, the team executed a carefully sequenced migration [5] moving AssetRegistry out of the separate `react-native/assets-registry` package into the main `react-native` package, eliminating a longstanding ecosystem footgun where the module-scoped singleton state could diverge across the runtime. The deprecation [6] of `@react-native/assets-registry` is now live, with ESLint configs [7] restored to keep CI passing during the transition. Electron bumped to 43.0.0 [8] with breaking changes around clipboard API access from renderer processes and dSYM compression format shifts. Swift Package definitions for performance monitoring got cleaned up [9] to drop the unnecessary `cxxreact` dependency that the BUCK build already had removed.
Action items
- → Update imports from react-native/assets-registry to react-native before the old package is removed facebook/react-native [plan]
- → Review React compiler version for JSX tag prefix handling if using `_` or `$` prefixed components facebook/react [monitor]
- → Add useWindowVirtualizer to your memoization compatibility audit if using TanStack react-virtual facebook/react [plan]
References
- [1] [compiler] Fix JSX tags prefixed with `_` or `$` incorrectly treated as host elements ↗ facebook/react
- [2] [compiler]: add `useWindowVirtualizer` to known incompatible libraries ↗ facebook/react
- [3] [DevTools] Fix printOperationsArray decode of applied activity slice change ↗ facebook/react
- [4] [DevTools] Make component search results directly navigable ↗ facebook/react
- [5] Move AssetRegistry implementation into main package, expose as public API (#57369) facebook/react-native
- [6] Deprecate @react-native/assets-registry (#57370) facebook/react-native
- [7] Restore eslint path match for assets-registry (fix CI) (#57450) facebook/react-native
- [8] Bump Electron to 43.0.0 (#57422) facebook/react-native
- [9] Drop cxxreact dep from performance/cdpmetrics + timeline Package.swift (#57446) facebook/react-native
FAQ
- What changed in Meta on July 7, 2026?
- React's compiler now correctly handles JSX tags prefixed with underscores and dollar signs, while React Native consolidates its asset registry into the main package to eliminate a decade-old singleton footgun.
- What should Meta teams do about it?
- Update imports from react-native/assets-registry to react-native before the old package is removed • Review React compiler version for JSX tag prefix handling if using `_` or `$` prefixed components • Add useWindowVirtualizer to your memoization compatibility audit if using TanStack react-virtual
- Which Meta repositories shipped on July 7, 2026?
- facebook/react, facebook/react-native