All Lights on React Conf 2025: Big Moves for React & React Native
Hey,
It’s Michał with the September and early October (it’s not becoming a tradition, I promise!) edition of our monthly newsletter. This one is also special, covering the one and only React Conf 2025 that Callstack co-organizes with Meta and the React core team. We’ll go through the most important announcements and link to the live stream. Let’s begin!
React Conf highlights
What a conference this was! React Conf 2025 brought us some big updates across React and React Native, including securing further React development by forming a foundation around it, removing legacy React Native architecture, new core projects, experimental rendering features, compiler improvements, better performance tools, and new ways to build apps across platforms.
- React Foundation announcement: A huge milestone for React! React Foundation, announced on stage by Seth Webster, Head of React at Meta and now Executive Director of React Foundation, will guide React and React Native’s long-term direction and community collaboration. Founding members include: Amazon, Callstack, Expo, Meta, Microsoft, Software Mansion, and Vercel.
- React’s
<ViewTransition />
in Canary: The effort of bringing the first animation API directly to React, driven by Sebastian Markbåge, is finally available for React frameworks to adopt and test. WithViewTransition
, we get declarative access to the View Transition API to easily create animated transitions between different website views, available in all major browsers. It’s not yet available in React Native. <Fragment ref={...}>
in Canary: A new way to compose platform-native behaviors. Internally, React provides aFragmentInstance
as the ref value that implements methods for interacting with the DOM nodes wrapped by the Fragment. This allows for handling platform-specific logic with platform-agnostic components you can compose together.- React Native’s
<VirtualView />
: A new abstraction for building memory-efficient layouts, especially suitable for vertical and horizontal lists when wrapped in aScrollView
. When aVirtualView
returns to the visible region of aScrollView
, it becomes visible. When visible, its children are guaranteed to be rendered. This guarantee is maintained by blocking the main thread from rendering the next frame that would reveal theVirtualView
until its children can be rendered. This is React running on two threads automatically under the hood. - DOM APIs in React Native: Before, native components provided React Native-specific objects with just a handful of methods, like
measure
andsetNativeProps
. Since v0.82, they will provide nodes implementing a subset of the DOM API to traverse the UI tree, measure layout, and more as on web. - React Compiler 1.0: In 2024, the React Compiler team announced a Release Candidate. And 18 months later, we finally have a stable version. The Compiler is already turned on by default for new projects in Expo and is recommended to be on as a Babel plugin together with ESLint plugin, which is now a part of
eslint-plugin-react-hooks
. We highly recommend a talk from Joe Savona exploring the performance of React, including internal projects such as React Forest (signal-like lazy computation graph runtime) and Fir (based on incremental rendering). - Performance panel in React Native DevTools: React Native 0.83 will ship around Christmas and will be a major update to the DevTools, featuring 🎁: a performance panel that integrates with React’s Performance Tracks, Network panel (at last!), and a desktop app so you don’t have to have Chrome installed.
- Hermes V1: the next evolution of our React Native’s JavaScript engine. Hermes V1 shows a 60% average improvement on synthetic benchmarks, 7,5% faster TTI, includes improved modern JS support (most notably classes, block scope), and ships in v0.82 as an experimental feature. If you heard about Static Hermes, this is the same codebase, but without native code generation, without utilizing type information, and without JIT turned on. These features are still experimented and tested in Meta’s codebases.
- Expo CSS: Evan Bacon, while delivering another jaw-dropping demo of developing an Expo app from an Expo app on the phone with an LLM, casually announced that Expo will support CSS modules and Tailwind, with a syntax similar to NativeWind’s, in one of the future SDK versions.
- React Native apps on Meta Quest (with Expo Go): During the React Native keynote, the team presented an insane experience of writing Android React Native code and testing it directly on a Meta Quest device with Expo Go. We heard that the Quest team made a lot of efforts for React Native developers to port their Android apps easily.
We encourage you to binge-watch or relive your favorite moments of React Conf on the Day 1 and Day 2 streams. Dedicated recordings of each talk are coming soon.
Community highlights
- React Native 0.82: New Architecture only (legacy architecture code will be removed in the next version), experimental Hermes V1, React 19.1.1, DOM Node APIs, most of which we’ve already covered in the React Conf highlights. On top of that, the team shared they’ve added Web Performance APIs, and a
debugOptimized
variant for faster Android emulator animations. - VegaOS with React Native built-in: Amazon dropped quite an announcement: for their new set of FireTV devices (and more to come), they’ve built a new linux-based operating system from scratch, where you React Native apps natively. Yes, you read that correctly. VegaOS bundles a few versions of React Native (currently the latest is 0.72) and some more popular community libraries as a part of its core SDK. Think: Android SDK but with React Native instead 🤯 This allows for lightweight apps that launch instantly on very constrained hardware.
- Expo App Awards: The 2025 Expo App Awards celebrate the most innovative and beautiful apps built with Expo, recognizing outstanding developers across five categories. Submissions are open til October 31, 2025, and winners, announced November 13, 2025, will receive global recognition and a custom, hand-crafted Norbauer mechanical keyboard.
- Next 16 Beta: This release is focused on major performance and developer experience upgrades, including Turbopack as the default bundler ****(up to 10x faster refreshes) and stable React Compiler support for automatic memoization. It also introduces enhanced routing, improved caching APIs, and a new Build Adapters API (alpha), alongside early support for React 19.2 features like View Transitions and
<Activity/>
. - Bun 1.3: The fastest JavaScript runtime is getting even faster and more stable. It now supports frontend dev natively: including hot module replacement (with React Fast Refresh support) and a bundler that can compile React, CSS, and HTML. In addition, the build system now offers programmatic APIs (via
Bun.build()
), smarter tree-shaking/minification for JSX, and first-class support for monorepos and isolated installs. - ChatGPT Apps SDK recommends React: The new API from OpenAI lets developers build interactive apps that run directly inside ChatGPT. And it encourages the use of React for the UI layer. You can create components that render within ChatGPT’s interface, respond to user input, and interact with model outputs in real time. Because it’s built on the MCP, your React app can easily exchange data and commands with ChatGPT, making it ideal for extending workflows, visualizing data, or building custom developer tools right in the chat.
Callstack Incubator highlights
React Native AI
You may already know that our @react-native-ai/apple
allows you to access built-in Apple Foundation models with the ease of the AI SDK. But the project also allows you to run any model thanks to the MLC project and the @react-native-ai/mlc
package.
Unfortunately, we lost access to react-native-ai
package after unpublishing it to tidy things up (thank you, Mike, this is fine 🔥). Apparently, after the unpublishing the package name was back on the market and someone else took it; TIL. If you know people in NPM, help us get this package back!
And if you are still wondering what can be built with on-device LLMs with tool call and structured output access, Szymon has a demo just for you. He shows an offline chat app that allows you to access contacts, create and edit calendar events, gather information about the device or even draft and send emails when you’re back online. No data leaves your device, making it 100% private.
Rock
With v0.11, Rock focuses on performance: faster startup for npm create rock
, ~0.5s on average faster fingerprints, and enabling prebuilt React Native for iOS by default.
We’ve also updated our website to enhance the messaging around its core strengths: easy migration for teams outgrowing Community CLI and adding React Native to existing projects. We found that “enterprise” wording was too vague and caused confusion.

After the GOSIM conference in China, we also experimented with HarmonyOS Next support, which has a decent out-of-tree platform fork of React Native 0.77. We haven’t found an easy way to access the HarmonyOS emulator, but we got a device running it natively, and here we are, with the latest version of Rock shipping with run:harmony
and build:harmony
commands.
It’s currently experimental, but if you have access to these devices or emulators, let us know and give it a try. Of course, your favorite local and remote caching is supported.
Liquid Glass component
Oskar ships open-source libraries even when he’s outside the Incubator. This time, it’s about supporting animations when changing glass effects to materialize glass smoothly.
Oskar’s recent favorite jam is to play with us in the “React Native or SwiftUI” game. Can you guess which one is which? Some say they guessed based on the science of human psychology. But on the other hand, they had 50% chances, so I guess it’s only Oskar who knows for real.
Create Lynx app
Have you heard about Lynx? It’s a React Native alternative running React on two threads (main and background), which we covered already in the past. However, it cannot run the same React and CSS code on Android, iOS, web, and HarmonyOS. The library and its ecosystem are still in their infancy, and Szymon contributed an important milestone to make it easy to run new apps. You can now just npm create lynxjs-app
and start playing with it.
You’ll hear more about Lynx in the upcoming months from Łukasz Chludziński, who you may recognize as a host of your favorite React Universe On Air podcast.
Re.Pack / Module Federation
Jakub has been busy with client projects recently, but he still managed to become a part of the Module Federation team in recognition of his contributions to bringing Module Federation to React Native in two bundlers: Rspack (with Re.Pack) and Metro. Congrats, Jakub, we’re proud! 🎉
Rozenite
We’ve shared two things about React Native 0.83 already: it will come as a winter holiday gift, and it will ship with a desktop app. It’s an Electron app. And as it happens, Szymon has been experimenting with using Rozenite to bring Chrome DevTool Extensions to React Native developers, which is possible through Electron. What a happy coincidence!
RFC: ArrayBuffer support in TurboModules
Kamil got back from his vacation and he’s back to shipping. The ArrayBuffer is now in RFC phase, and you’re all welcome to discuss it and influence its direction. Once it’s accepted by the core team, he’ll proceed with a pull request to the react-native repository.
Content
If you prefer to jump straight to the blog post versions of our releases, there you go:
Blog
- Learn Once, Write for VR: A React Native Showcase for Meta's HorizonOS by Jan Jaworski: This article details the successful creation of a React Native app for Meta's HorizonOS. It proves the framework is a viable solution for building performant VR experiences by reusing code and leveraging familiar libraries. The resulting showcase app includes camera integration, audio playback, and smooth navigation.
- Bridging Animated.Value and SharedValue in React Native by Satyajit Sahoo: In React Native, Animated.Value and Reanimated’s SharedValue serve a similar purpose: they hold values that can change outside the render cycle and are typically used to drive animations. The problem is that they come from different libraries and don’t interoperate. If a component expects an Animated.Value, you can’t pass in a SharedValue, and vice versa. While you can wire them together by subscribing on the JavaScript thread, that approach breaks down under load and causes dropped frames. This article shows how to connect these two types of values natively, so updates happen on the UI thread without depending on JavaScript listeners.
- Debugging Android Connectivity Issues with Metro Bundler by Michał Pierzchała: This article walks through how to debug and resolve connectivity problems between the Android emulator and Metro Bundler in React Native. From starting Metro and reversing ports to adjusting network settings and emulator data, it explains the common causes of the “Unable to load script” error and how to fix them.
- How to Use Liquid Glass in React Native by Mike Grabowski and Oskar Kwaśniewski: Liquid Glass is Apple’s next-generation translucent material in iOS 26, designed to highlight content while keeping interfaces clear and dynamic. In this guide, we show how to use it in React Native, from best practices around readability and performance to hands-on examples with single and grouped glass elements. Whether you’re experimenting with Apple’s latest design language or adding polish to production apps, this article walks you through the essentials.
- How to Add Custom JSI Bindings in Your TurboModule (and Why You Might Need Them) by Mike Grabowski: TurboModules provide a type-safe way to write native code in React Native. JSI sits underneath as a lower-level API, enabling direct interaction with the JavaScript runtime. This article explains how to safely inject custom bindings with an ArrayBuffer example.
Podcast, videos, and talks
- React Universe On Air Core Contributor Summit 2025 Highlights: Core contributors from across the React Native ecosystem discuss stability, tooling, and the path to 1.0, from Flow to TypeScript, desktop apps, and how community fills the gaps left by Meta.
- React Universe Conf 2025 Talks: The complete talk recordings from last month’s conference are now available. Watch as industry experts and leading engineers discuss the recent developments and the future of React Native.
- AI for the Other Parts of Your Technical Job by Rafael Mendiola (AI Meetup Wrocław): Stop fitting your workflow into off-the-rack tools. Learn to build your own AI-powered solutions, including a custom slide generator and a collaborative developer notebook.
- React Native AI: Bringing On-Device LLMs With AI SDK by Szymon Rybczak (AI Meetup Wrocław): Need offline AI in your mobile app? This talk recording demonstrates how to use the AI SDK to create a custom provider for on-device LLMs in React Native, ensuring privacy and functionality anywhere.
- AI SDK 5: What’s New and What’s Next by Lars Grammel (AI Meetup Wrocław): Lars Grammel from Vercel introduces AI SDK 5, a major rewrite to build next-gen AI apps. Learn about its new provider architecture, type-safe UI and agentic loops for modern AI development.
- Spec-Driven-Development With Kiro.dev by Eric Fahsl (AI Meetup Wrocław): Adapt React apps for TV with predictable AI. Amazon's Eric Fahsl demos Kiro.dev, a spec-driven assistant that solves complex TV UI challenges like D-pad navigation and focus management.
Webinars and live streams
- Building React Native App for Vega OS recording and summary thread
- Live Dev Session:
<Activity>
, Expo SDK 54, Router v6, Lynx 3.4, TanStack Start recording and summary thread - Live Dev Session: React Universe Conf, RN 1.0, Expo Updates & More recording and summary thread
That’s it for this edition. I’m already missing the busy conference season, but you’ll surely meet our team somewhere out there soon!
Michał
Subscribe to our newsletter to get insights for developers, tech leads, and enthusiasts into what’s happening and what we’re building.
Your next read or watch starts here
Stay up to date with our latest insights on React, React Native, and cross-platform development from the people who build the technology and scale with it daily.