Six years of New Architecture work land here. In 0.76 it stops being something you turn on and becomes something you turn off — every project created with the community template from 0.76 onward runs on Fabric, TurboModules, and bridgeless mode by default. This is also the release that finally retires the old remote-debugging setup for something built for how Hermes actually works.
Existing apps don't get flipped automatically. The default changes for new projects, not the setting on the one you already ship.
#The New Architecture is the default for new projects
Run npx @react-native-community/cli init on 0.76 and you get Fabric (the renderer), TurboModules (native module loading), and bridgeless mode (no more JSON-serialized bridge between JS and native) with nothing to flip. The React Native team is explicit that this is a production-ready milestone, not a beta flag. Years of opt-in testing across 0.68 through 0.73 were building toward exactly this.
Upgrading an existing app is a different story. The flag from earlier releases still applies — 0.76 changes what a fresh project gets, not what your newArchEnabled setting currently says.
newArchEnabled=true
#React Native DevTools replaces the old debugger
React Native DevTools is the production version of the debugger previewed back in 0.73: breakpoints, variable watches, a real console, all browser-aligned. It runs against Hermes directly instead of proxying through Chrome's remote-debugging protocol. Open the dev menu's debugger option and it's what you get, and it's the tool the team wants you using going forward.
#Metro gets dramatically faster
Metro's resolver is roughly 15x faster in 0.76, which works out to about 4x faster overall for warm builds. No config change required.
If Metro startup has been a daily tax on your team, this is the release where that tax drops sharply.
#New style props that only work on the New Architecture
0.76 adds boxShadow and filter as style props, following the CSS spec for both. They're New Architecture-only. That restriction is itself a signal: new styling capability lands there from here on, not on the old bridge renderer.
<View style={{ boxShadow: "0 4px 12px rgba(0,0,0,0.25)" }} />
Once you're confirmed on the New Architecture, reach for these instead of react-native-shadow or platform-specific shadow props. They render the same way on both platforms instead of needing an iOS/Android split.
#What to adopt first
- Starting a new app on 0.76+? Do nothing — the New Architecture default is exactly what you want, and fighting it back to the old bridge is not a good use of time.
- Upgrading an existing app: budget a real spike for enabling the New Architecture rather than assuming the version bump does it for you. Check every native dependency's New Architecture support first.
- Switch to React Native DevTools as your default debugging workflow immediately; the old remote debugger is on its way out and DevTools works better with Hermes anyway.
- Hold off on
boxShadow/filterin any codebase still shipping on the old architecture. They'll silently no-op or misbehave there. - Don't skip straight past 0.76 to a later release without reading its migration notes. This is the release where the ground genuinely shifted, and later releases assume you're already standing on it.