← Back to all briefs
React57s read

React Native 0.87: Strict TypeScript API Default, Metro Update, Swift Package Manager, AGP 9

React Native 0.87 makes the Strict TypeScript API the default and turns deep internal imports into type errors, so audit your codebase now before the 0.88 opt-out removal.

React Native 0.87 makes the Strict TypeScript API the default, and the types now come straight out of the RN source. That means a deep import like react-native/Libraries/* is now a type error, not a warning you can defer. The legacy types opt-out disappears in 0.88, so if you're going to audit, this is the release to do it in.

Metro 0.87 rides along: source maps build about twice as fast and use roughly half the memory, which you'll feel in dev and CI. Android teams get AGP 9 support for the Gradle upgrade, and iOS gets experimental Swift Package Manager support, which you can safely ignore until it stops being experimental. InteractionManager is out along with a broader sweep of deprecated APIs, and Node now has to be at least 22.13.

The part that bites is the deep imports. If your codebase reaches into react-native/Libraries or leans on the old loose types, those errors show up the moment you bump the version. Grep for internal imports and deprecated calls now, fix them, and jump to 0.87 in the same pass. Wait for 0.88 and the opt-out is gone, so you lose the off-ramp.

RN is cutting its public API surface on purpose here. The trade is real, but you end up with types that actually match what ships.

React60s read

React Server Components: The Mental Model Shift You Need

RSCs flip the traditional component model on its head. Components now run on the server by default, client interactivity becomes opt-in. Here's what changes for how you think about data fetching, bundle size, and composition.

1 source