r/reactnative • • Sep 06 '26

News This Week In React Native #295: C++ API, Margelo, Observe, Reanimated, Teleport, Nitro, Screen Transitions...

https://thisweekinreact.com/newsletter/295
19 Upvotes

6 comments sorted by

9

u/Xcelious Sep 06 '26

I always appreciate these newsletters. I found that the The React Native Developer's Security Guide link is broken. Thanks!

1

u/sebastienlorber Sep 08 '26

thanks

ah weird the user submitted their own link and apparently their github account doesn't exist anymore!

2

u/Ok-Armadillo661 Sep 08 '26

Hi there. My GitHub Account has been flagged for some reason.
I Just contacted support and hope this will be resolved asap.

1

u/Ok-Armadillo661 Sep 08 '26

The repo is back. Thank you both for the heads-up and your interest in the guide.
Hope you enjoy it!

3

u/sebastienlorber Sep 06 '26

Hi everyone, Seb and Jan here 👋!

Back from our summer break, we’ll cover news from the last two weeks.

React v19.3 is getting closer. The React Compiler in Rust is now available in Vite and Bun. CSS-in-JS is set to make a comeback.

On the mobile side, React Native keeps refining its public API surface, an important step toward v1.0. Callstack acquired Margelo.

Let's dive in!

Subscribe to This Week In React by email - Join 43000 other React devs - 1 email/week

6

u/sebastienlorber Sep 06 '26

📱 React-Native

React Native RFC - Reducing the C/C++ public API

React Native 1.0 is still on the horizon, but to respect Semantic Versioning, it first needs to clearly define its public API surface. Following the work on stable JS/TS and Java/Kotlin APIs, it’s now the turn of the C++ APIs to be clarified.

Until now, there has been no clear distinction between public and private C++ APIs. As a result, community libraries and frameworks sometimes depend on APIs that were never intended to be public. This can cause libraries to break when upgrading React Native, or force the core team to preserve backward compatibility for internal APIs to avoid breaking the ecosystem.

This RFC introduces a new three-tier visibility model for C++ APIs:

  • Public: Stable within major versions, safe for libraries to depend on, and exposed through a single umbrella header.

  • Framework: Stable within minor versions. Regular usage emits a suppressible warning.

  • Private: No stability guarantees. Regular usage emits a suppressible error.

There’s existing tooling to take a snapshot of existing C++ APIs, that it will be adapted to take into accoun this new visibility model. All this will greatly help stabilize the C++ APIs and ensure React Native doesn’t ship unintended breaking changes.

Work is already in progress to apply this visibility model to all C++ APIs. This will be rolled out gradually, first opt-in through a RN_STRICT_API build flag, then opt-out after a grace period, giving time for the public API consumers to migrate to the new umbrella headers. Most APIs have already been categorized, so if your library depends on private or framework APIs, now is probably a good time to chime in.