<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sebastien Lorber</title>
    <description>The latest articles on DEV Community by Sebastien Lorber (@sebastienlorber).</description>
    <link>https://dev.to/sebastienlorber</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F200435%2F3a773e8a-0013-4afe-8af4-f619d87a2c0a.jpeg</url>
      <title>DEV Community: Sebastien Lorber</title>
      <link>https://dev.to/sebastienlorber</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sebastienlorber"/>
    <language>en</language>
    <item>
      <title>This Week In React #297 : DevTools, Motion, Apollo | Shopify, Expo 58 beta, ExecuTorch | pnpm, oj, Zod</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Fri, 18 Sep 2026 08:04:01 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-297-devtools-motion-apollo-shopify-expo-58-beta-executorch-pnpm-oj-3deg</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-297-devtools-motion-apollo-shopify-expo-58-beta-executorch-pnpm-oj-3deg</guid>
      <description>&lt;p&gt;Hi everyone, &lt;a href="https://x.com/sebastienlorber" rel="noopener noreferrer"&gt;Seb&lt;/a&gt; and &lt;a href="https://x.com/jaworek3211" rel="noopener noreferrer"&gt;Jan&lt;/a&gt; here 👋!&lt;/p&gt;

&lt;p&gt;Following the React v19.3 release, DevTools v8 is now officially published. Motion shipped a ViewTransition wrapper. React Router optimized re-renders. Apollo Client finally has custom scalars.&lt;/p&gt;

&lt;p&gt;On mobile, we have a lot of releases. RN 0.88 will use React v19.3. Shopify is moving away from React Native!&lt;/p&gt;

&lt;p&gt;Let's dive in!&lt;/p&gt;




&lt;p&gt;💡 Subscribe to the official newsletter to receive an email every week!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" alt="banner" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://sentry.io/resources/agent-tracing-series/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=agenttracing-fy27q3-agenttracingseries&amp;amp;utm_content=newsletter-primary-workshop-series-register" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fn52rsik82978o0zt4p18.jpg" alt="Live Workshop Series: Debugging AI Agents" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://sentry.io/resources/agent-tracing-series/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=agenttracing-fy27q3-agenttracingseries&amp;amp;utm_content=newsletter-primary-workshop-series-register" rel="noopener noreferrer"&gt;Live Workshop Series: Debugging AI Agents&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Your agent returns something odd. Was it the prompt, a tool call that timed out, or output your code could not parse? Without traces, you are guessing.&lt;/p&gt;

&lt;p&gt;On &lt;strong&gt;October 7&lt;/strong&gt;, Serge from Sentry instruments three agents with &lt;a href="https://sentry.io/product/tracing/ai-agent/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=agenttracing-fy27q3-evergreen&amp;amp;utm_content=newsletter-primary-product-learnmore" rel="noopener noreferrer"&gt;Agent Tracing&lt;/a&gt;: a chatbot in an e-commerce store, a custom Slack agent, and a GitHub Action that reviews PRs. You'll see bad tool calls, unexpected output, and token spend per run.&lt;/p&gt;

&lt;p&gt;On &lt;strong&gt;October 14&lt;/strong&gt;, Ryan and Serge show how Sentry engineers debug their own agents and find the failures worth investigating across large volumes of production traces.&lt;/p&gt;

&lt;p&gt;Both sessions are free. &lt;a href="https://sentry.io/resources/agent-tracing-series/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=agenttracing-fy27q3-agenttracingseries&amp;amp;utm_content=newsletter-primary-workshop-series-register" rel="noopener noreferrer"&gt;&lt;strong&gt;Register for the series&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚛️ React
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-sept16" rel="noopener noreferrer"&gt;build mode - 2030-shaped software&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://chromewebstore.google.com/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en" rel="noopener noreferrer"&gt;React DevTools 8.0 on the Chrome Web Store&lt;/a&gt; - If you use Chrome, you probably got the new version automatically. You should now see a new &lt;code&gt;Elements &amp;gt; ⚛️React Element&lt;/code&gt; pane when inspecting elements in Chrome DevTools, and also a new top-level &lt;code&gt;⚛️Suspense&lt;/code&gt; tab.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/facebook/stylex/pull/1865" rel="noopener noreferrer"&gt;StyleX RFC - Add compile-time CSS enums and exhaustive matching&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://ondrejvelisek.github.io/the-cost-of-abstraction-for-humans-and-ai-agents/" rel="noopener noreferrer"&gt;The Cost of Abstraction for Humans and AI Agents&lt;/a&gt; - The author created the same React app with different levels of abstraction, then measured the cost of editing each app with Sonnet 5. He estimates that an over-abstracted codebase costs 30% more in AI agent bill and time. Also includes 6 abstraction patterns often seen in React codebases that you can probably inline.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.nikhilsnayak.dev/blog/react-server-functions" rel="noopener noreferrer"&gt;React Server Functions Are More Than Mutations&lt;/a&gt; - An interactive exploration of using Server Functions for reads via HTTP QUERY, then streaming values, while working on an Effect-based RSC framework.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.brenelz.com/posts/solidjs-its-the-little-things/" rel="noopener noreferrer"&gt;SolidJS, It’s the Little Things&lt;/a&gt; - Walks through 6 small Solid 2.0 DX details, from &lt;code&gt;isPending()&lt;/code&gt; to optimistic stores, each compared side by side with the React equivalent.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://dev.to/subito/from-1256ms-to-96ms-fixing-inp-in-a-massive-react-dropdown-16l7"&gt;Fixing INP in a Massive React Dropdown&lt;/a&gt; - Opening a MultiSelect with ~1,200 options mounted at once blocks the main thread. Since all rows share the same height, a custom 90-line virtualization hook is enough to bring INP from 1,256ms down to 96ms.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tsrx.dev/blog/removing-lazy-destructuring" rel="noopener noreferrer"&gt;TSRX - Removing lazy destructuring&lt;/a&gt; - Preparing for v1.0, TSRX dropped its &lt;code&gt;&amp;amp;{}&lt;/code&gt; destructuring syntax. This reflects its positioning as a JSX extension, rather than a new language that humans and LLMs would have to learn.&lt;/li&gt;
&lt;li&gt;💰 &lt;a href="https://fandf.co/4gEhH4E" rel="noopener noreferrer"&gt;The Amazon Developer Hackathon: Win up to $40k for the Fire TV track! 8 weeks to build and explore new agentic tools. Register now!&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://motion.dev/docs/react-animate-view" rel="noopener noreferrer"&gt;Motion 13.4 - New &lt;code&gt;&amp;lt;AnimateView&amp;gt;&lt;/code&gt; component&lt;/a&gt; - Wraps React's &lt;code&gt;&amp;lt;ViewTransition&amp;gt;&lt;/code&gt;, adding support for spring support, dynamic targets, animation controls, and a simple props API. Interesting to see the lib pushing back on React docs' claims about View Transition performance compared to layout animations.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/shadcn-ui/lint" rel="noopener noreferrer"&gt;shadcn lint - An agent-first linter for Tailwind design systems&lt;/a&gt; - Since &lt;code&gt;className&lt;/code&gt; is just a string, design system rules are hard to enforce with types. This ESLint/Oxlint plugin lets you define per-component rules and emit actionable errors to guide your agents.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/oxc-project/oxc/releases/tag/apps_v1.83.0" rel="noopener noreferrer"&gt;Oxlint 1.83 - Update lint rules for React 19.3&lt;/a&gt; - This fixes false-positive lint errors you may get by adopting React 19.3 features such as Fragment refs or newly supported DOM props.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://reactrouter.com/changelog#v840" rel="noopener noreferrer"&gt;React Router 8.4 - Fewer re-renders, faster route matching (unstable)&lt;/a&gt; - The internal router state has been split into 4 contexts, so hooks like &lt;code&gt;useLocation()&lt;/code&gt; will re-render less.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://www.apollographql.com/blog/whats-new-in-apollo-client-4-3" rel="noopener noreferrer"&gt;Apollo Client 4.3 - Custom scalars, type-safety improvements&lt;/a&gt; - The GraphQL client finally ships built-in custom scalar support, its most requested feature: parse/serialize values like &lt;code&gt;Date&lt;/code&gt; in one place&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://react-hook-form.com/docs/useformstate/errormessage" rel="noopener noreferrer"&gt;React Hook Form 7.88 - Built-in &lt;code&gt;&amp;lt;ErrorMessage&amp;gt;&lt;/code&gt; component&lt;/a&gt; - This lets you render one or many validation error messages for a given field.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://astryx.atmeta.com/blog/astryx-v0-6-0" rel="noopener noreferrer"&gt;Astryx 0.6 - Responsive theme rules, adaptable selection, reworked Neutral palette&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://revopush.org/react-native-ota-payloads-binary-diffs?utm_source=this_week_in_react" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnepb4vict32u6j5g33hc.jpg" alt="Your first React Native OTA can be a diff" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://revopush.org/react-native-ota-payloads-binary-diffs?utm_source=this_week_in_react" rel="noopener noreferrer"&gt;Your first React Native OTA can be a diff&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://revopush.org/" rel="noopener noreferrer"&gt;Revopush OTA&lt;/a&gt; reuses the hermes bundle and assets already in your IPA and APK.&lt;/p&gt;

&lt;p&gt;Even the first OTA after a native release can contain only the changes.&lt;/p&gt;

&lt;p&gt;In one production release, an 18 Mb full package became &lt;strong&gt;100 to 500 Kb&lt;/strong&gt; patches.&lt;/p&gt;

&lt;p&gt;After the switch, the team released more often. Update downloads increased, yet egress fell 💰.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SDK compatible with React Native and Expo&lt;/li&gt;
&lt;li&gt;Binary diff updates from the first OTA release&lt;/li&gt;
&lt;li&gt;Enterprise-grade security, with SOC 2 Type II&lt;/li&gt;
&lt;li&gt;Advanced release analytics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://revopush.org/react-native-ota-payloads-binary-diffs?utm_source=this_week_in_react" rel="noopener noreferrer"&gt;See the production results&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📱 React-Native
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://shopify.engineering/back-to-native" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fydrapesf9rzp973v0z73.jpg" alt="Shopify is moving away from React Native to native" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://shopify.engineering/back-to-native" rel="noopener noreferrer"&gt;Shopify is moving away from React Native to native&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An unexpected announcement from Shopify shook the React Native ecosystem. They’re moving away from React Native to native Swift and Kotlin!&lt;/p&gt;

&lt;p&gt;So what’s their reason? Not because RN failed, but because coding agents changed the economics. Building twice no longer costs twice.&lt;/p&gt;

&lt;p&gt;They &lt;a href="https://shopify.engineering/shop-app-migration" rel="noopener noreferrer"&gt;started with a 12-week case study to migrate their flagship Shop app&lt;/a&gt; to native with 6 engineers, leading to the following improvements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;improve startup time - iOS startup 3200ms → 2466ms (-23%), Android 4433ms → 2233ms (-50%)&lt;/li&gt;
&lt;li&gt;session stability - 99.5% → 99.95% (10x reduction)&lt;/li&gt;
&lt;li&gt;runtime performance on Android - 120 FPS on a Pixel device&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s important to note that the app was 𝕏 &lt;a href="https://x.com/jamonholmgren/status/2098235125419135339" rel="noopener noreferrer"&gt;not using the New Architecture&lt;/a&gt;, which was built to fix those problems.&lt;/p&gt;

&lt;p&gt;Does it mean &lt;a href="https://codewithbeto.dev/blog/is-react-native-dead-shopify-native" rel="noopener noreferrer"&gt;React Native is dead&lt;/a&gt;? Does not seem so. A shared application and UI layer remains useful, and React Native still has major benefits such as Over-The-Air updates and good foundations for server-driven UI, useful for the agentic era.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://crisp.chat/?utm_source=twir&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=crisp_q3_nl&amp;amp;utm_content=16sep26" rel="noopener noreferrer"&gt;Crisp - Customize your in-app support experience with our React Native SDK and flexible integration options&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/react/react-native/releases/tag/v0.88.0-rc.1" rel="noopener noreferrer"&gt;React Native 0.88 RC.1 cherry-picked React 19.3 - Stable ViewTransition, Fragment refs, browser(), Trusted Types&lt;/a&gt; - This upgrade doesn’t look like a major change for RN devs on its own, but ViewTransitions and Fragment refs are React core features and may become supported on the RN side? 🤫&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/build-ios-apps-on-windows-with-cloud-simulators" rel="noopener noreferrer"&gt;You don't need a Mac to develop iOS apps anymore&lt;/a&gt; - EAS runs iOS simulators in the cloud, letting you test and build apps from any OS or browser. Android is also supported.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://shift.infinite.red/legend-state-the-fastest-react-state-library-youre-probably-not-using-e791171a61b7" rel="noopener noreferrer"&gt;Legend State: The Fastest React State Library You’re Probably Not Using&lt;/a&gt; - React's built-in state management can often be a source of performance problems. State managers such as Legend State help reduce re-renders thanks to &lt;code&gt;observables&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://andrei-calazans.com/posts/2026-09-14-how-kmp-with-swiftui-scales-on-ios/" rel="noopener noreferrer"&gt;How Does KMP with SwiftUI Scale on iOS?&lt;/a&gt; - Sharing logic in Kotlin sounds ideal. The problem? iOS consumes one static framework. Does this cause a full rebuild on every change? Fortunately, no, but there's still a cost.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://codewithbeto.dev/blog/is-your-app-ready-for-iphone-duo" rel="noopener noreferrer"&gt;Is Your App Ready for iPhone Duo?&lt;/a&gt; - A new mobile form factor is coming to iOS. Taking care of screen edges, safe areas, and adaptive layout is more important than ever.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://swmansion.com/blog/what-it-actually-takes-to-migrate-discord-to-react-native-s-new-architecture/" rel="noopener noreferrer"&gt;What It Actually Takes to Migrate Discord to React Native's New Architecture&lt;/a&gt; - Migrating a complex app to the New Architecture is not just a flip of a switch. There’s a long tail of issues and assumptions that need to be taken care of.&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://patch.codemagic.io/?utm_source=newsletter&amp;amp;utm_medium=referral&amp;amp;utm_campaign=twir" rel="noopener noreferrer"&gt;Codemagic Patch - The easiest way to run your own OTA update server, complete with dashboard and fingerprinting&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-executorch/releases/tag/v0.10.0" rel="noopener noreferrer"&gt;ExecuTorch 0.10 - Ground-up rewrite, TS pipelines, Core ML/MLX/Vulkan acceleration&lt;/a&gt; - Orchestration moves to inspectable TypeScript with Core API for custom models without C++, worklets support for VisionCamera live streams, on-demand native binaries to trim bundle size, and a legacy entrypoint for gradual migration.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://expo.dev/changelog/sdk-58-beta" rel="noopener noreferrer"&gt;Expo SDK 58 Beta - iOS 27 support, RN 0.88 RC, Expo Modules 2.0 beta, App Intents alpha, agent CLI, Android widgets, stable Expo Router data loaders and native tabs, and more&lt;/a&gt; - Another exciting Expo release that we’ll cover in depth once stable in 3-4 weeks!&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://screenmap.dev/" rel="noopener noreferrer"&gt;Screenmap - Visual navigation maps for Expo / React Native apps&lt;/a&gt; - A promising tool to add to your CI workflows: takes a screenshot of every app screen and posts a map to your mobile PRs, highlighting what has changed.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-screens/releases/tag/4.28.0" rel="noopener noreferrer"&gt;Screens 4.28 - Android Tabs/Stack fixes, tab bar layout, and MenuItem IDs&lt;/a&gt; - Small bugfix release, but here’s a 𝕏 &lt;a href="https://x.com/swmansion/status/2098417302026825814" rel="noopener noreferrer"&gt;sneak peek&lt;/a&gt; of upcoming support for iPhone Duo&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://www.swift.org/blog/swift-6.4-released/" rel="noopener noreferrer"&gt;Swift 6.4&lt;/a&gt; - Swift Build is now the default in SPM. Improved language, Foundation, and standard library. Improved C++ and Java interoperability.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/react/metro/releases/tag/v0.87.1" rel="noopener noreferrer"&gt;Metro 0.87 - Scheme resolvers, babel-runtime resolution, Watcher memory cuts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/margelo/react-native-nitro-zxing" rel="noopener noreferrer"&gt;Nitro ZXing - Barcode scanner for VisionCamera written in C++, up to 10x faster than MLKit, and 2.6x faster for live camera frames&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://lynxjs.org/blog/lynx-4-0" rel="noopener noreferrer"&gt;Lynx 4.0 - AI docs for agents, generative UI using AI2UI renderer and OpenUI skill, dynamic elements, unified debug metadata, media queries&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/wcandillon/react-native-webgpu/releases/tag/v0.10.0" rel="noopener noreferrer"&gt;WebGPU 0.10 - Chrome 154, SPM support, implicit device sync by default&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.3.0" rel="noopener noreferrer"&gt;Gesture Handler 3.3 - Swipeable, Drawer, ScrollView and button press fixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/Shopify/react-native-skia/releases/tag/v2.12.0" rel="noopener noreferrer"&gt;Skia 2.12 - SPM support, handle invalid SVG parse results&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/kuatsu/react-native-boost/releases/tag/v2.0.0" rel="noopener noreferrer"&gt;Boost 2.0 - Metro plugin replaces Babel, Animated/ActivityIndicator/StyleSheet/Platform optimizers, Uniwind support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/DorianMazur/react-native-screen-choreography/releases/tag/v0.5.0" rel="noopener noreferrer"&gt;Screen Choreography 0.5 - defineTransition recipes, native forward preparation, live shared content&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/react-native-harness/releases/tag/v1.5.0" rel="noopener noreferrer"&gt;Harness 1.5 - Windows platform support, &lt;code&gt;harness ci&lt;/code&gt; commands, Metro config enhancer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/voltra/releases/tag/v2.3.0" rel="noopener noreferrer"&gt;Voltra 2.3 - Server-driven Dynamic Widgets, configurable Android widgets, experimental Dynamic Live Activities&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/radon-ide/releases/tag/v1.19.0" rel="noopener noreferrer"&gt;Radon IDE 1.19 - Share booted devices with AI agents via Argent&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/argent/releases/tag/v0.25.0" rel="noopener noreferrer"&gt;Argent 0.25 - WebView DOM in describe on Android, external device providers, script steps in flows&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstack/agent-device/releases/tag/v0.21.2" rel="noopener noreferrer"&gt;Agent Device 0.21 - scroll-until finder, in-place iOS web sign-in, Maestro evalScript, 27–40% faster iOS opens, human takeover of remote sessions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/appandflow/stim/releases" rel="noopener noreferrer"&gt;Stim 1.0 - Run several coding agents in parallel on RN apps, with build optimizations across worktrees&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/FerRiv3ra/react-native-nitro-wakeword" rel="noopener noreferrer"&gt;Nitro Wakeword - On-device wake word detection for React Native, using the openWakeWord pipeline with ONNX Runtime&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/luicfrr/react-native-vision-camera-face-detector/releases/tag/v2.1.0" rel="noopener noreferrer"&gt;Face Detector 2.1 - Auto-mode scaling fix for any frame/screen resolution&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/margelo/react-native-nitro-fetch/releases/tag/v1.7.0" rel="noopener noreferrer"&gt;Nitro Fetch 1.7 - Fix reject aborted requests when native finishes before cancel, multipart encoding, React Query/RTK examples&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=0A4aehDmOXk" rel="noopener noreferrer"&gt;Code with Beto - How Marc Rousavy Turned Open Source Into a €20M+ Agency&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://infinite.red/react-native-radio/rnr-373-real-life-react-native-mark-goldstein" rel="noopener noreferrer"&gt;RNR 373 - Real Life React Native: Chime&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔀 Other
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;📜 &lt;a href="https://nubjs.com/blog/phantom-dependencies-package-extensions" rel="noopener noreferrer"&gt;De-phantoming the npm ecosystem&lt;/a&gt; - Using Nub to find phantom (undeclared) dependencies in the top 10k npm packages.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://blog.master.dev/new-things-you-should-know-about-html-here-in-mid-2026/" rel="noopener noreferrer"&gt;New Things You Should Know About HTML Here in Mid 2026&lt;/a&gt; - Good overview of modern HTML from Chris Coyier.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://pnpm.io/blog/releases/12.4" rel="noopener noreferrer"&gt;pnpm 12.4 - Support for Rust and Python dependencies, new &lt;code&gt;pnpm pipeline&lt;/code&gt; task runner&lt;/a&gt; - Bold move: pnpm expands beyond JS and can now install Cargo crates and PyPI packages alongside npm deps. The ability to run cached task graphs makes it a lightweight Turborepo/Nx alternative.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://developer.apple.com/documentation/safari-release-notes/safari-27-release-notes" rel="noopener noreferrer"&gt;Safari 27 - Fix top-level await, &lt;code&gt;import defer&lt;/code&gt;, customizable &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt;, &lt;code&gt;ariaNotify()&lt;/code&gt;, CSS improvements, &lt;code&gt;ReadableStream&lt;/code&gt; improvements, MCP server, JSPI, and more&lt;/a&gt; - Major release! The ES module loader has been entirely rewritten, &lt;a href="https://webkit.org/blog/18227/fixing-top-level-await-in-safari/" rel="noopener noreferrer"&gt;fixing long-standing top-level await&lt;/a&gt; bugs. JSPI (JavaScript Promise Integration for WebAssembly) is now available in all major browsers: an important primitive letting synchronous code compiled to Wasm (C++, Rust…) call async JS APIs. You can now &lt;a href="https://developer.apple.com/documentation/safari-developer-tools/connecting-an-ai-agent-to-safari" rel="noopener noreferrer"&gt;connect your AI agent to Safari&lt;/a&gt; through the new MCP server.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://philipwalton.com/articles/modern-web-types/" rel="noopener noreferrer"&gt;Modern Web Types&lt;/a&gt; - TIL TypeScript only types DOM APIs shipped in 2+ browser engines. This lib lowers the threshold to 1 engine, letting you use the newest APIs as progressive enhancements without losing type-safety.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://rapha.land/introducing-oj/" rel="noopener noreferrer"&gt;oj - The Vite dev server reimplemented in Rust&lt;/a&gt; - This alternative offers different trade-offs. Will &lt;a href="https://lovable.dev/blog/faster-previews-oj" rel="noopener noreferrer"&gt;soon power the Lovable sandbox previews&lt;/a&gt;, resulting in 4x better memory usage and 2x faster cold starts.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://devfra.me/posts/pluggable-extensible-playful-devtools" rel="noopener noreferrer"&gt;Devframe - Framework for building pluggable, extensible, and playful DevTools&lt;/a&gt; - It powers Vite DevTools and Nuxt DevTools v4, and there’s a Next.js DevTools prototype.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://zod.dev/blog/zod-4-6" rel="noopener noreferrer"&gt;Zod 4.6 - &lt;code&gt;z.validate()&lt;/code&gt;, &lt;code&gt;z.properties()&lt;/code&gt;, &lt;code&gt;z.iban()&lt;/code&gt;, &lt;code&gt;z.fromJSONSchema()&lt;/code&gt; improvements&lt;/a&gt; - The new &lt;code&gt;z.validate()&lt;/code&gt; method fails fast, returns false on error, up to 35x faster than &lt;code&gt;z.safeParse()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://webpack.js.org/blog/2026-09-14-webpack-5-111/" rel="noopener noreferrer"&gt;Webpack 5.111 - Stable ESM output, &lt;code&gt;output.copy&lt;/code&gt; for static files, CSS minimizer improvements&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤭 Fun
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://x.com/sebastienlorber/status/2098329441722065312" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fk7pcyfue87e9bfn4ggz8.jpg" alt="alt" width="800" height="589"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/SimonDepelchin/status/2099494508069019722" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjdnobse3pp95dbudrtti.jpg" alt="alt" width="800" height="791"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See ya! 👋&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>react</category>
    </item>
    <item>
      <title>This Week In React #296: React 19.3, DevTools, Next.js, cn, Maps | 0.88 RC, Expo Modules, Navigation Benchmarks | Rslib, Vitest, gpu-lexer</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Fri, 11 Sep 2026 12:29:09 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-296-react-193-devtools-nextjs-cn-maps-088-rc-expo-modules-36g9</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-296-react-193-devtools-nextjs-cn-maps-088-rc-expo-modules-36g9</guid>
      <description>&lt;p&gt;Hi everyone, &lt;a href="https://x.com/sebastienlorber" rel="noopener noreferrer"&gt;Seb&lt;/a&gt; and &lt;a href="https://x.com/jaworek3211" rel="noopener noreferrer"&gt;Jan&lt;/a&gt; here 👋!&lt;/p&gt;

&lt;p&gt;We could feel it was coming, and here it is, &lt;del&gt;delaying&lt;/del&gt; just in time for the newsletter! 😇&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;React 19.3 is finally out&lt;/strong&gt;, with View Transitions and Fragment Refs stable! And it looks like updated DevTools are also coming soon.&lt;/p&gt;

&lt;p&gt;We also got a sneak peek of React Native 0.88 and Expo Modules 2.0.&lt;/p&gt;

&lt;p&gt;Let's dive in!&lt;/p&gt;




&lt;p&gt;💡 Subscribe to the official newsletter to receive an email every week!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" alt="banner"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://marmelab.com/atomic-crm/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%2Femails%2Fissues%2F296%2Fmarmelab.jpg" alt="Atomic CRM: A CRM You Can Fork Instead of Subscribe To"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://marmelab.com/atomic-crm/" rel="noopener noreferrer"&gt;Atomic CRM: A CRM You Can Fork Instead of Subscribe To&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You need to build a CRM? Get started with &lt;a href="https://marmelab.com/atomic-crm/" rel="noopener noreferrer"&gt;Atomic CRM&lt;/a&gt;, a popular open-source CRM written in React. It’s built with a stack your team already knows: Tailwind CSS, TanStack Query, react-hook-form and Supabase. Simply fork it, customize it to your business, and self-host it on your own infrastructure.&lt;/p&gt;

&lt;p&gt;And when the customizations start piling up, delegate them: Atomic CRM ships with a harness of 7 agentic subagents for automated workflow execution.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/marmelab/atomic-crm" rel="noopener noreferrer"&gt;Fork Atomic CRM now&lt;/a&gt; to keep full control of your data and code.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚛️ React
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://react.dev/blog/2026/09/09/react-19-3" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%2Femails%2Fissues%2F296%2Freact.jpg" alt="React 19.3"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://react.dev/blog/2026/09/09/react-19-3" rel="noopener noreferrer"&gt;React 19.3&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The new minor version of React is finally out, and it’s a great one!&lt;/p&gt;

&lt;p&gt;If you read us regularly, we already disclosed everything 😇, but here’s a reminder of the highlights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;View Transitions&lt;/strong&gt;: now stable! Also including the &lt;code&gt;addTransitionType&lt;/code&gt; API that lets you customize the animation directly from the code triggering it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fragment Refs&lt;/strong&gt;: now stable! This lets you get a ref of a &lt;code&gt;&amp;lt;Fragment&amp;gt;&lt;/code&gt; and manipulate its underlying children DOM nodes. A quite useful feature unlocking new composition patterns that were previously difficult or requiring a wrapper DOM node.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;use(browser())&lt;/code&gt;: a first-class API to opt out a subtree of server-side rendering, replacing patterns based on &lt;code&gt;typeof window&lt;/code&gt; and &lt;code&gt;useEffect&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Trusted Types: security feature to use in conjunction with Content-Security-Policy to prevent XSS attacks.&lt;/li&gt;
&lt;li&gt;RSC can render &lt;code&gt;&amp;lt;Context&amp;gt;&lt;/code&gt;: no need to create a wrapper &lt;code&gt;&amp;lt;ContextProvider&amp;gt;&lt;/code&gt; component anymore.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Make sure to read that blog post because it contains interactive examples worth taking a look at, in particular to understand View Transitions and Fragment Refs.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://sentry.io/cookbook/custom-metrics-dashboard-alerts-nextjs/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=nextjs-fy27q3-cookbook&amp;amp;utm_content=newsletter-react-link-nextjs-metrics-dashboard-trysentry" rel="noopener noreferrer"&gt;Sentry - How to wire a custom metric into a Next.js app, chart it, and alert on it. Learn how. &lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/react/react/blob/main/packages/react-devtools/CHANGELOG.md#800" rel="noopener noreferrer"&gt;React DevTools 8.0 - Suspense Tab enabled, React Element panel, remove Timeline profiler in favor of Performance tracks, display dimmed Activity subtree&lt;/a&gt; - The v8 changelog is already merged and gives a sneak peek. Not published yet on npm or extension stores.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/react/react/tree/main/packages/react-devtools-cdt-mcp" rel="noopener noreferrer"&gt;React DevTools CDT MCP&lt;/a&gt; - Speaking of DevTools, the React team is also experimenting with a new package, recently published to npm. It’s not an MCP server, but lets Chrome DevTools discover/register/expose React tools useful for agents to understand and profile your app at runtime.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/reactjs/react.dev/pull/8632" rel="noopener noreferrer"&gt;React.dev PR - Document missing SSR and hydration options&lt;/a&gt; - Adding the missing API ref documentation for SSR options such as &lt;code&gt;formState&lt;/code&gt;, &lt;code&gt;importMap&lt;/code&gt;, &lt;code&gt;maxHeadersLength&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/vercel/next.js/pull/97232" rel="noopener noreferrer"&gt;Next.js PR - Upgrade web-vitals to v6 and report soft navigations&lt;/a&gt; - &lt;code&gt;useReportWebVitals()&lt;/code&gt; will soon report SPA soft navigations, recently included in Core Web Vitals.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://blog.master.dev/react-now-rusted-all-the-way-out/" rel="noopener noreferrer"&gt;React Now Rusted All The Way Out&lt;/a&gt; - An overview of the React Compiler in Rust landing in Vite, reporting a 17x speedup over the Babel version, and giving an alternative solution for React Router framework mode users.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://maxleiter.com/blog/thank-u-next" rel="noopener noreferrer"&gt;Replacing Next.js with a vibe-coded "framework"&lt;/a&gt; - Replacing Next.js on a personal site with a 5k-line framework Claude architected. Still React/MDX on the server, Preact islands on the client, with 99% less JS shipped. This shows meta-frameworks could eventually die out: their knowledge can be distilled into skills instead, and custom frameworks can be created on demand.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://nextjs.org/blog/turbopack-chunking" rel="noopener noreferrer"&gt;Next.js - How Turbopack chunks your JavaScript&lt;/a&gt; - Explains the trade-offs behind code splitting strategies and the heuristics used to minimize both download size and request count. Next.js 16.3 comes with experimental options to optimize chunking and fine-tune heuristics based on your site access patterns.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://nextjs.org/blog/how-we-closed-1500-github-issues" rel="noopener noreferrer"&gt;Next.js- How we closed 1,500 GitHub issues in one month&lt;/a&gt; - No React lesson here: they built an agent to analyze backlog issues to help maintainers close thousands of issues with confidence.&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://www.cloudways.com/en/prepathon.php?utm_source=weekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=Prepathon&amp;amp;utm_content=Community" rel="noopener noreferrer"&gt;Prepathon by Cloudways - Virtual Event - Sep 22 &amp;amp; 23 - Two days of sessions and hands-on activities on AI-assisted building, modern deployment, and what's actually working for developers shipping fast right now. Free to join from anywhere in the world. Register now to save your spot.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/visgl/react-google-maps/releases/tag/v1.10.0" rel="noopener noreferrer"&gt;React Google Maps 1.10 - New new 3d components&lt;/a&gt; - The library completed its existing Google Maps 3D support with declarative components for GLB models, HTML markers, polylines, polygons, terrain flattening, and circular paths. A demo is worth a thousand words, so check this &lt;a href="https://visgl.github.io/react-google-maps/examples/map-3d-markers" rel="noopener noreferrer"&gt;3D Maps Markers demo&lt;/a&gt; to see fancy 3D markers, including an animated Model3D Balloon.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/shadcn-ui/cn" rel="noopener noreferrer"&gt;cn - A new engine for Tailwind class merging and conflict resolution&lt;/a&gt; - Claims to be 30x faster than tailwind-merge + clsx with the same APIs. Already integrated in &lt;a href="https://github.com/shadcn-ui/ui/releases/tag/shadcn%404.21.0" rel="noopener noreferrer"&gt;shadcn 4.21&lt;/a&gt;. Use &lt;code&gt;npx shadcn migrate cn&lt;/code&gt; to migrate. Faster, but 26 KB minified; can be reduced with &lt;code&gt;cn build&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://www.nikhilsnayak.dev/blog/introducing-effective-rsc" rel="noopener noreferrer"&gt;Effective RSC - An experimental, Effect-native React Server Components framework for Bun&lt;/a&gt; - Ideas are worth taking a look at. RSC pages are &lt;code&gt;Effect.fn()&lt;/code&gt; functions with Schema-decoded route params. Effect unlocks various benefits for RSCs, such as type-safe dependency injection and error handling, or request abortion propagation.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://www.vidact.dev/" rel="noopener noreferrer"&gt;Vidact - Compiles React code to direct DOM operations&lt;/a&gt; - In beta, supporting a growing subset of React 19. Components run only once when they mount.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://docs.uniflowed.dev/" rel="noopener noreferrer"&gt;uf - Unified Toolchain for Flow and React&lt;/a&gt; - A Rust-based toolchain comparable to Vite+, improving DX for React and Flow. The author’s arguments are worth reading: Flow is a more precise type system than TypeScript for describing React code.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/huozhi/devjar" rel="noopener noreferrer"&gt;DevJar 1.0 - React live code playgrounds&lt;/a&gt; - An interesting alternative to CodeSandbox to embed interactive React-based experiences on your site.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://bamboocss.com/docs/overview/getting-started" rel="noopener noreferrer"&gt;Bamboo CSS - Zero-runtime CSS-in-JS&lt;/a&gt; - A Vite compiler erases the runtime, prunes unused tokens, and fails the build on invalid tokens.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://base-ui.com/react/overview/releases/v1-8-0" rel="noopener noreferrer"&gt;Base UI 1.8 - Improves mount perf for Menu/Popover, &lt;code&gt;Combobox.createItems()&lt;/code&gt; API, Avatar lazy-loading&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/rstackjs/rsbuild-plugin-react-router/releases/tag/rsbuild-plugin-react-router%400.6.0" rel="noopener noreferrer"&gt;Rsbuild Plugin React Router 0.6 - Support React Router 8 and its RSC mode&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/storybookjs/storybook/releases/tag/v10.6.0" rel="noopener noreferrer"&gt;Storybook 10.6 - TanStack / NextJS-Vite framework fixes, CLI bindings for agent tools/skills, performance improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/bvaughn/react-window/releases/tag/2.3.0" rel="noopener noreferrer"&gt;React Window 2.3 - New optional &lt;code&gt;rowKey/columnKey&lt;/code&gt; props&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/pmndrs/jotai/releases/tag/v3.0.0" rel="noopener noreferrer"&gt;Jotai 3.0 - Modernized ESM-only package, removing deprecated APIs&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://surveyjs.io/?utm_source=this-week-in-react&amp;amp;utm_medium=email" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%2Femails%2Fissues%2F293%2Fsurvey.jpg" alt="Build Custom Forms and Surveys in React"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://surveyjs.io/?utm_source=this-week-in-react&amp;amp;utm_medium=email" rel="noopener noreferrer"&gt;Build Custom Forms and Surveys in React&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://surveyjs.io/?utm_source=this-week-in-react&amp;amp;utm_medium=email" rel="noopener noreferrer"&gt;SurveyJS&lt;/a&gt; is a set of UI libraries for building, rendering, and analyzing forms and surveys directly inside your React application. Create everything from simple registration forms to complex surveys and multi-step wizards, connect your forms to any backend, and match them to your existing design system with custom themes or &lt;em&gt;style adapters for Bootstrap, shadcn/ui, and Material UI&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;• Embed a drag-and-drop form builder for business users&lt;br&gt;&lt;br&gt;
• Update forms without shipping a new release&lt;br&gt;&lt;br&gt;
• Reuse one JSON schema across the builder, renderer, PDF exports, and analytics&lt;/p&gt;

&lt;p&gt;Developers control the architecture. Business teams manage forms. Your company retains full control over the UI and user data. 🚀&lt;/p&gt;




&lt;h2&gt;
  
  
  📱 React-Native
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-sept9" rel="noopener noreferrer"&gt;build mode - Stop being the code review bottleneck&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/react/react-native/releases/tag/v0.88.0-rc.0" rel="noopener noreferrer"&gt;RN 0.88 RC - SwiftPM tooling, DevTools screenshots, ArrayBuffer in TurboModules, Babel Platform inlining improvement, iOS SceneDelegate lifecycle&lt;/a&gt; - A sneak peek of the upcoming version from its changelog. Set up SwiftPM via &lt;code&gt;npx react-native spm&lt;/code&gt;. Opt-in flags to drop legacy module/component interop will become the default later. Improved &lt;code&gt;Platform.OS/select()&lt;/code&gt; inlining unlocks more platform-specific dead code elimination, around 𝕏 &lt;a href="https://x.com/tell_me_mur/status/2097352229833379960" rel="noopener noreferrer"&gt;17.7KB on iOS and 19.6KB on Android&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;📣 &lt;a href="https://expo.dev/changelog/expo-go-57-login" rel="noopener noreferrer"&gt;Expo Go - Login is now required to run projects&lt;/a&gt; - iOS-only for now. Will also be applied to Android later.&lt;/li&gt;
&lt;li&gt;📊 &lt;a href="https://andrei-calazans.com/posts/2026-06-05-state-of-rn-navigation/" rel="noopener noreferrer"&gt;React Native Navigation Benchmarks&lt;/a&gt; - Benchmarks the same app rebuilt 4x with different routers, covering cold start, RAM, FPS, and JS measurements. Android tests highlight the most common RN bottleneck.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/an-early-look-at-expo-modules-2-0" rel="noopener noreferrer"&gt;An early look at Expo Modules 2.0&lt;/a&gt; - Modules become plain annotated Swift/Kotlin with no &lt;code&gt;definition()&lt;/code&gt; DSL to learn. Sync calls run 2.5-5.6x faster than 1.0 on the same SDK and beat TurboModules in the Expo chart. Experimental, iOS-only. Android in progress.&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://patch.codemagic.io/?utm_source=newsletter&amp;amp;utm_medium=referral&amp;amp;utm_campaign=twir" rel="noopener noreferrer"&gt;Codemagic Patch - The easiest way to run your own OTA update server, including dashboard and fingerprinting&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/react-native-quickjs/quickjs" rel="noopener noreferrer"&gt;RN QuickJS alpha - Hermes-compatible JSI runtime&lt;/a&gt; - An alternative to Hermes. A tiny (~1.5MB) JavaScript engine that compiles to small bytecode bundles for faster startup, with a compatibility layer so most Hermes-dependent libs like Reanimated keep working without changes.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/kacperkapusciak/goldie" rel="noopener noreferrer"&gt;Goldie - App Store screenshot generator for coding agents and humans&lt;/a&gt; - Useful framework-agnostic mobile tool. Argent replays flows; Goldie prepares store-compliant screenshots and preview videos.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/mahdidavoodi7/react-native-continued-task" rel="noopener noreferrer"&gt;RN Continued Task - Background tasks that keep running after your app is backgrounded&lt;/a&gt; - One typed API over iOS 26 &lt;code&gt;BGContinuedProcessingTask&lt;/code&gt; (Live Activity) + Android &lt;code&gt;WorkManager&lt;/code&gt; foreground service, via Nitro. Useful for long-running user-initiated tasks like large exports, uploads, or encoding.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/kuatsu/react-native-boost/releases/tag/v1.7.0" rel="noopener noreferrer"&gt;Boost 1.7 - Image optimizer now default, RN 0.86 support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/rozenite/releases/tag/v2.4.0" rel="noopener noreferrer"&gt;Rozenite 2.4 - Auto-inject Lynx runtime, one endpoint for debug targets&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/getsentry/sentry-react-native/releases/tag/8.25.0" rel="noopener noreferrer"&gt;Sentry 8.25 - Feature flag info on native crashes, app.start vitals propagation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/argent/releases/tag/v0.24.0" rel="noopener noreferrer"&gt;Argent 0.24 - Physical iOS device support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/uni-stack/uniwind/releases/tag/v1.12.0" rel="noopener noreferrer"&gt;Uniwind 1.12 - Drop-shadow filter&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion-labs/react-native-streamdown/releases/tag/0.3.0" rel="noopener noreferrer"&gt;Streamdown 0.3 - Worklets 0.10 support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/steve228uk/metro-mcp/releases/tag/v0.15.0" rel="noopener noreferrer"&gt;Metro MCP 0.15 - MCP SDK v2, safer CDP reconnects pinned to same app, Hermes eval, Appium test gen&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstack/agent-device/releases/tag/v0.21.0" rel="noopener noreferrer"&gt;Agent-Device 0.21 - Human takeovers in remote sessions, faster iOS Simulator opens, install size halved&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/lynx-family/lynx-stack/releases/tag/@lynx-js/react@0.126.0" rel="noopener noreferrer"&gt;ReactLynx 0.126 - Now on Preact 11, 14% faster background renders, use() support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/DorianMazur/react-native-screen-choreography" rel="noopener noreferrer"&gt;Screen Choreography 0.4 - Shared-element transitions for Expo Router&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://www.callstack.com/podcasts/running-ai-in-the-browser-with-transformers-js" rel="noopener noreferrer"&gt;React Universe on Air - Running AI in the Browser With Transformers.js&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔀 Other
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🗳️ &lt;a href="https://web.dev/blog/interop-2027-proposals" rel="noopener noreferrer"&gt;Interop 2027 - Submit and vote for your favorite proposals&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://altinmert.co/blog/running-zod-schemas-on-simdjson/" rel="noopener noreferrer"&gt;Running zod Schemas on simdjson&lt;/a&gt; - Combining zod with ata, a JSON Schema engine using simdjson native core, and the benefits this brings.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://blog.gaborkoos.com/posts/2026-09-08-Half-Past-Fetch/" rel="noopener noreferrer"&gt;Half Past Fetch&lt;/a&gt; - &lt;code&gt;await fetch()&lt;/code&gt; only waits for the headers, not the actual body, and other interesting details.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.solidjs.com/blog/async-solid-one-graph-two-machines" rel="noopener noreferrer"&gt;Async Solid - 3-part series: reads, writes, and network&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://gpu-lexer.vercel.app/" rel="noopener noreferrer"&gt;gpu-lexer - Language-agnostic WebGPU syntax highlighter&lt;/a&gt; - Crazy idea! Highlighting is not based on language grammars but on a small AI model trained for this purpose.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://rslib.rs/blog/v1-0" rel="noopener noreferrer"&gt;Rslib 1.0 - Multiple output formats, multi-framework support, bundled or bundleless, style/asset support, and more&lt;/a&gt; - Looks like an interesting tool, in particular for publishing a component library across many frameworks.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://vitest.dev/blog/vitest-5" rel="noopener noreferrer"&gt;Vitest 5.0 - Perf improvements, &lt;code&gt;vi.when&lt;/code&gt;, Trace View in Browser Mode, benchmarking API, better defaults, and more&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://four.htmx.org/docs/whats-new-in-htmx-4" rel="noopener noreferrer"&gt;htmx 4.0 - fetch() replaces XHR, explicit inheritance, swaps all HTTP responses, and other breaking changes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://trilon.io/blog/nestjs-12-is-now-available" rel="noopener noreferrer"&gt;NestJS 12.0 - ESM-first, Rspack replacing webpack, Standard Schema validation, observability SDK&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/microsoft/playwright/releases/tag/v1.63.0" rel="noopener noreferrer"&gt;Playwright 1.63 - Test locks, Locator improvements, aria/screen snapshots in traces, and more&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤭 Fun
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://x.com/saltyAom/status/2095186260998648182" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%2Femails%2Fissues%2F296%2Fmeme.jpg" alt="alt"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See ya! 👋&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactnative</category>
    </item>
    <item>
      <title>This Week In React #295 : StyleX, browser(), Next.js, React Compiler | C++ API, Margelo, | Zod, pnpm, vgpu, Remix</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Sun, 06 Sep 2026 17:25:50 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-295-stylex-browser-nextjs-react-compiler-c-api-margelo-zod-5ggk</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-295-stylex-browser-nextjs-react-compiler-c-api-margelo-zod-5ggk</guid>
      <description>&lt;p&gt;Hi everyone, &lt;a href="https://x.com/sebastienlorber" rel="noopener noreferrer"&gt;Seb&lt;/a&gt; and &lt;a href="https://x.com/jaworek3211" rel="noopener noreferrer"&gt;Jan&lt;/a&gt; here 👋!&lt;/p&gt;

&lt;p&gt;Back from our summer break, we’ll cover news from the last two weeks.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;On the mobile side, React Native keeps refining its public API surface, an important step toward v1.0. Callstack acquired Margelo.&lt;/p&gt;

&lt;p&gt;Let's dive in!&lt;/p&gt;




&lt;p&gt;💡 Subscribe to the official newsletter to receive an email every week!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" alt="banner" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://planetscale.com?utm_source=this_week_in_react&amp;amp;utm_medium=email&amp;amp;utm_campaign=2026_q3_this_week_in_react&amp;amp;utm_content=slot_1" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqs4xmp50p8gp5zjofrji.jpg" alt="PlanetScale: The database that gets faster as you sleep" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://planetscale.com?utm_source=this_week_in_react&amp;amp;utm_medium=email&amp;amp;utm_campaign=2026_q3_this_week_in_react&amp;amp;utm_content=slot_1" rel="noopener noreferrer"&gt;PlanetScale: The database that gets faster as you sleep&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Agents ship React features faster than ever. They also ship unindexed queries, N+1s, and schema decisions made at 2am by a model that will never get paged.&lt;/p&gt;

&lt;p&gt;Fortunately, agents can &lt;em&gt;fix&lt;/em&gt; database problems too. They just need production data, and that's what the PlanetScale MCP server gives them. Hook up an agent, and the loop looks like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PlanetScale flags a slow query&lt;/li&gt;
&lt;li&gt;The agent traces it back to the code in your repo&lt;/li&gt;
&lt;li&gt;The agent opens a PR with the fix&lt;/li&gt;
&lt;li&gt;You review and merge&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Run it once, or put it on a schedule.&lt;/p&gt;

&lt;p&gt;Underneath it all: the fastest, most scalable cloud Postgres and MySQL, with options like PlanetScale Metal when you need peak performance. Fast databases, fast React apps.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://planetscale.com/docs/connect/self-improving-database/?utm_source=this_week_in_react&amp;amp;utm_medium=email&amp;amp;utm_campaign=2026_q3_this_week_in_react&amp;amp;utm_content=slot_1" rel="noopener noreferrer"&gt;&lt;strong&gt;Try the self-improving database&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚛️ React
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3sc2hf4twksu8iwbect0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3sc2hf4twksu8iwbect0.png" alt="stylex social card" width="800" height="424"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://stylexjs.com/" rel="noopener noreferrer"&gt;StyleX&lt;/a&gt;, the atomic CSS-in-JS library from Meta, has been all the rage on X recently. This probably follows the 𝕏 &lt;a href="https://x.com/poteto/status/2089227731305464150" rel="noopener noreferrer"&gt;Cursor migration from Tailwind to StyleX&lt;/a&gt;. Or maybe it’s related to Meta open-sourcing &lt;a href="https://astryx.atmeta.com/" rel="noopener noreferrer"&gt;Astryx&lt;/a&gt;, the extensible, agent-friendly design system built on top and powering thousands of their apps for years.&lt;/p&gt;

&lt;p&gt;Anyway, we already covered all that, so here are the recent resources to check out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📜 &lt;a href="https://linear.app/now/styling-linear-for-the-future-stylex" rel="noopener noreferrer"&gt;Styling Linear for the future with StyleX&lt;/a&gt; - Linear completed its styled-components to StyleX migration. They don’t explicitly mention Tailwind but still highlight where StyleX does better: strong type-safe constraints, deterministic and performant merging of styles, styling-at-a-distance deliberately hard.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://flaviocopes.com/stylex/" rel="noopener noreferrer"&gt;A deep dive into StyleX&lt;/a&gt; - Hands-on introduction and opinionated conclusion: Tailwind’s terse syntax is better for humans, while StyleX's stronger constraints are better for agents.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/aidenybai/tailwind-stylex" rel="noopener noreferrer"&gt;Tailwind-StyleX - Use Tailwind’s default design tokens directly in StyleX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://syntax.fm/show/1035/why-everyone-is-moving-to-stylex" rel="noopener noreferrer"&gt;Syntax.fm - Why everyone is moving to Stylex?&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://dub.sh/dyFMVkR" rel="noopener noreferrer"&gt;Lingui - New agent skills teach your AI agent to ship production-ready React i18n in one prompt&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/DefinitelyTyped/DefinitelyTyped/pull/75429" rel="noopener noreferrer"&gt;React Types PR - Types for React 19.3&lt;/a&gt; - We already had a hint of what’s coming in the last issue. This DefinitelyTyped PR is still a draft but cautiously confirms the upcoming highlights. A new React DOM &lt;code&gt;browser()&lt;/code&gt; API is coming. &lt;code&gt;&amp;lt;ViewTransition&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;Fragment ref&amp;gt;&lt;/code&gt; will be stable for React DOM usage, designed to be extended by other platform/renderers, with React Native support likely coming later.&lt;/li&gt;
&lt;li&gt;📖 &lt;a href="https://react.dev/reference/react-dom/browser" rel="noopener noreferrer"&gt;React DOM Docs - New &lt;code&gt;use(browser(reason))&lt;/code&gt; API&lt;/a&gt; - This new API coming in v19.3 lets you mark a component as browser-only during server rendering. Must be called from a Client Component, within a Suspense boundary. There’s also a new &lt;code&gt;onBrowserBailout()&lt;/code&gt; server API introduced for reporting.&lt;/li&gt;
&lt;li&gt;📖 &lt;a href="https://vercel.com/kb/guide/deploy-a-tanstack-start-app-to-vercel" rel="noopener noreferrer"&gt;How to Deploy a TanStack Start app to Vercel&lt;/a&gt; - TanStack and Vercel are teaming up to make Vercel a first-class home for TanStack Start, leveraging the Nitro Vite plugin.&lt;/li&gt;
&lt;li&gt;🔐 &lt;a href="https://nextjs.org/blog/august-2026-security-release" rel="noopener noreferrer"&gt;Next.js August 2026 Security Release&lt;/a&gt; - v16.3.3 and v15.5.24 now available, fixing critical severity vulnerabilities.&lt;/li&gt;
&lt;li&gt;🗓️&amp;nbsp;&lt;a href="https://reactadvanced.com/?utm_source=thisweekinreact" rel="noopener noreferrer"&gt;React Advanced London&lt;/a&gt;&amp;nbsp;-&amp;nbsp;🇬🇧 London - 23 &amp;amp; 26 Oct. 40+ talks and 5+ hands-on workshops on modern React &amp;amp; AI tooling for React devs. A great place to catch up with the community - all inside London's historic ex-brewery. Save 10% on your ticket with code "TWIR".&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://sigh.dev/posts/making-react-testing-library-faster/" rel="noopener noreferrer"&gt;Making React Testing Library Tests 43% Faster&lt;/a&gt; - The story of using Codex to find performance gains in RTL &lt;code&gt;getByRole()&lt;/code&gt; and landing fixes upstream in jsdom.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tendto.github.io/en/posts/ssg-for-react-with-vite/" rel="noopener noreferrer"&gt;SSG for React with Vite&lt;/a&gt; - Argues SSG should be the default over CSR and shows how to implement that with a tiny Vite plugin.&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-sept2" rel="noopener noreferrer"&gt;build mode - We used context engineering to 5x conversion and 2x activation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/vitejs/vite-plugin-react/releases/tag/plugin-react%406.1.0" rel="noopener noreferrer"&gt;Vite Plugin React 6.1 - New &lt;code&gt;{compiler: true}&lt;/code&gt; option to use the Oxc React Compiler&lt;/a&gt; - After landing in Oxlint, the faster Oxc Rust-based React Compiler comes to Vite through a new optional &lt;code&gt;oxc-transform-react&lt;/code&gt; package. More than 10x faster than the Babel plugin!&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://bun.com/blog/bun-v1.4" rel="noopener noreferrer"&gt;Bun 1.4&lt;/a&gt; - The Rust rewrite is ready, alongside so many other things that the blog post probably takes hours to read, so we’ll focus on the React-related updates only. Built-in support for the React Compiler in Rust. A new &lt;code&gt;Bun.markdown.react()&lt;/code&gt; turns Markdown into a React Element, supporting component substitution. Node.js compatibility improvements, Next.js 16 compatibility, reduced memory usage.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://formisch.dev/blog/formisch-v1/" rel="noopener noreferrer"&gt;Formisch 1.0 - Schema-first, framework-agnostic form library&lt;/a&gt; - The form library coming from the Valibot ecosystem supports React and React Native. Includes migration guides from React Hook Form, Formik, and TanStack Form.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/TanStack/query/releases/tag/release-2026-08-22-1856" rel="noopener noreferrer"&gt;TanStack Query 5.102 - Simplify Query Methods&lt;/a&gt; - An important release for TanStack Query that finally implemented its RFC to merge 6 former imperative query methods under only 2 unified APIs: &lt;code&gt;query()&lt;/code&gt; and &lt;code&gt;infiniteQuery()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/remorses/gpuix" rel="noopener noreferrer"&gt;GPUIX - React renderer for Zed’s GPUI&lt;/a&gt; - A new performant alternative to Electron with no WebView to build GPU-accelerated desktop apps.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/vercel/satori/releases" rel="noopener noreferrer"&gt;Satori 0.29+ - &lt;code&gt;corner-shape&lt;/code&gt;, &lt;code&gt;backdrop-filter&lt;/code&gt;, HarfBuzz text shaping, and more&lt;/a&gt; - This popular tool widely used to generate OpenGraph images received many interesting updates lately, soon available in Next.js &lt;code&gt;ImageResponse&lt;/code&gt; API.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://react-aria.adobe.com/releases/v1-21-0" rel="noopener noreferrer"&gt;React Aria 1.21 - NavigationTree component, Menu async loading&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://astryx.atmeta.com/blog/astryx-v0-5-0" rel="noopener noreferrer"&gt;Astryx 0.5 - 30 locales, one Escape key, and bottom sheets in core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://waku.gg/blog/waku-v1-rc" rel="noopener noreferrer"&gt;Waku 1.0 RC - Public API fixed, type-safe and instant navigation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/TanStack/charts/releases/tag/v0.16.0" rel="noopener noreferrer"&gt;TanStack Charts 0.16 - Officially in alpha, ready to be field-tested&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://nuqs.dev/docs/changelog#v2.10.0" rel="noopener noreferrer"&gt;Nuqs 2.10 - The React SPA adapter is now SSR-compatible for Astro, Inertia, Fastify&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/fuma-nama/fumapress/releases/tag/fumapress%401.0.0" rel="noopener noreferrer"&gt;Fumapress 1.0 - Waku-based content site generator&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/TrySound/rifm/releases/tag/v1.0.0" rel="noopener noreferrer"&gt;React Input Format &amp;amp; Mask 1.0 - Hook/component for building formatted/masked inputs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/react-hook-form/react-hook-form/releases#release-v7.86.0" rel="noopener noreferrer"&gt;React Hook Form 7.86 &amp;amp; 7.87 - Typesafe &lt;code&gt;getErrors()&lt;/code&gt;, trigger &lt;code&gt;shouldTouch&lt;/code&gt;, opaque type registry&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://share.transistor.fm/s/f48613c6" rel="noopener noreferrer"&gt;This Month in React - Release candidate season; is that an asteroid hitting web educators?&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://wallabyjs.com/?referrer=ThisWeekInReactSep26" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fma2fgh0zj15251zenvrf.jpg" alt="Where test runners stop, Wallaby starts" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://wallabyjs.com/?referrer=ThisWeekInReactSep26" rel="noopener noreferrer"&gt;Where test runners stop, Wallaby starts&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A passing test tells an agent how the run ended, not whether the code behaved as intended. Wallaby turns your JavaScript, TypeScript, and Python tests into a live runtime model the agent can inspect throughout the task.&lt;/p&gt;

&lt;p&gt;Wallaby keeps results and coverage current as files change. With the &lt;a href="https://wallabyjs.com/whatsnew/cli.html?referrer=ThisWeekInReactSep26" rel="noopener noreferrer"&gt;Wallaby CLI for coding agents&lt;/a&gt; 🤖, agents can find tests covering a line, inspect branch coverage, follow one test’s execution path, and query runtime values in its exact context, without temporary logs or digging through terminal output.&lt;/p&gt;

&lt;p&gt;Use Wallaby with Codex, Claude Code, GitHub Copilot, Cursor, Windsurf, and other agents locally, in containers, or in the cloud. &lt;strong&gt;Wallaby for coding agents is free for everyone during the beta.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://wallabyjs.com/?referrer=ThisWeekInReactSep26" rel="noopener noreferrer"&gt;➡️ Upgrade your testing workflow&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📱 React-Native
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/react-native-community/discussions-and-proposals/pull/1018" rel="noopener noreferrer"&gt;&lt;strong&gt;React Native RFC - Reducing the C/C++ public API&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;This RFC introduces a new three-tier visibility model for C++ APIs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Public:&lt;/strong&gt; Stable within major versions, safe for libraries to depend on, and exposed through a single umbrella header.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Framework:&lt;/strong&gt; Stable within minor versions. Regular usage emits a suppressible warning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Private:&lt;/strong&gt; No stability guarantees. Regular usage emits a suppressible error.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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 &lt;code&gt;RN_STRICT_API&lt;/code&gt; 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.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://crisp.chat/?utm_source=twir&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=crisp_q3_nl&amp;amp;utm_content=2sep26" rel="noopener noreferrer"&gt;Crisp - React Native chat SDK with TypeScript, push notifications, event listeners and Helpdesk integration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📣 &lt;a href="https://margelo.com/blog/margelo-joins-callstack" rel="noopener noreferrer"&gt;Margelo Joins Callstack to Advance High-Performance React Native Engineering&lt;/a&gt; - 2 major and complementary React Native consulting companies joining forces. Congrats to Mike, Marc, and all others.&lt;/li&gt;
&lt;li&gt;📣 &lt;a href="https://expo.dev/blog/introducing-observe" rel="noopener noreferrer"&gt;EAS Observe - Performance monitoring for Expo apps, now generally available&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📣 &lt;a href="https://www.openiap.dev/docs/updates/announcements#2026-08-19-amazon-fireos-vega" rel="noopener noreferrer"&gt;OpenIAP - Now backed by Amazon Developer, bringing IAP to Fire OS and Vega OS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/react/react-native/pull/57723" rel="noopener noreferrer"&gt;React Native PR - ResizeObserver&lt;/a&gt; - A Web API spec-compliant implementation has been recently merged, but still behind a flag. More capable than &lt;code&gt;onLayout&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;📖 &lt;a href="https://github.com/stephanww/rn-dev-security-guide" rel="noopener noreferrer"&gt;The React Native Developer's Security Guide&lt;/a&gt; - How to secure the developer's workstation, toolchain, repository, and CI.&lt;/li&gt;
&lt;li&gt;🗓️ &lt;a href="https://reactnativeconnection.io/?utm_source=thisweekinreact.com" rel="noopener noreferrer"&gt;React Native Connection&lt;/a&gt;&amp;nbsp;-&amp;nbsp;🇫🇷&amp;nbsp;Paris - 24 Sept. Last call to grab your ticket and join the React Native community in Paris! Get a 15% discount with code "TWIR".&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://margelo.com/blog/speeding-up-expensifys-networking-with-nitro-fetch" rel="noopener noreferrer"&gt;Speeding up Expensify's networking with NitroFetch&lt;/a&gt; - Prefetching on the native side, before the JS bundle is even loaded, reduced startup time by at least 15%.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://margelo.com/blog/building-a-3d-ai-avatar-in-react-native" rel="noopener noreferrer"&gt;Building a 3D AI assistant using React Native and GPT-Realtime&lt;/a&gt; - How to use &lt;code&gt;react-native-filament&lt;/code&gt; to render 3D characters and sync its animations with AI responses.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/pasting-images-into-textinput-should-not-be-this-hard" rel="noopener noreferrer"&gt;Pasting images into TextInput should not be this hard&lt;/a&gt; - Pasting an image into a chat input is surprisingly hard. Wrapping &lt;code&gt;TextInput&lt;/code&gt; turned out to be the best decision to avoid reimplementing well-known behaviors and APIs.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://swmansion.com/blog/react-native-gesture-handler-s-touchable-the-button-we-wish-we-had-sooner/" rel="noopener noreferrer"&gt;Gesture Handler's Touchable: The Button We Wish We Had Sooner&lt;/a&gt; - The old nice button components are deprecated and replaced with the new Touchable component. Per-state scale, opacity, and underlay with custom transition times. Hover support on mobile via mouse and pencil, all without writing a single animation.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.callstack.com/blog/working-with-the-react-native-super-app-showcase-repository" rel="noopener noreferrer"&gt;Working With the React Native Super App Showcase Repository&lt;/a&gt; - How to work with super apps with non-trivial examples. App lifecycle, federation setup, monorepo management.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://ospfranco.com/concurrent-engines-crash/" rel="noopener noreferrer"&gt;React Native Bridgeless, race conditions with concurrent JS runtimes&lt;/a&gt; - New Architecture changes how a reload instantiates a new runtime when doing an OTA update. This caused the query to run on the wrong thread, resulting in a crash.&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://configcat.com/blog/ab-testing-react-native-apps-with-feature-flags/?utm_source=thisweekinreact_newsletter&amp;amp;utm_medium=sponsor&amp;amp;utm_campaign=reactnative_202609" rel="noopener noreferrer"&gt;ConfigCat - Run A/B Tests in React Native Apps with Feature Flags and Amplitude&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://gtkx.dev/blog/gtkx-1-4" rel="noopener noreferrer"&gt;GTKX - React Navigation on Linux rendered by native libadwaita widgets&lt;/a&gt; - The platform-agnostic core of React Navigation now renders to GNOME. Interesting signal for where navigation abstractions can go.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-reanimated/releases/tag/4.6.0" rel="noopener noreferrer"&gt;Reanimated 4.6 - CSS lifecycle callbacks on native, contrastColor, RN 0.87 support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://kirillzyusko.github.io/react-native-teleport/blog/1-2-0-android-fast-reparenting" rel="noopener noreferrer"&gt;Teleport 1.2 - Fast reparenting on Android, no more empty frames&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/margelo/nitro/releases/tag/v0.37.0" rel="noopener noreferrer"&gt;Nitro 0.37 - Props move into core via C++ templates, immutable View prop snapshots&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://screen-transitions.esjr.org/migrating-from-v3" rel="noopener noreferrer"&gt;Screen Transitions 4.0 - React 19.2 Activity, Reanimated 4, and a v3 migration guide&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://maestro.dev/blog/maestro-cli-2-9-0" rel="noopener noreferrer"&gt;Maestro CLI 2.9 - Test light and dark mode in one flow, Android WebView inspection&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/uni-stack/uniwind/releases/tag/v1.11.0" rel="noopener noreferrer"&gt;Uniwind 1.11 - Filter support on iOS and RN 0.87, scoped variables&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/argent/releases/tag/v0.21.0" rel="noopener noreferrer"&gt;Argent 0.21 - Shake tool for simulators and emulators, profiler fixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/rozenite/releases/tag/v2.3.0" rel="noopener noreferrer"&gt;Rozenite 2.3 - Lynx support, agent tooling, and plugin testing utilities&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstack/agent-device/releases/tag/v0.20.10" rel="noopener noreferrer"&gt;Agent Device 0.20.10 - AI SDK and MCP integrations, improved iOS snapshots, better Android visibility and gestures, Web hover automation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/henrypldev/react-native-nitro-mlx/releases/tag/v0.6.0" rel="noopener noreferrer"&gt;Nitro MLX 0.6 - Turn-scoped inference on iOS, simplify agent chat experience, normalize LLM generation outcomes, configurable TTS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🤖 &lt;a href="https://expo.dev/services/simulators" rel="noopener noreferrer"&gt;Expo Cloud Simulators - Agents that reproduce TestFlight feedback, fix bugs, and open PRs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🤖 &lt;a href="https://x.com/rough__sea/status/2091755677974983025" rel="noopener noreferrer"&gt;Dactyl - Vibe coding platform for native apps that simulates SwiftUI in your browser&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://infinite.red/react-native-radio/rnr-371-rnr-explains-pan-responder" rel="noopener noreferrer"&gt;RNR 371 - PanResponder and the anatomy of RN gestures&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://infinite.red/react-native-radio/rnr-372-looking-back-on-chain-react-2026" rel="noopener noreferrer"&gt;RNR 372 - Looking back on Chain React 2026&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔀 Other
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;👀 &lt;a href="https://www.bram.us/2026/08/20/the-future-of-css-target-multiple-classes-with-the-class-prefix-selector/" rel="noopener noreferrer"&gt;CSS - Class Prefix Selector&lt;/a&gt; - Not implemented anywhere yet, but CSS will support &lt;code&gt;.prefix-*&lt;/code&gt; selectors, letting you target multiple CSS classes at once.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://bsky.app/profile/did:plc:hxmev3uady7j4litwnr5fzbg/post/3muk7eu23w22b" rel="noopener noreferrer"&gt;HTML Spec PR - Out-of-order streaming&lt;/a&gt; - This exciting feature is already in Chrome/Edge and has been&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://pnpm.io/blog/releases/12.0" rel="noopener noreferrer"&gt;pnpm 12.0 - Rust rewrite, project-aware global bins, registry revisions, and more&lt;/a&gt; - The upgrade from v11 seems easy, leading to significantly faster installs.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://zod.dev/blog/zod-4-5" rel="noopener noreferrer"&gt;Zod 4.5 - Ahead-of-time schema compilation, method memoization, new parsing features&lt;/a&gt; - Precompiled schemas parse 3-9x faster. Significant schema memory footprint improvements!&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://vgpu.sh/" rel="noopener noreferrer"&gt;vgpu - WebGPU library, designed for agents&lt;/a&gt; - The creative library Vercel developed to ship performant shaders. Agents can verify their work with a CLI, even in sandboxes without a GPU.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://remix.run/blog/remix-3-release-candidate" rel="noopener noreferrer"&gt;Remix 3.0 RC - Full-stack, single dependency, composable JS framework based on web primitives&lt;/a&gt; - I t’s time for the team to freeze feature development and commit to SemVer.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://rspack.rs/blog/announcing-2-2" rel="noopener noreferrer"&gt;Rspack 2.2 - Performance, HMR and &lt;code&gt;import.meta&lt;/code&gt; improvements, Browserslist Baseline targets&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://webpack.js.org/blog/2026-08-29-webpack-5-110/" rel="noopener noreferrer"&gt;Webpack 5.110 - Performance Hints, built-in CSS/HTML minification, native CSS recommended&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://nodejs.org/en/blog/release/v26.8.0" rel="noopener noreferrer"&gt;Node.js 26.8 - Built-in ZIP archive support, REPL inline syntax highlighting&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/jestjs/jest/releases/tag/v30.5.0" rel="noopener noreferrer"&gt;Jest 30.5 - &lt;code&gt;whenCalledWith()&lt;/code&gt;, describe-level retries, new file watcher, perf and ESM fixes&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤭 Fun
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://x.com/zkochan/status/2088249796171575375" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fx5beyamgc12yqnf4gqez.jpg" alt="alt" width="800" height="656"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See ya! 👋&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactnative</category>
    </item>
    <item>
      <title>This Week In React #294: React Compiler, TanStack, Next.js, GTKX, Effect | RN 0.87, Screens, RNGH, Worklets, Skia | Node, Astro, pnpm</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Fri, 21 Aug 2026 12:39:45 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-294-react-compiler-tanstack-nextjs-gtkx-effect-rn-087-screens-rngh-4p6c</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-294-react-compiler-tanstack-nextjs-gtkx-effect-rn-087-screens-rngh-4p6c</guid>
      <description>&lt;p&gt;Hi everyone!&lt;/p&gt;

&lt;p&gt;Hi everyone, &lt;a href="https://x.com/sebastienlorber" rel="noopener noreferrer"&gt;Seb&lt;/a&gt; and &lt;a href="https://x.com/jaworek3211" rel="noopener noreferrer"&gt;Jan&lt;/a&gt; here!&lt;/p&gt;

&lt;p&gt;Back after a little break to cover news from the last two weeks. A lot is going on, apparently not everyone is on holiday because we still have many interesting releases, including many RCs from upcoming major versions.&lt;/p&gt;

&lt;p&gt;The native React Compiler rollout continues. React v19.3 seems around the corner. Plenty of TanStack Router/Start and Next.js content.&lt;/p&gt;

&lt;p&gt;React Native 0.87 is now out, paving the way for v1.0.&lt;/p&gt;

&lt;p&gt;🏝️ We’ll be taking another break next week. See you in September. 👋&lt;/p&gt;




&lt;p&gt;💡 Subscribe to the official newsletter to receive an email every week!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" alt="banner"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://blog.sentry.io/57-bugs-to-1/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=seer-fy27q3-evergreen&amp;amp;utm_content=newsletter-first-sponsor-dan-mindru-blog-learnmore" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%2Femails%2Fissues%2F294%2Fsentry.jpg" alt="From 57 bugs to 1, thanks to Seer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://blog.sentry.io/57-bugs-to-1/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=seer-fy27q3-evergreen&amp;amp;utm_content=newsletter-first-sponsor-dan-mindru-blog-learnmore" rel="noopener noreferrer"&gt;From 57 bugs to 1, thanks to Seer&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;True story. Dan Mindru got a GitHub notification at the dentist, skimmed a green PR he hadn't written, and hit merge before his name was called. That was one of 57 bugs in his backlog. He's down to 1 now, and his system sorts every production bug into three tiers:&lt;br&gt;&lt;br&gt;
😎 &lt;strong&gt;Friendly&lt;/strong&gt;: the null check, the off-by-one, the layout that breaks on mobile. The PR is waiting when you wake up.&lt;br&gt;&lt;br&gt;
😤 &lt;strong&gt;Grumpy&lt;/strong&gt;: stale state after a websocket reconnect, optimistic UI that never rolls back. Seer can root-cause these, but it can't run your tests. Something else has to.&lt;br&gt;&lt;br&gt;
🤘 &lt;strong&gt;Punk&lt;/strong&gt;: five-year-old prod data, one customer's flag combo. Still yours, sorry.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.sentry.io/57-bugs-to-1/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=seer-fy27q3-evergreen&amp;amp;utm_content=newsletter-first-sponsor-dan-mindru-blog-learnmore" rel="noopener noreferrer"&gt;Read the post →&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚛️ React
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The React Compiler rollout&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The rollout of the Rust-based compiler continues:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://oxc.rs/blog/2026-08-18-react-compiler-support" rel="noopener noreferrer"&gt;Oxlint 1.79 just added support&lt;/a&gt;. The new &lt;code&gt;oxc-transform-react&lt;/code&gt; package also unlocks automatic memoization and will soon be supported in &lt;code&gt;@vitejs/plugin-react&lt;/code&gt; (&lt;a href="https://github.com/vitejs/vite-plugin-react/pull/1419" rel="noopener noreferrer"&gt;PR&lt;/a&gt; already merged). Along the way, they made many improvements to performance and behavior over the original Rust port and even found bugs in the Babel version.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/biomejs/biome/releases/tag/%40biomejs%2Fbiome%402.5.8" rel="noopener noreferrer"&gt;Biome 2.5.8&lt;/a&gt; is out with a new &lt;code&gt;useReactCompiler&lt;/code&gt; nursery/experimental rule, although it’s an initial version and there’s &lt;a href="https://github.com/biomejs/biome/issues/10974" rel="noopener noreferrer"&gt;remaining work&lt;/a&gt; to be done such as splitting the rule into many smaller ones.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/oven-sh/bun/issues/24356#issuecomment-5276435139" rel="noopener noreferrer"&gt;Bun 1.4 will include React Compiler support&lt;/a&gt; through &lt;code&gt;--react-compiler&lt;/code&gt; and &lt;code&gt;Bun.build({reactCompiler: true})&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-aug19" rel="noopener noreferrer"&gt;build mode - Why we're bullish on loops&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/react/react/pull/37290" rel="noopener noreferrer"&gt;React PR - Enable parallel transitions flag everywhere&lt;/a&gt; - Parallel transitions are already used in production at Meta, and are likely to come in v19.3 for both React and React Native.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/TanStack/router/discussions/8087" rel="noopener noreferrer"&gt;TanStack Router reimplemented&lt;/a&gt; - Prominent Node.js contributor Yagiz Nizipli reimplemented TanStack Router APIs, claiming a drop-in replacement up to 19x faster. Tanner Linsley answers.&lt;/li&gt;
&lt;li&gt;💬 Next.js team - &lt;a href="https://www.reddit.com/r/nextjs/comments/1vnlcsk/were_the_nextjs_team_ask_us_anything/" rel="noopener noreferrer"&gt;Ask us anything on Reddit&lt;/a&gt; and &lt;a href="https://x.com/timneutkens/status/2090068164860117058" rel="noopener noreferrer"&gt;Ask us anything on X&lt;/a&gt;- Apart from the many Next.js-related discussions, happy to hear that Fragment refs and ViewTransition will be stable in React 19.3! Also gives a preview of upcoming features such as granular prerendering and new data fetching primitives.&lt;/li&gt;
&lt;li&gt;💬 &lt;a href="https://github.com/remix-run/react-router/discussions/15371" rel="noopener noreferrer"&gt;React Router - Changes planned for v9&lt;/a&gt; - This discussion will keep track of what’s coming in the next major, scheduled for mid-2027.&lt;/li&gt;
&lt;li&gt;🐦 &lt;a href="https://x.com/poteto/status/2089227731305464150" rel="noopener noreferrer"&gt;Cursor completed its migration from Solid (v1) to React and StyleX&lt;/a&gt; - In practice, signal-based approaches created perf footguns. Their new product “Bot” forbids the direct usage of &lt;code&gt;useEffect&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;🗓️&amp;nbsp;&lt;a href="https://reactsummit.us/?utm_source=thisweekinreact" rel="noopener noreferrer"&gt;React Summit US&lt;/a&gt;&amp;nbsp;-&amp;nbsp;🇺🇸&amp;nbsp;New York - 17 &amp;amp; 20 Nov. Incredible lineup announced featuring Kent C. Dodds, Shaundai Person, Ken Wheeler, Tanner Linsley, and Seth Webster! Get a 10% discount with code "TWIR".&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://julesblom.com/writing/hoistable-svg-defs-ii" rel="noopener noreferrer"&gt;Impersonating the DOM&lt;/a&gt; - A quite interesting lib design technique used by React Aria. &lt;code&gt;createPortal(children, fakeDocument)&lt;/code&gt; lets you eavesdrop on the reconciler operations and get access to the rendered children. This pattern lets you do various things, such as hoisting/deduplicating SVG &lt;code&gt;&amp;lt;defs&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://lovable.dev/blog/how-we-migrated-lovable-dev-away-from-nextjs" rel="noopener noreferrer"&gt;How Lovable.dev moved from Next.js to TanStack Start&lt;/a&gt; - Lovable builds and hosts primarily TanStack Start apps, so they decided to adopt the framework for their flagship app to dogfood their own platform and turn it into a typical Lovable app. This describes the incremental migration approach: making the code framework-agnostic, using agents, migrating related routes together, and ensuring both frameworks can run simultaneously. The migration brought better DX/AX and simpler abstractions, but TanStack Start requires more bundler customization.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://nextjs.org/blog/making-v0-navigations-instant" rel="noopener noreferrer"&gt;Making Navigations Instant in v0&lt;/a&gt; - Next.js 16.3 now supports pre-rendering dynamic content at runtime, making navigation feel instantaneous. Assert this behavior with a new Playwright &lt;code&gt;instant()&lt;/code&gt; helper, and let your AI agents fix the failing tests with the provided skill.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tkdodo.eu/blog/reliable-query-prefetching-with-tanstack-router" rel="noopener noreferrer"&gt;Reliable Query Prefetching with TanStack Router&lt;/a&gt; - Reliable prefetching requires using the same query options in the route loader prefetches and component queries, which may diverge at scale. Put query options in Route Context to keep them in sync.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tanstack.com/blog/tanstack-router-navigation-lanes" rel="noopener noreferrer"&gt;Inside a TanStack Router Navigation&lt;/a&gt; - Explains the lifecycle of a navigation and how edge cases are handled, such as using a transaction and private lane system to handle race conditions.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://nextjs.org/blog/building-app-like-experiences-with-nextjs-16-3" rel="noopener noreferrer"&gt;Building App-like Experiences with Next.js 16.3&lt;/a&gt; - A nice overview of all the cutting-edge Next.js features useful to build modern web apps, illustrated through 4 open source app demos.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://aurorascharff.no/posts/coordinating-optimistic-updates-in-nextjs/" rel="noopener noreferrer"&gt;Coordinating Optimistic Updates in Next.js&lt;/a&gt; - Use &lt;code&gt;useActionState&lt;/code&gt; and &lt;code&gt;useOptimistic&lt;/code&gt; to coordinate overlapping transitions with an Action queue, a reducer, and optimistic state with automatic rollbacks. Not so easy to wire, but this pattern can be learned once and applied in many places.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://next-intl.dev/blog/nextjs-root-params" rel="noopener noreferrer"&gt;Using &lt;code&gt;next/root-params&lt;/code&gt; in Next.js 16.3&lt;/a&gt; - A game-changer for &lt;code&gt;next-intl&lt;/code&gt;, that can now read a &lt;code&gt;[locale]&lt;/code&gt; param of a root layout in all Server Components.&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://trustedrouter.com/openai-compatible-llm-api?utm_source=thisweekinreact&amp;amp;utm_medium=sponsored_newsletter&amp;amp;utm_campaign=react_link_20260819&amp;amp;utm_content=react_link_every_model" rel="noopener noreferrer"&gt;TrustedRouter - Add every AI model to your React app through one OpenAI-compatible API with automatic failover and no prompt or output logs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://compiled.run/oxc-tsrx" rel="noopener noreferrer"&gt;OXC for TSRX - Parse, lint, format &lt;code&gt;.tsrx&lt;/code&gt; files with Oxc&lt;/a&gt; - This promising spiritual successor to JSX now has a fast Rust-based toolchain.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://gtkx.dev/blog/gtkx-1-0" rel="noopener noreferrer"&gt;GTKX 1.0 - The React framework for Linux, declarative layer on top of GTK4&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/unjs/unhead/releases/tag/v3.3.0" rel="noopener noreferrer"&gt;Unhead 3.3 - Framework-agnostic &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; component - Support &lt;code&gt;&amp;lt;Fragment&amp;gt;&lt;/code&gt;, various React fixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/facebook/astryx/releases" rel="noopener noreferrer"&gt;Astryx 0.3 &amp;amp; 0.4 - Meta’s fully customizable design system based on StyleX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/react-hook-form/react-hook-form/releases/tag/v7.85.0" rel="noopener noreferrer"&gt;React-Hook-Form 7.85 - Support React &lt;code&gt;&amp;lt;Activity&amp;gt;&lt;/code&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://ui.shadcn.com/docs/changelog/2026-08-questionnaire" rel="noopener noreferrer"&gt;shadcn React 0.3 - New &lt;code&gt;&amp;lt;Questionnaire&amp;gt;&lt;/code&gt; component for multi-step question flows&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://www.bengubler.com/posts/2026-08-14-introducing-fig-ui-runtime" rel="noopener noreferrer"&gt;Fig - A small TypeScript UI runtime based on React Fiber.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/rshono/rshono" rel="noopener noreferrer"&gt;Rshono - Minimalist web framework based on Hono, Rspack and React Server Components&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/huozhi/sugar-high/releases/tag/v2.0.0" rel="noopener noreferrer"&gt;Sugar High 2.0 - Lightweight, composable syntax highlighter with React bindings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://tanstack.com/blog/announcing-tanstack-form-v2-alpha" rel="noopener noreferrer"&gt;TanStack Form 2.0 alpha - Redesigned APIs, new validation pipeline, performance and type-safety improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/preactjs/preact/releases/tag/11.0.0-rc.0" rel="noopener noreferrer"&gt;Preact 11.0 RC - &lt;code&gt;use()&lt;/code&gt;, &lt;code&gt;createPortal()&lt;/code&gt;, &lt;code&gt;useEffectEvent()&lt;/code&gt;, and more&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://thoughtbot.com/blog/humid-1-0-react-server-side-rendering-in-rails-can-be-easy" rel="noopener noreferrer"&gt;Humid 1.0 - React server-side rendering in Rails using V8 / mini_racer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=397MsJf8HGg" rel="noopener noreferrer"&gt;Lucas Barake - The state library that made me drop Zustand&lt;/a&gt; - Effect v4 is &lt;a href="https://www.effect.website/blog/releases/effect/40-rc" rel="noopener noreferrer"&gt;now in RC&lt;/a&gt;, comes with a reactive Atom implementation including first-class React bindings.&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://share.transistor.fm/s/55d1846a" rel="noopener noreferrer"&gt;This Month in React - July 2026 - React-alikes, governance, and state management&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.agent.sh/?utm_campaign=agent&amp;amp;utm_source=twir&amp;amp;utm_medium=email=utm_content=aug19" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%2Femails%2Fissues%2F294%2Fcallstack.jpg" alt="New Speakers &amp;amp; Pre-Conference Workshop"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.agent.sh/?utm_campaign=agent&amp;amp;utm_source=twir&amp;amp;utm_medium=email=utm_content=aug19" rel="noopener noreferrer"&gt;New Speakers &amp;amp; Pre-Conference Workshop&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Carl Ross&lt;/strong&gt; (&lt;strong&gt;OpenAI)&lt;/strong&gt; and &lt;strong&gt;Nick Miller&lt;/strong&gt; (&lt;strong&gt;Cursor)&lt;/strong&gt; have recently joined the lineup, alongside other top AI engineers from &lt;strong&gt;Google&lt;/strong&gt;, &lt;strong&gt;Meta&lt;/strong&gt;, &lt;strong&gt;Amazon&lt;/strong&gt;, &lt;strong&gt;Expo&lt;/strong&gt; and other tech giants.&lt;/p&gt;

&lt;p&gt;Agenda is now almost full with talks covering 4 main angles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vibe Coding&lt;/li&gt;
&lt;li&gt;Agentic Engineering Fundamentals&lt;/li&gt;
&lt;li&gt;Orchestration &amp;amp; Multi-Agent Systems&lt;/li&gt;
&lt;li&gt;Adoption &amp;amp; Case Studies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The last few spots are still available for the free workshop hosted by Amazon on September 16: &lt;strong&gt;&lt;em&gt;Build Your Own Software (re)Factory&lt;/em&gt;&lt;/strong&gt;. First come, first served! Book your spot at &lt;a href="https://www.agent.sh/workshop?utm_campaign=agent&amp;amp;utm_source=twir&amp;amp;utm_medium=email&amp;amp;utm_content=program" rel="noopener noreferrer"&gt;agent.sh/workshop.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Join Agent Conf in Warsaw on September 17–18 to get better at coding with AI agents.&lt;/p&gt;

&lt;p&gt;Conference tickets are available at &lt;a href="https://www.agent.sh/" rel="noopener noreferrer"&gt;agent.sh&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  📱 React-Native
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://reactnative.dev/blog/2026/08/11/react-native-0.87" rel="noopener noreferrer"&gt;&lt;strong&gt;React Native 0.87&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Like clockwork, React Native 0.87 is out! It's the biggest step towards RN 1.0 in a long time, coming with intentional breaking changes, so it deserves more than a routine upgrade note.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Strict TypeScript API by default&lt;/strong&gt;: Types are generated automatically from source and scoped to the package's root, so internal file changes are no longer breaking changes. Dedicated &lt;code&gt;*Instance&lt;/code&gt; types (e.g. &lt;code&gt;ViewInstance&lt;/code&gt;, &lt;code&gt;TextInputInstance&lt;/code&gt;) improve &lt;code&gt;ref&lt;/code&gt; typing of built-in components, and doc comments now flow straight into your IDE. Alex Hunt &lt;a href="https://x.com/huntie/status/2087221384422592629" rel="noopener noreferrer"&gt;goes into detail&lt;/a&gt; about the work that went into this: compatibility fixes for Tailwind, Uniwind, and Expo Web, plus an upstream TypeScript fix for hidden &lt;code&gt;Libraries/&lt;/code&gt; subpaths.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Faster, leaner Metro&lt;/strong&gt;: Source map generation is now 2x faster and uses half of the memory. Support for TypeScript and ESM config files.
&lt;strong&gt;Experimental Swift Package Manager support for iOS&lt;/strong&gt;: Opt-in and additive: Xcode is enough — no Ruby, no Bundler, no CocoaPods. CocoaPods remains the default path.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Android Gradle Plugin (AGP) v9&lt;/strong&gt;: First RN release to support AGP 9, with recommended opt-outs for built-in Kotlin and the new DSL until AGP 10.x.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API surface cleanup&lt;/strong&gt;: Many deprecated APIs have been removed, including flagship ones like &lt;code&gt;InteractionManager&lt;/code&gt;. New APIs are marked as deprecated and scheduled to be removed later. &lt;code&gt;AbortController&lt;/code&gt; is now complete and &lt;code&gt;backgroundImage: linear-gradient/radial-gradient&lt;/code&gt; is now stable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;New requirements&lt;/strong&gt;: The minimum toolchain requirements is now Node.js 22, AGP 9, and Kotlin 2.0+.&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://crisp.chat/?utm_source=twir&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=crisp_q3_nl&amp;amp;utm_content=19aug26" rel="noopener noreferrer"&gt;Crisp - Add in-app customer support to your React Native or Expo app in just a few lines of code &lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📖 &lt;a href="https://github.com/react/react-native-website/pull/5111" rel="noopener noreferrer"&gt;RN docs - Strict TypeScript API guide updated for 0.87: ref types, setup-env, FAQs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🗓️&amp;nbsp;&lt;a href="https://reactnativeconnection.io/?utm_source=thisweekinreact.com" rel="noopener noreferrer"&gt;React Native Connection&lt;/a&gt;&amp;nbsp;-&amp;nbsp;🇫🇷 Paris - 24 Sept. Deep dive into mobile development with top-tier experts from Expo, Software Mansion and Callstack. Regular ticket window closing August 31. Save 15% on your ticket with code "TWIR".&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://margelo.com/blog/fitting-RAG-in-your-pocket" rel="noopener noreferrer"&gt;Fitting RAG in Your Pocket: Local Retrieval in React Native&lt;/a&gt; - How to build on-device data retrieval for your apps using &lt;code&gt;@react-native-ai/llama&lt;/code&gt; and native vector search with &lt;code&gt;nitro-sqlite&lt;/code&gt; + &lt;code&gt;sqlite-vec&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://swmansion.com/blog/the-memory-hermes-cant-see-stale-shadow-nodes-in-react-native/" rel="noopener noreferrer"&gt;The Memory Hermes Can't See: Stale Shadow Nodes in React Native&lt;/a&gt; - Recent Hermes V1 memory regression triggered additional experiments that surfaced a fascinating finding about the Shadow Tree. Unmounting views causes the React component and the objects attached to it to still exist in memory, which can only be cleaned up by GC run.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://shopify.engineering/mobile-e2e-testing" rel="noopener noreferrer"&gt;How we raised mobile end-to-end test stability to 98%&lt;/a&gt; - Shopify stopped patching their Appium E2E suite to fix flaky tests with an opinionated wrapper. They moved away from testing implementation details with TestIDs to using computer vision.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/how-to-build-a-resilient-activity-tracker-with-expo" rel="noopener noreferrer"&gt;How to build a resilient activity tracker with Expo&lt;/a&gt; - Build an Expo app with sessions that survive backgrounding, app kills, and crashes.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://margelo.com/blog/react-native-barcode-scanner" rel="noopener noreferrer"&gt;Scanning Barcodes in React Native Apps: The Complete Guide (2026)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/fable-5-vs-gpt-5-6-sol-expo-apps" rel="noopener noreferrer"&gt;Fable 5 vs GPT-5.6 Sol: I spent $2,000 and 2 billion tokens to find out who wins&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://swmansion.com/blog/haptic-feedback-on-the-web-why-the-web-deliberately-refuses-to-be-as-tactile-as-native-apps/" rel="noopener noreferrer"&gt;Haptic Feedback on the Web: Why the Web Deliberately Refuses to Be as Tactile as Native Apps&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://configcat.com/blog/ab-testing-react-native-apps-with-feature-flags/?utm_source=thisweekinreact_newsletter&amp;amp;utm_medium=sponsor&amp;amp;utm_campaign=reactnative_20260819" rel="noopener noreferrer"&gt;ConfigCat - Release React Native Features with Feature Flags, Without Redeploying&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://invertase.io/blog/react-native-firebase-v26-release" rel="noopener noreferrer"&gt;Firebase 26 - New architecture foundation: TurboModules, TypeScript parity, modular API&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/Shopify/react-native-skia/releases/tag/v2.11.0" rel="noopener noreferrer"&gt;Skia 2.11 - Updates Skia engine, drive multiple animated props from one shared value&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/rozenite/releases/tag/v2.1.0" rel="noopener noreferrer"&gt;Rozenite 2.1 - Unified plugin UI, feature flags plugin, agent skills CLI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/getsentry/sentry-react-native/releases/tag/8.23.0" rel="noopener noreferrer"&gt;Sentry 8.23 - Swift pod migration&lt;/a&gt; - Action required for RN &amp;lt; 0.75, &lt;code&gt;use_modular_headers!&lt;/code&gt; is required in the Podfile now that RNSentry ships Swift&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-screens/releases/tag/4.27.0" rel="noopener noreferrer"&gt;Screens 4.27 - RN 0.87 support, experimental &lt;code&gt;ScrollToTopGuard&lt;/code&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://maestro.dev/blog/maestro-cli-2-8-0" rel="noopener noreferrer"&gt;Maestro 2.8 - Swipe from a point inside an element, variables in permissions, screenshot tresholds, and Maestro Cloud improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/enriched-markdown/releases/tag/v1.0.0" rel="noopener noreferrer"&gt;Enriched Markdown 1.0 - First stable release: block-editing input pipeline, iOS SwiftUI renderer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstack/react-native-pager-view/releases/tag/v9.0.0" rel="noopener noreferrer"&gt;Pager View 9.0 - Replaces legacy pager implementation with Jetpack Compose on Android&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.2.0" rel="noopener noreferrer"&gt;Gesture Handler 3.2 - &lt;code&gt;Pressable&lt;/code&gt; on &lt;code&gt;Touchable&lt;/code&gt;, hover callbacks, Strict TS API, AGP 9&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-reanimated/releases/tag/worklets-0.12.0" rel="noopener noreferrer"&gt;Worklets 0.12 - WeakRef on worklet runtimes, Bundle Mode loading on par with RN, &lt;code&gt;enableLocking&lt;/code&gt; option&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/margelo/react-native-nitro-fetch/releases/tag/v1.6.0" rel="noopener noreferrer"&gt;Nitro Fetch 1.6 - tvOS support, shared iOS URLCache, prefetch cache fixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/JubaKitiashvili/expo-pretext/releases/tag/v1.2.0" rel="noopener noreferrer"&gt;Expo Pretext 1.2 - Fixes Android module that never compiled, web font measurement fix&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/argent/releases/tag/v0.20.0" rel="noopener noreferrer"&gt;Argent 0.20 - Concurrent flow recordings, Chromium per launch step, MCP registry, .env secrets&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/appandflow/react-native-safe-area-context/releases/tag/v5.9.0" rel="noopener noreferrer"&gt;Safe Area Context 5.9 - AGP 9 support, web resize/inset fixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🤖 &lt;a href="https://expo.dev/services/tuft" rel="noopener noreferrer"&gt;Expo Tuft - Higher-order agent reachable from Slack/iMessage, runs on an always-on machine&lt;/a&gt; - Technical preview of a new Expo AI product.&lt;/li&gt;
&lt;li&gt;🤖 &lt;a href="https://github.com/margelo/ai-chat-demo" rel="noopener noreferrer"&gt;MargeloChat - Open-source ChatGPT-style RN AI chat app with RAG and streaming&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🤖 &lt;a href="https://github.com/joshuayoes/ios-simulator-mcp/releases/tag/v2.1.0" rel="noopener noreferrer"&gt;iOS Simulator MCP 2.1 - App lifecycle tools: terminate_app, open_url, list_apps&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=eiGcqvji4nk" rel="noopener noreferrer"&gt;Callstack - Can a Specialized Model Beat Frontier Models at React Native?&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://infinite.red/react-native-radio/rnr-369-rnr-explains-appregistry" rel="noopener noreferrer"&gt;RNR 369 - AppRegistry Explained&lt;/a&gt; - Breaks down RN’s AppRegistry. What’s under the hood. From Expo and app entry points to brownfield apps and more.&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://infinite.red/react-native-radio/rnr-370-copilotkit-with-mike-ryan" rel="noopener noreferrer"&gt;RNR 370 - CopilotKit with Mike Ryan&lt;/a&gt; - Bringing AI agents to RN apps. Breaks down of AG-UI, generative UI, shared state, and the guardrails needed for trustworthy experiences.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔀 Other
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;📜 &lt;a href="https://portswigger.net/research/css-the-bomb-inside-your-inbox" rel="noopener noreferrer"&gt;CSS: the bomb inside your inbox&lt;/a&gt; - Novel hacking techniques showing how CSS sanitizers in Gmail/Outlook/Fastmail can be worked around to steal tokens, hijack clicks, or keylog passwords.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://green.sapphi.red/blog/how-variable-mangling-works-in-oxc-minifier" rel="noopener noreferrer"&gt;How Variable Mangling Works in Oxc Minifier&lt;/a&gt; - Replacing original variable names with shorter ones with a slot assignment algorithm.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://nodejs.org/en/blog/release/v26.7.0" rel="noopener noreferrer"&gt;Node.js 26.7 - Perfetto tracing support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://astro.build/blog/astro-720/" rel="noopener noreferrer"&gt;Astro 7.2 - Incremental static builds, opt out of session support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://pnpm.io/blog/whats-different-in-pnpm-12" rel="noopener noreferrer"&gt;pnpm 12.0 RC&lt;/a&gt; - pnpm 12 has been rewritten in Rust and should be easy to adopt, apart from 5 things that differ.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://main.vitest.dev/guide/migration.html#vitest-5" rel="noopener noreferrer"&gt;Vitest 5.0 RC - Clear mocks by default, fake timers now mock Temporal, and more&lt;/a&gt; - Stable version expected in 2-3 weeks, check the full v5 migration guide.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://www.solidjs.com/blog/solid-2-0-rc-the-big-reveal" rel="noopener noreferrer"&gt;Solid 2.0 RC - First-class async support, new Rust-based compiler toolchain, simpler API surface&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://svelte.dev/blog/sveltekit-3-release-candidate" rel="noopener noreferrer"&gt;SvelteKit 3.0 RC - Vite 8 + Rolldown, error boundaries, validated env vars, remote functions&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤭 Fun
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://x.com/jxnlco/status/1931003015051518077" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%2Femails%2Fissues%2F294%2Fmeme.jpg" alt="alt"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/samlambert/status/2089352497794277639" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%2Femails%2Fissues%2F294%2Fmeme2.jpg" alt="alt"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See ya! 👋&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactnative</category>
    </item>
    <item>
      <title>This Week In React #293: Next.js, TanStack, browser(), React Aria | PlainText, Vision Camera, Gesture Handler | Stacked PRs, Flue, Node</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Fri, 14 Aug 2026 10:02:37 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-293-nextjs-tanstack-browser-react-aria-plaintext-vision-camera-4mn8</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-293-nextjs-tanstack-browser-react-aria-plaintext-vision-camera-4mn8</guid>
      <description>&lt;p&gt;Hi everyone, Kasia and Kuba from &lt;a href="https://swmansion.com/" rel="noopener noreferrer"&gt;Software Mansion&lt;/a&gt; here.&lt;/p&gt;

&lt;p&gt;This week, Next.js 16.3 officially shipped, bringing Instant Navigations to the App Router and cutting dev server RAM usage by up to 90%.&lt;/p&gt;

&lt;p&gt;On the React Native side, a new, faster PlainText component and a deep dive into Vision Camera v5.&lt;/p&gt;

&lt;p&gt;Across the broader dev ecosystem, GitHub stacked PRs finally entered public preview with native base retargeting and a gh-stack CLI.&lt;/p&gt;

&lt;p&gt;Let's dive in!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🏝️FYI: we’re taking a break next week; see you soon!&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;💡 Subscribe to the official newsletter to receive an email every week!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" alt="banner"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q3&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flkaurt02oufd010l76yw.jpg" alt="Ship AI generated code safely with Meticulous."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q3&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Ship AI generated code safely with Meticulous.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Claude writes your code. Claude&amp;nbsp;reviews your code. Claude fixes the review comments. And somehow, &lt;em&gt;you're&lt;/em&gt; the one getting paged at 2am when it breaks in prod.&lt;/p&gt;

&lt;p&gt;Fortunately, top AI-driven teams like Dropbox, Notion, LaunchDarkly, and Wiz&amp;nbsp;rely on&amp;nbsp;Meticulous&amp;nbsp;to run&amp;nbsp;1000s of e2e UI tests autonomously, covering&amp;nbsp;every user flow, edge case, role and permutation. Built by ex-Palantir engineers,&amp;nbsp;&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Meticulous gives you near-exhaustive coverage in weeks, without any developer&amp;nbsp;effort&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;It works like magic in the background:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Near-exhaustive coverage on every test run&lt;/li&gt;
&lt;li&gt;No test creation&lt;/li&gt;
&lt;li&gt;No maintenance (seriously)&lt;/li&gt;
&lt;li&gt;Zero flakes (built on a deterministic browser)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Check it out&lt;/strong&gt; -&amp;nbsp;and see why one engineering leader at Dropbox said that “&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st#:~:text=Once%20we%20started%20using%20Meticulous%2C%20we%20couldn%27t%20imagine%20working%20without%20it." rel="noopener noreferrer"&gt;once we started using Meticulous, we couldn’t imagine working without it&lt;/a&gt;.”&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚛️ React
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://nextjs.org/blog/next-16-3" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%2Femails%2Fissues%2F293%2Fnext.jpg" alt="Next.js 16.3 Released: Instant Navigations &amp;amp; 90% RAM Reduction"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://nextjs.org/blog/next-16-3" rel="noopener noreferrer"&gt;Next.js 16.3 - Instant Navigations and 90% less RAM in dev&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Next.js 16.3 officially shipped with major engine and runtime upgrades. Long dev sessions now use up to 90% less RAM. Turbopack now supports Vite-like &lt;code&gt;import.meta.glob()&lt;/code&gt;, and rebuilds get faster thanks to artifact caching. SSR handles up to 22% more requests. TypeScript 7 is supported by default through a new &lt;code&gt;tsc&lt;/code&gt; CLI integration. Various AI improvements include versioned docs for agents, skills, and actionable errors. There are also new APIs such as &lt;code&gt;catchError&lt;/code&gt; to create custom error boundaries, and &lt;code&gt;next/root-params&lt;/code&gt; useful for i18n.&lt;/p&gt;

&lt;p&gt;The core release focuses on Instant Navigations (built on top of Cache Components) to give server-driven apps the snappy responsiveness of an SPA. This signals a clear architectural shift for Next.js: returning to a dynamic-by-default model with fully explicit, predictable caching.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://tanstack.com/blog/announcing-tanstack-table-v9" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%2Femails%2Fissues%2F293%2Ftanstack.jpg" alt="TanStack Table V9"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://tanstack.com/blog/announcing-tanstack-table-v9" rel="noopener noreferrer"&gt;TanStack Table V9&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This new major version is finally here, after more than 2 years of work. It lays a new foundation for years to come, with a tree-shakable plugin architecture, state management powered by TanStack Store, new features, major performance improvements, hundreds of bug fixes, and more.&lt;/p&gt;

&lt;p&gt;As a framework-agnostic lib, it comes with many framework-specific adapters, including new ones. The existing ones have been refreshed around a new reactivity model. For React developers specifically, it now supports React 18+, works well with the React Compiler, and unlocks more granular reads based on atoms/selectors to avoid useless re-renders.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://trustedrouter.com/openai-compatible-llm-api?utm_source=thisweekinreact&amp;amp;utm_medium=sponsored_newsletter&amp;amp;utm_campaign=react_link_20260805&amp;amp;utm_content=react_link_openai_compatible" rel="noopener noreferrer"&gt;TrustedRouter - Build AI features with hundreds of models through one OpenAI-compatible API with failover and no prompt or output logs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/react/react/pull/37143" rel="noopener noreferrer"&gt;React Core PR - &lt;code&gt;browser()&lt;/code&gt; API&lt;/a&gt; - Exposes a client-only react-dom API to safely suspend SSR for browser-specific components, eliminating hacky server error-suppression workarounds.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://shubhra.dev/tutorials/react-19-useactionstate" rel="noopener noreferrer"&gt;React 19’s useActionState: Preventing Sequenced Double Submits&lt;/a&gt; - Explains how React 19’s useActionState queue behaves and how to handle &lt;code&gt;isPending&lt;/code&gt; states to prevent duplicate submits.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://shubhra.dev/tutorials/nextjs-16-useoptimistic-rollback-pattern" rel="noopener noreferrer"&gt;Next.js 16 useOptimistic: Fixing Rapid-Click Race Conditions &amp;amp; Auto-Rollbacks&lt;/a&gt; - Covers React 19 optimistic UI edge cases, demonstrating why manual rollback logic is redundant, how to prevent overlapping requests per item, and how to handle Next.js 16 cache revalidation with updateTag.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://howtotestfrontend.com/resources/visual-regression-testing-introduction-guide" rel="noopener noreferrer"&gt;Visual Regression Testing: The Most Important Test You're Not Running&lt;/a&gt; - demonstrates how visual regression tests catch layout and CSS bugs missed by functional tests, with setup examples for E2E test runners and component environments.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://granat.blog/posts/2026-07-24-react-arven/" rel="noopener noreferrer"&gt;React Arven: Optimizing React Context Performance for Complex Local State&lt;/a&gt; - Introduces a 1.4 kB dependency-free library that uses useSyncExternalStore and stable action refs to eliminate React Context re-renders when orchestrating complex local state.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://boda.sh/blog/generative-ui/" rel="noopener noreferrer"&gt;Architectural Patterns for Generative UI in React&lt;/a&gt; - Breaks down 3 approaches to letting LLMs build UI dynamically — schema-constrained output, a declarative JSON spec (A2UI/AG-UI), and open-ended sandboxed code generation&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-aug5" rel="noopener noreferrer"&gt;build mode - Stop being the code review bottleneck&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/TanStack/charts" rel="noopener noreferrer"&gt;TanStack Charts pre-alpha - Minimal ~8 KiB core, framework-agnostic charting primitives on D3, with first-class React bindings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://react-aria.adobe.com/releases/v1-20-0" rel="noopener noreferrer"&gt;React Aria 1.20 - Adds PreviewTrigger popovers, TokenField for inline tags, native context menus, interactive table rows, and Next.js 16 RSC collection support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/pmndrs/react-three-fiber/releases/tag/v9.7.0" rel="noopener noreferrer"&gt;React Three Fiber 9.7 - Hardens its reconciler to align with react-dom, fixing child desyncs, prop resets, and event priority&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/GoogleChromeLabs/use-webmcp-tool" rel="noopener noreferrer"&gt;use-webmcp-tool - Experimental project from the Chrome team, a React abstraction for exposing client-side tools to browser AI agents via WebMCP&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/mobxjs/mobx/releases/tag/mobx%407.0.0" rel="noopener noreferrer"&gt;MobX 7.0 - Drops legacy compatibility, reduces ESM bundle size while maintaining the mobx-react-lite vs mobx-react architecture&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/vercel/swr/releases/tag/v2.5.0" rel="noopener noreferrer"&gt;SWR 2.5 - Adds experimental RSC data preloading to hydrate client cache without duplicate requests, plus a new &lt;code&gt;unload()&lt;/code&gt; API to purge cache and abort in-flight queries&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/react-hook-form/react-hook-form/releases/tag/v7.84.0" rel="noopener noreferrer"&gt;React Hook Form 7.84 - Enhances &lt;code&gt;&amp;lt;Form /&amp;gt;&lt;/code&gt; submit behavior, improves performance, reduces bundle size&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://base-ui.com/react/overview/releases/v1-7-0" rel="noopener noreferrer"&gt;BaseUI 1.7 - Reduces bundle size (~3%), enhances mobile UX and &lt;code&gt;&amp;lt;ScrollArea.Thumb&amp;gt;&lt;/code&gt; overscroll feedback, and bundles accessibility and bug fixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/facebook/astryx/releases/tag/v0.2.0" rel="noopener noreferrer"&gt;Astryx 0.2 - RTL auto-mirroring with a dedicated ESLint rule, tooltip status variant for inputs, scriptable CLI engine APIs, removed TabList orientation and CLI JSON types&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://reactbits.dev/" rel="noopener noreferrer"&gt;React Bits upgrade - 27 new React components for creative developers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/styled-components/styled-components/releases/tag/styled-components%406.5.0" rel="noopener noreferrer"&gt;Styled Components 6.5 - Much faster type-checking, stricter RN styles, new CustomStyle type helper&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://surveyjs.io/?utm_source=this-week-in-react&amp;amp;utm_medium=email" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%2Femails%2Fissues%2F293%2Fsurvey.jpg" alt="Stop Rebuilding Forms for Every Business Change"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://surveyjs.io/?utm_source=this-week-in-react&amp;amp;utm_medium=email" rel="noopener noreferrer"&gt;Stop Rebuilding Forms for Every Business Change&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hardcoded forms create a costly cycle: every new field, workflow, validation rule or customer-specific variation becomes another development task, code review and deployment.&lt;/p&gt;

&lt;p&gt;SurveyJS breaks that cycle. Developers &lt;a href="https://surveyjs.io/try/reactjs" rel="noopener noreferrer"&gt;embed a JSON-powered form builder&lt;/a&gt; and reusable form runtime into their React application once. Business teams can then create and update forms through configuration rather than application code.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ship new forms faster&lt;/li&gt;
&lt;li&gt;Reduce repetitive frontend work&lt;/li&gt;
&lt;li&gt;Launch form changes without waiting for a release cycle&lt;/li&gt;
&lt;li&gt;Keep full control over your backend, data, security, and branding&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your developers own the platform. Your business teams manage the forms. 🙂&lt;/p&gt;




&lt;h2&gt;
  
  
  📱 React-Native
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://crisp.chat/?utm_source=twir&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=crisp_q3_nl&amp;amp;utm_content=5aug26" rel="noopener noreferrer"&gt;Crisp - Add customer support chat to your React Native app with our SDK for iOS, Android and Expo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🐦 &lt;a href="https://x.com/swmansion/status/2082488629167841415?s=20" rel="noopener noreferrer"&gt;Faster touchables in Gesture Handler coming soon&lt;/a&gt; - RNGH’s Touchable rendered ~300ms faster than RN’s Pressable in a list with 1000 buttons in one of the benchmarks, definitely worth keeping an eye on this!&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://expo.dev/services/simulators" rel="noopener noreferrer"&gt;Simulators for agents from Expo coming soon&lt;/a&gt; - Expo announced a waitlist for on-demand cloud simulators. This helps AI agents build, run, and visually verify app changes.&lt;/li&gt;
&lt;li&gt;📖 &lt;a href="https://docs.swmansion.com/react-native-gesture-handler/docs/fundamentals/callbacks-events/#gestureevent-callbacks" rel="noopener noreferrer"&gt;Gesture Handler Docs - New interactive docs on callbacks &amp;amp; events&lt;/a&gt; - You can now see the callbacks chain and get a better understanding of how they resolve.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://blog.margelo.com/on-device-face-recognition-react-native" rel="noopener noreferrer"&gt;Building a Real-Time Face Recognition App in React Native with VisionCamera&lt;/a&gt; - a full on-device pipeline built on VisionCamera's frame processors, ONNX Runtime, and OpenCV - with real benchmarks and hard-won lessons like mirrored-frame bugs.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.callstack.com/blog/migration-to-react-native-in-2026-starts-with-a-delivery-question" rel="noopener noreferrer"&gt;Migration to React Native in 2026 Starts With a Delivery Question&lt;/a&gt;: brownfield vs. greenfield migration is a choice around how you ship. Also, a useful take on where AI agents help the port - and where they don't.&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://configcat.com/blog/ab-testing-react-native-apps-with-feature-flags/?utm_source=thisweekinreact_newsletter&amp;amp;utm_medium=sponsor&amp;amp;utm_campaign=reactnative_20260805" rel="noopener noreferrer"&gt;ConfigCat - Run A/B Tests in React Native Apps with Feature Flags and Amplitude&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/mdjastrzebski/react-native-plain-text" rel="noopener noreferrer"&gt;React Native Plain Text&lt;/a&gt; - A faster, lower memory alternative to use for simple texts, currently limited to static, single-style text. It’s faster than RN’s core &lt;code&gt;\&amp;lt;Text\&amp;gt;\&lt;/code&gt; component, and also outperforms the raw &lt;code&gt;NativeText/RCTText&lt;/code&gt; according to 𝕏 &lt;a href="https://x.com/mdj_dev/status/2082461349196534119" rel="noopener noreferrer"&gt;the author's benchmark&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-enriched-html/releases/tag/v1.1.0%20" rel="noopener noreferrer"&gt;Enriched HTML 1.1 - Stable web support with full feature parity&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/invertase/react-native-firebase/blob/main/packages/app/CHANGELOG.md%20" rel="noopener noreferrer"&gt;React Native Firebase App 26.1 - migrated to turbo Modules, requires new architecture&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/kadiraydinli/react-native-system-navigation-bar/releases/tag/v3.0.0" rel="noopener noreferrer"&gt;React Native System Navigation Bar 3.0 - Rewritten on new architecture&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/sbaiahmed1/react-native-blur/releases/tag/v5.0.0" rel="noopener noreferrer"&gt;React Native Blur 5.0 - Requires new architecture and RN 0.80+, raw native components deprecated, added ref forwarding and react-native-web support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/getsentry/sentry-react-native/releases/tag/8.21.0%20" rel="noopener noreferrer"&gt;Sentry 8.21 - Improved session replay details&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/argent/releases/tag/v0.18.0" rel="noopener noreferrer"&gt;Argent 0.18 - Rotate directive for flow automation, single-element snapshot diffs, human-readable tool-server logging, CSS combinator flow selectors&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/voltra/releases/tag/v2.2.0" rel="noopener noreferrer"&gt;Voltra 2.2 - Improved build stability, runtime props support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/RevenueCat/react-native-purchases/releases/tag/10.6.0" rel="noopener noreferrer"&gt;React Native Purchases 10.6 - Supports multipage paywalls&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/appandflow/react-native-ease/releases/tag/v0.8.0" rel="noopener noreferrer"&gt;React Native Ease 0.8 - Initial velocity for spring transitions, iOS retain-cycle fix&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🤖 &lt;a href="https://appcontrolbench.swmansion.com/" rel="noopener noreferrer"&gt;AppControlBench - Compare models, tools, cost, and test runs across real iOS app-control tasks&lt;/a&gt; - AI benchmark comparing the performance of tools such as Argent and Agent-Device with various models.&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=fEn-PQXBp28" rel="noopener noreferrer"&gt;Callstack - Build a React Native News Agent With Eve&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://www.callstack.com/podcasts/visioncamera-v5-with-marc-rousavy" rel="noopener noreferrer"&gt;React Universe on Air - VisionCamera V5 With Marc Rousavy&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔀 Other
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;📣 &lt;a href="https://github.blog/changelog/2026-07-30-stacked-pull-requests-are-now-in-public-preview/" rel="noopener noreferrer"&gt;GitHub stacked PRs now in public preview&lt;/a&gt; - Adding native PR stacking with automatic base retargeting, partial merges, and official CLI (gh-stack) integration.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.bram.us/2026/07/30/styling-the-navigation-declarative-route-and-navigation-matching-in-css/" rel="noopener noreferrer"&gt;Declarative Route and Navigation Matching in CSS&lt;/a&gt; - A proposed W3C CSS spec that moves route-based view-transition logic out of JS.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://github.blog/security/supply-chain-security/disrupting-supply-chain-attacks-on-npm-and-github-actions/" rel="noopener noreferrer"&gt;Disrupting supply chain attacks on npm and GitHub Actions&lt;/a&gt; - Summary of the changes shipped across npm and GitHub Actions in the past few months, aimed to disrupt supply chain attack techniques and limit their impact.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://flueframework.com/blog/flue-2/" rel="noopener noreferrer"&gt;Flue 2.0 - “React for Agents”&lt;/a&gt; - introduces a hooks-based architecture (useModel, useTool, usePersistentState) that replaces static configuration with dynamic agents capable of swapping models and capabilities at runtime.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/solidjs/solid-start/discussions/2281" rel="noopener noreferrer"&gt;SolidStart 2.0 - Modernizes the foundation for building full-stack applications with Solid v1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://nodejs.org/en/blog/release/v24.19.0" rel="noopener noreferrer"&gt;Node 24.19 - Stabilized &lt;code&gt;stream.compose&lt;/code&gt;, new TLS/TCP configuration options, &lt;code&gt;--experimental-import-text flag&lt;/code&gt;, custom buffers in &lt;code&gt;fs.readFile()&lt;/code&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://scriptc.dev/" rel="noopener noreferrer"&gt;scriptc - Compile TypeScript to tiny native binaries (no Node/V8)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/vitejs/vite/blob/v8.2.0/packages/vite/CHANGELOG.md#820-2026-07-30" rel="noopener noreferrer"&gt;Vite 8.2 - Top-level &lt;code&gt;input&lt;/code&gt; option (bypassing &lt;code&gt;build.rolldownOptions&lt;/code&gt;), warns for unsupported native loader features, PostCSS config types, and dev URLs labeled by interface&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/honojs/hono/releases/tag/v4.13.0" rel="noopener noreferrer"&gt;Hono 4.13 - Up to 1.25x perf gains, adds HTTP QUERY method support, a Method Not Allowed middleware, and various improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://pnpm.io/blog/releases/11.20" rel="noopener noreferrer"&gt;pnpm 11.20 - Fixes multi-registry package substitution vulnerability with registry-qualified keys&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤭 Fun
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://x.com/damovisa/status/2082945188578882026/photo/1" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%2Femails%2Fissues%2F293%2Fmeme.jpg" alt="alt"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See ya! 👋&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactnative</category>
    </item>
    <item>
      <title>This Week In React #292 : Octane, TanStack, StableRef, Next.js | Workers, SafeAreaView, backgroundImage, WebGPU | TC39, Web Vitals</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Fri, 31 Jul 2026 16:03:06 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-292-octane-tanstack-stableref-nextjs-workers-safeareaview-55bp</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-292-octane-tanstack-stableref-nextjs-workers-safeareaview-55bp</guid>
      <description>&lt;p&gt;Hi everyone, &lt;a href="https://x.com/sebastienlorber" rel="noopener noreferrer"&gt;Seb&lt;/a&gt; and &lt;a href="https://x.com/jaworek3211" rel="noopener noreferrer"&gt;Jan&lt;/a&gt; here 👋!&lt;/p&gt;

&lt;p&gt;This week we have an interesting React challenger, keeping its mental model but compiled ahead of time. Also various major announcements from the TanStack side.&lt;/p&gt;

&lt;p&gt;On the mobile side, we have interesting RN 0.87 PRs to look at, discussions around workers / worklets, a WebGPU/Skia integration, and React Navigation 8 / Screens 5 progress.&lt;/p&gt;

&lt;p&gt;Last week, many proposals progressed during a TC39 meeting. npm is going to scan for malware at publish time. Core Web Vitals will now measure SPA soft navigation.&lt;/p&gt;

&lt;p&gt;Let's dive in!&lt;/p&gt;




&lt;p&gt;💡 Subscribe to the official newsletter to receive an email every week!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" alt="banner"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q3&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flkaurt02oufd010l76yw.jpg" alt="Ship AI generated code safely with Meticulous."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q3&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Ship AI generated code safely with Meticulous.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Claude writes your code. Claude&amp;nbsp;reviews your code. Claude fixes the review comments. And somehow, &lt;em&gt;you're&lt;/em&gt; the one getting paged at 2am when it breaks in prod.&lt;/p&gt;

&lt;p&gt;Fortunately, top AI-driven teams like Dropbox, Notion, LaunchDarkly, and Wiz&amp;nbsp;rely on&amp;nbsp;Meticulous&amp;nbsp;to run&amp;nbsp;1000s of e2e UI tests autonomously, covering&amp;nbsp;every user flow, edge case, role and permutation. Built by ex-Palantir engineers,&amp;nbsp;&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q3&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Meticulous gives you near-exhaustive coverage in weeks, without any developer&amp;nbsp;effort&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;It works like magic in the background:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Near-exhaustive coverage on every test run&lt;/li&gt;
&lt;li&gt;No test creation&lt;/li&gt;
&lt;li&gt;No maintenance (seriously)&lt;/li&gt;
&lt;li&gt;Zero flakes (built on a deterministic browser)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Check it out&lt;/strong&gt; -&amp;nbsp;and see why one engineering leader at Dropbox said that “&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q3&amp;amp;utm_content=1st#:~:text=Once%20we%20started%20using%20Meticulous%2C%20we%20couldn%27t%20imagine%20working%20without%20it." rel="noopener noreferrer"&gt;once we started using Meticulous, we couldn’t imagine working without it&lt;/a&gt;.”&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚛️ React
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://octanejs.dev/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%2Femails%2Fissues%2F292%2Foctane.jpg" alt="Octane – React's programming model, compiled"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://octanejs.dev/" rel="noopener noreferrer"&gt;Octane – React's programming model, compiled&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Dominic Gannaway – former React/Svelte team member, creator of Inferno – unveiled his new project, Octane, as a successor to Inferno.&lt;/p&gt;

&lt;p&gt;It keeps React’s programming model, but compiles Hooks, Suspense, and Actions ahead of time. It improves performance, removing the Virtual DOM and using native browser events. You don’t need to respect the rules of hooks or to maintain dependency arrays manually. You can use it with JSX/TSX, but it also supports &lt;a href="https://tsrx.dev/" rel="noopener noreferrer"&gt;TSRX&lt;/a&gt; to improve your developer experience.&lt;/p&gt;

&lt;p&gt;This looks like a quite serious React challenger using the same mental model, already receiving contributions from maintainers of popular project. It comes from day 1 with integrations for libraries such as TanStack, React Three Fiber, Lynx, StyleX, NativeScript, and more.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://blog.sentry.io/logging-best-practices/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=logs-fy27q2-evergreen&amp;amp;utm_content=newsletter-react-link-logging-blog-learnmore" rel="noopener noreferrer"&gt;Sentry - Stop logging everything. Learn what's worth capturing and how to structure it properly.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://preview.nextjs.org/docs/app/guides/offline-support" rel="noopener noreferrer"&gt;Next.js docs preview - Offline support&lt;/a&gt; - With &lt;code&gt;experimental.useOffline&lt;/code&gt; enabled, Next.js will no longer throw when the network is down, keeping requests pending with a retry.&lt;/li&gt;
&lt;li&gt;🗓️ &lt;a href="https://reactadvanced.com/?utm_source=thisweekinreact" rel="noopener noreferrer"&gt;React Advanced London&lt;/a&gt;&amp;nbsp;-&amp;nbsp;🇬🇧&amp;nbsp;London - 23 &amp;amp; 26 Oct. First speakers announced:&amp;nbsp;TanStack Maintainer, Engineer at Vercel, Apollo TypeScript Client maintainer &amp;amp; more.&amp;nbsp;All in a historic ex-brewery. Get 10% off with code "TWIR".&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tanstack.com/blog/we-stopped-using-rsc-on-tanstack-com" rel="noopener noreferrer"&gt;TanStack - We Stopped Using RSC on&lt;/a&gt; &lt;a href="http://TanStack.com" rel="noopener noreferrer"&gt;TanStack.com&lt;/a&gt; - Tanner explains why the TanStack website adopted RSC in the first place, keeping heavy dependencies like the Shiki syntax highlighter on the server. But the maths change if the heavy libraries become smaller: it’s better to use SSR, ship a small lib once and render multiple times on the client than to render each blog post on the server and ship an RSC/Flight payload. To achieve better performance with SSR, TanStack had to introduce 2 new deliberately small projects: &lt;a href="https://tanstack.com/blog/introducing-tanstack-markdown-and-highlight" rel="noopener noreferrer"&gt;TanStack Markdown and TanStack Highlight&lt;/a&gt;, available in alpha. In TanStack Start, you can freely decide to use SSR or RSC when it makes sense.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.jovidecroock.com/blog/referential-stability-types/" rel="noopener noreferrer"&gt;Making Referential Stability a Type&lt;/a&gt; - A really cool idea to tag memoized values directly in the type system with &lt;code&gt;Stable&amp;lt;T&amp;gt;&lt;/code&gt;. With &lt;code&gt;stableref/react&lt;/code&gt;, you can enforce APIs to use memoized values and get compilation errors if props or dependency array elements are not memoized.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://aurorascharff.no/posts/experimenting-with-rsc-for-performance-and-ux-in-nextjs/" rel="noopener noreferrer"&gt;Experimenting with RSCs for Performance and UX in Next.js&lt;/a&gt; - 3 Next.js 16.3 experiments to keep work on the server: pagination via &lt;code&gt;?page=&lt;/code&gt;, a search field that keeps focus while results stream, JSX from actions.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://xabierlameiro.com/blog/nextjs/nextjs-memory-leak-in-production" rel="noopener noreferrer"&gt;How to find a Next.js memory leak in production&lt;/a&gt; - 3 memory leaks in Next.js and how to spot each in heap snapshots. These have recently been fixed by Dan Abramov for v16.3.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://dx-styles.dev/blog/state-of-zero-runtime-css-in-js/" rel="noopener noreferrer"&gt;The state of zero-runtime CSS-in-JS, mid-2026&lt;/a&gt; - A recent field map of compile-time CSS-in-JS covering Vanilla-Extract, Panda CSS, StyleX, next-yak, Linaria, dx-styles.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://sergiodxa.com/tutorials/think-in-remix-ui-instead-of-react" rel="noopener noreferrer"&gt;How to Think in Remix UI Instead of React&lt;/a&gt; - A pragmatic intro to Remix v3 from a React perspective. Components run once, return a render closure, and you re-render with &lt;code&gt;this.update()&lt;/code&gt;. This gives you more control than React hooks, but requires more boilerplate.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://infrequently.org/2026/07/state-management/" rel="noopener noreferrer"&gt;The Absolute State of Management&lt;/a&gt; - Alex Russel argues React's state management libs don't manage state; they only propagate it with pub/sub. Real state management needs time and ordering: CRDTs, sync engines, vector clocks.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://canvasui.dev/" rel="noopener noreferrer"&gt;Canvas UI - Creative components based on WebGPU and HTML-in-canvas&lt;/a&gt; - A cool project for creative work. Framework-agnostic, coming with first-class React integration.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://tanstack.com/table/beta/docs/framework/react/guide/cell-selection" rel="noopener noreferrer"&gt;TanStack Table v9 beta.58 - Support Cell Selection and Keyboard Navigation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v830" rel="noopener noreferrer"&gt;React Router 8.3 - RSC Entry Updates&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstack/reassure/releases/tag/reassure%401.6.0" rel="noopener noreferrer"&gt;Reassure 1.6 - Performance testing for React and React Native - Stability measures&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/facebook/astryx/releases#release-v0.1.9" rel="noopener noreferrer"&gt;Astryx 0.1.8 &amp;amp; 0.1.9&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=2aKGR4RECj0" rel="noopener noreferrer"&gt;Jack Herrington - TanStack is Doing What?&lt;/a&gt; - Stream announcing TanStack changes with guests. &lt;a href="https://tanstack.com/blog/tanstack-has-a-new-look" rel="noopener noreferrer"&gt;TanStack now has a new look&lt;/a&gt;, a design system, and a lead designer.&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=B_w1xFbRvCg" rel="noopener noreferrer"&gt;Shruti Kapoor - React Debugging with Performance Tracks&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://surveyjs.io/?utm_source=this-week-in-react&amp;amp;utm_medium=email" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%2Femails%2Fissues%2F292%2Fsurveyjs.jpg" alt="Stop Rebuilding Forms for Every Business Change"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://surveyjs.io/?utm_source=this-week-in-react&amp;amp;utm_medium=email" rel="noopener noreferrer"&gt;Stop Rebuilding Forms for Every Business Change&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hardcoded forms create a costly cycle: every new field, workflow, validation rule or customer-specific variation becomes another development task, code review and deployment.&lt;/p&gt;

&lt;p&gt;SurveyJS breaks that cycle. Developers &lt;a href="https://surveyjs.io/try/reactjs" rel="noopener noreferrer"&gt;embed a JSON-powered form builder&lt;/a&gt; and reusable form runtime into their React application once. Business teams can then create and update forms through configuration rather than application code.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ship new forms faster&lt;/li&gt;
&lt;li&gt;Reduce repetitive frontend work&lt;/li&gt;
&lt;li&gt;Launch form changes without waiting for a release cycle&lt;/li&gt;
&lt;li&gt;Keep full control over your backend, data, security, and branding&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your developers own the platform. Your business teams manage the forms. 🙂&lt;/p&gt;




&lt;h2&gt;
  
  
  📱 React-Native
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-jul29" rel="noopener noreferrer"&gt;PostHog - The do's and don'ts of minimum viable product marketing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💬 &lt;a href="https://github.com/react-native-community/discussions-and-proposals/pull/1014" rel="noopener noreferrer"&gt;React Native RFC - CSS &lt;code&gt;calc()&lt;/code&gt; in React Native&lt;/a&gt; - A proposal to add a C++ implementation, so host platforms do not need to be aware of its existence. Aligns more closely with the web, avoiding &lt;code&gt;onLayout&lt;/code&gt; and useless render passes.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/react/react-native/pull/57500" rel="noopener noreferrer"&gt;React Native PR - Add SafeAreaProvider, safe-area hooks, and SafeAreaView edges/mode&lt;/a&gt; - 2 recent PRs show that SafeAreaView will either be removed from core, or improved to catch up with &lt;code&gt;react-native-safe-area-context&lt;/code&gt; features. We are still not sure which PR will be merged; stay tuned.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/software-mansion/react-native-screens/releases/tag/5.0.0-alpha.1" rel="noopener noreferrer"&gt;RN Screens 5.0 Alpha - Rewritten Stack implementation, Android based on Material Design 3&lt;/a&gt; - The first release of an upcoming rewrite of RN Screens. The redesign of the Native Stack addresses shortcomings of the v4 model and will be an important piece for React Navigation v8.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/react/react-native-website/pull/5191" rel="noopener noreferrer"&gt;React Native PR - &lt;code&gt;backgroundImage&lt;/code&gt; stable in RN 0.87&lt;/a&gt; - linear and radial gradients will officially work without the need for 3rd-party dependencies.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/react-navigation/react-navigation/pull/13195" rel="noopener noreferrer"&gt;React Navigation PR - v8 will work on Web without React Native Web&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📖 &lt;a href="https://reactnavigation.org/docs/8.x/suspense/" rel="noopener noreferrer"&gt;React Navigation 8 - New docs on Suspense and pending UI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/deferred-deep-linking-the-right-way" rel="noopener noreferrer"&gt;From Expo Router to Detour: Deferred deep linking the right way&lt;/a&gt; - Standard deep links break at the store boundary, causing an Installation Gap when the app is not installed yet. The solution is to use deferred deep linking to capture user intent and replay it on the app’s first launch.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://x.com/mrousavy/status/2080675696335077457" rel="noopener noreferrer"&gt;Marc Rousavy just wanted to build react-native libraries but ended up fixing bugs in Apple/Swift compiler...&lt;/a&gt; - A compiler bug caused iOS 16 to crash the app in production. The optimizer hoisted a weakly imported constant above its &lt;code&gt;#available&lt;/code&gt; guard. Although the issue is real, it was possible to work around it, requiring an upstream compiler fix.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/app-variants-side-by-side" rel="noopener noreferrer"&gt;Install dev and production side by side with app variants&lt;/a&gt; - A guide to setting up app variants for improved dev experience.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://andrei-calazans.com/posts/2026-07-28-mmkv-writes-worklet-serialization-cost/" rel="noopener noreferrer"&gt;Why We Did Not Move MMKV Writes to a Worklet: The Serialization Cost&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://configcat.com/blog/using-feature-flags-in-react-native/?utm_source=thisweekinreact_newsletter&amp;amp;utm_medium=sponsor&amp;amp;utm_campaign=reactnative_202607" rel="noopener noreferrer"&gt;ConfigCat - Release React Native Features with Feature Flags, Without Redeploying&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://ammarahm-ed.github.io/react-native-workers/blog/introducing-react-native-workers/" rel="noopener noreferrer"&gt;RN Workers 1.0 Alpha&lt;/a&gt; - Separate Hermes runtimes created on a dedicated thread to enable real multithreading. Each worker has its own bundle. Communication between them is using messages via a structured-clone codec. This &lt;a href="https://x.com/tjzeldev/status/2081673853831430226" rel="noopener noreferrer"&gt;discussion&lt;/a&gt; explain differences with Worklets. Hermes also &lt;a href="https://x.com/tmikov/status/2081759040087151082" rel="noopener noreferrer"&gt;supports WebWorkers&lt;/a&gt; out of the box (unstable) that will be in a public release soon.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://wcandillon.github.io/react-native-webgpu/docs/integrations/react-native-skia" rel="noopener noreferrer"&gt;React Native WebGPU 0.7 - &lt;code&gt;importDevice()&lt;/code&gt;&lt;/a&gt; - This lets you import the RN Skia Graphite WebGPU device. It’s the foundation for zero-copy interop between the two worlds, letting you use WebGPU textures in Skia efficiently.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/Shopify/react-native-skia/releases/tag/v2.10.0" rel="noopener noreferrer"&gt;Skia 2.10 - Migrates from HostObject to JSI NativeState, requires Reanimated v4&lt;/a&gt; - Related: Tzvetan Mikov previously explained &lt;a href="https://x.com/tmikov/status/1820266381545468200" rel="noopener noreferrer"&gt;why the Hermes team strongly favors JSI NativeState over HostObject&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/mrousavy/react-native-vision-camera/releases/tag/v5.2.0" rel="noopener noreferrer"&gt;VisionCamera 5.2 - New SkiaCamera controls (zoom, exposure, torch), stretch GPU Resizer mode&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/mrousavy/nitro/releases#release-v0.36.3" rel="noopener noreferrer"&gt;Nitro 0.36.2 &amp;amp; 0.36.3 - Faster Record&amp;lt;K,V&amp;gt; conversion, RN 0.87 support, drops @FastNative from Sync callbacks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://www.mercuretechnologies.com/blog/expo-open-ota-v3" rel="noopener noreferrer"&gt;Expo Open OTA 3.0 - Self-hosted Expo Updates server with multi-app, rollouts, A/B testing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/argent/releases/tag/v0.17.0" rel="noopener noreferrer"&gt;Argent 0.17 - Screen recording tools, pinch gesture, Windows support for Android and Chromium&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/adithyavis/react-native-canvas-kit" rel="noopener noreferrer"&gt;Canvas Kit - A batteries-included 2D canvas framework built on RN Skia&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://thoughtbot.com/blog/sign-in-with-google-for-react-native" rel="noopener noreferrer"&gt;React Native Social Auth - Sign in with Google for Android, iOS, Expo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/mdjastrzebski/react-native-memory-footprint" rel="noopener noreferrer"&gt;Memory Footprint - Measure React Native app's memory footprint on iOS and Android&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://maestro.dev/blog/maestro-cli-2-7-0" rel="noopener noreferrer"&gt;Maestro 2.7 - MCP tool to debug Cloud runs with your AI agent, per-flow debug artifacts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/radon-ide/releases/tag/v1.18.0" rel="noopener noreferrer"&gt;Radon 1.18 - Send props, styles, state &amp;amp; errors from element inspector to AI chat context&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstack/agent-device/releases/tag/v0.20.1" rel="noopener noreferrer"&gt;Agent Device 0.20.1 - Vega OS support, broader physical iOS support, secret-safe replay and recording improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://screen-transitions.esjr.org/changelog/updating-to-3-9" rel="noopener noreferrer"&gt;Screen Transitions 3.9 - Teleport-powered handoff and escapeClipping, simplified Boundary API, navigation zoom&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/getsentry/sentry-react-native/releases/tag/8.20.0" rel="noopener noreferrer"&gt;Sentry 8.20 - iOS screenshot regression fix, Gradle Configuration Cache compatibility&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/margelo/react-native-nitro-fetch/releases/tag/v1.5.3" rel="noopener noreferrer"&gt;Nitro Fetch 1.5.3 - 3x faster streaming via shared URLSession&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🤖 &lt;a href="https://maestro.dev/blog/maestro-mcp-for-ai-coding-agents" rel="noopener noreferrer"&gt;Maestro CLI 2.7 - MCP for AI Coding Agents&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=3r_OHePTCcI" rel="noopener noreferrer"&gt;Expo - How to add an iOS Widget to your app&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://infinite.red/react-native-radio/rnr-368-rnr-explains-fabric" rel="noopener noreferrer"&gt;RNR 368 - RNR Explains: Fabric&lt;/a&gt; - A look into how the Fabric renderer works. How it speeds up mobile apps and unlocks concurrent React features.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔀 Other
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🦋 &lt;a href="https://bsky.app/profile/tc39.es/post/3mrdjr6uq2t2i" rel="noopener noreferrer"&gt;TC39 advanced &lt;code&gt;Promise.allKeyed&lt;/code&gt;, &lt;code&gt;Error.code&lt;/code&gt;, &lt;code&gt;Map.take&lt;/code&gt;, RegExp Linear Matching, and more&lt;/a&gt; - I reply and explain why I’m excited about &lt;code&gt;allKeyed&lt;/code&gt;, RegExp Linear Matching, and Composites moving to an interning-based approach (getting closer to the former Records &amp;amp; Tuples proposal).&lt;/li&gt;
&lt;li&gt;📣 &lt;a href="https://developer.chrome.com/docs/web-platform/soft-navigations" rel="noopener noreferrer"&gt;Core Web Vitals - Measuring soft navigations&lt;/a&gt; - Measuring SPA soft navigations (page transitions with &lt;code&gt;history.pushState&lt;/code&gt;) will be enabled by default in Chrome 151, and integrated into DevTools, the &lt;code&gt;web-vitals&lt;/code&gt; package, Lighthouse, PageSpeed Insights, and Real User Monitoring tools.&lt;/li&gt;
&lt;li&gt;📣 &lt;a href="https://github.blog/changelog/2026-07-28-npm-publish-time-malware-scanning-and-dual-use-metadata/" rel="noopener noreferrer"&gt;GitHub - npm publish-time malware scanning and dual-use metadata&lt;/a&gt; - Newly published packages will be automatically scanned before they become available, introducing a delay of 5-15 minutes between publishing and availability.&lt;/li&gt;
&lt;li&gt;📊 &lt;a href="https://2026.stateofcss.com/en-US" rel="noopener noreferrer"&gt;State of CSS - Survey results&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://nitayneeman.com/blog/introducing-import-defer-in-ecmascript/" rel="noopener noreferrer"&gt;ECMAScript Deferred Module Evaluation with &lt;code&gt;import defer&lt;/code&gt;&lt;/a&gt; - This lazy module evaluation feature is stage 3, already implemented in most tools, and close to becoming part of the standard.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://denodell.com/blog/your-spa-is-leaking-memory-soak-test-it" rel="noopener noreferrer"&gt;Your SPA Is Leaking Memory. Soak Test It&lt;/a&gt; - A practical Playwright recipe to catch SPA memory leaks. Loop a user flow, read Chrome's node/listener counts before and after, assert.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/microsoft/playwright/releases/tag/v1.62.0" rel="noopener noreferrer"&gt;Playwright 1.62 - New component testing model, AbortSignal, WebP screenshots, isolated retries&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://webpack.js.org/blog/2026-07-24-webpack-5-109/" rel="noopener noreferrer"&gt;Webpack 5.109 - Built-in CSS, HTML, TypeScript support enabled by default, Vite-compatible &lt;code&gt;import.meta&lt;/code&gt; APIs, asset query suffixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/153" rel="noopener noreferrer"&gt;Firefox 153 - Picture-in-Picture, import as text, popover="hint"&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤭 Fun
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://x.com/awesomekling/status/2079559664249819452" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%2Femails%2Fissues%2F292%2Fmeme.jpg" alt="alt"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See ya! 👋&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactnative</category>
    </item>
    <item>
      <title>This Week In React #288 : Next.js, React Compiler, use(), Astryx | Expo, VisionCamera, Windows, Rollipop, LegendList | Node.js, pnpm, TS, Prettier</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Fri, 03 Jul 2026 12:25:08 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-288-nextjs-react-compiler-use-astryx-expo-visioncamera-windows-32e8</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-288-nextjs-react-compiler-use-astryx-expo-visioncamera-windows-32e8</guid>
      <description>&lt;p&gt;Hi everyone, &lt;a href="https://x.com/sebastienlorber" rel="noopener noreferrer"&gt;Seb&lt;/a&gt; and &lt;a href="https://x.com/jaworek3211" rel="noopener noreferrer"&gt;Jan&lt;/a&gt; here 👋!&lt;/p&gt;

&lt;p&gt;This week, the Next.js 16.3 preview makes the headlines, while the React Compiler remains a hot topic.&lt;/p&gt;

&lt;p&gt;On the React Native side, Expo unexpectedly shipped a new SDK.&lt;/p&gt;

&lt;p&gt;Let's dive in!&lt;/p&gt;




&lt;p&gt;💡 Subscribe to the official newsletter to receive an email every week!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" alt="banner" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1stjul" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flkaurt02oufd010l76yw.jpg" alt="Ship AI generated code safely with Meticulous." width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1stjul" rel="noopener noreferrer"&gt;Ship AI generated code safely with Meticulous.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Claude writes your code. Claude reviews your code. Claude fixes the review comments. And somehow, &lt;em&gt;you're&lt;/em&gt; the one getting paged at 2am when it breaks in prod.&lt;/p&gt;

&lt;p&gt;Fortunately, top AI-driven teams like Dropbox, Notion, LaunchDarkly, and Wiz rely on Meticulous to run 1000s of e2e UI tests autonomously, covering every user flow, edge case, role and permutation. Built by ex-Palantir engineers, &lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Meticulous gives you near-exhaustive coverage in weeks, without any developer effort&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;It works like magic in the background:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Near-exhaustive coverage on every test run&lt;/li&gt;
&lt;li&gt;No test creation&lt;/li&gt;
&lt;li&gt;No maintenance (seriously)&lt;/li&gt;
&lt;li&gt;Zero flakes (built on a deterministic browser)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Check it out&lt;/strong&gt; - and see why one engineering leader at Dropbox said that “&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st#:~:text=Once%20we%20started%20using%20Meticulous%2C%20we%20couldn%27t%20imagine%20working%20without%20it." rel="noopener noreferrer"&gt;once we started using Meticulous, we couldn’t imagine working without it&lt;/a&gt;.”&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚛️ React
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://nextjs.org/blog/next-16-3-instant-navigations" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2zy01na9yj0pb0srh4cj.jpg" alt="Next.js 16.3 Preview - Instant Navigations" width="799" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://nextjs.org/blog/next-16-3-instant-navigations" rel="noopener noreferrer"&gt;Next.js 16.3 Preview - Instant Navigations&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Next.js 16.3 is now in preview and will be stabilized in the coming weeks. This sneak peek focuses on a new opt-in feature called Instant Navigations, improving on top of Cache Components. This addresses the loudest criticism of the App Router: server-driven navigations feel like clicking a website, not an app.&lt;/p&gt;

&lt;p&gt;With this new feature, you will have to make a very explicit choice whenever you &lt;code&gt;await&lt;/code&gt; some data on the server, nicely presented in an Instant Insights dev panel to surface slow navigations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stream with &lt;code&gt;&amp;lt;Suspense&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Cache with &lt;code&gt;’use cache’&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Block with &lt;code&gt;export const instant = false;&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There’s more:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Playwright &lt;code&gt;instant()&lt;/code&gt; test helper - Assert what must be instantly visible after a link click.&lt;/li&gt;
&lt;li&gt;Partial Prefetching - Instead of prefetching a page per link in the viewport, Next.js will now prefetch a reusable shell per route. You can still prefetch links more aggressively (opt-in).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Also related:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🦋 &lt;a href="https://bsky.app/profile/danabra.mov/post/3mp5b3nd3ws2k" rel="noopener noreferrer"&gt;Dan Abramov joined the Next.js team at Vercel, part-time&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://nextjs.org/blog/next-16-3-ai-improvements" rel="noopener noreferrer"&gt;Next.js 16.3: AI Improvements&lt;/a&gt; - Bundled docs, first-party skills, Agent Browser with React introspection, actionable errors, improved MCP server, and docs as Markdown.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://nextjs.org/blog/next-16-3-turbopack" rel="noopener noreferrer"&gt;Turbopack: What's New in Next.js 16.3&lt;/a&gt; - Reducing dev server memory by up to 90%, up to 5.5x faster rebuilds with persistent cache, experimental React Compiler in Rust, &lt;code&gt;import.meta.glob&lt;/code&gt; API, faster HMR and dev startup.&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;🗓️ &lt;a href="https://reactsummit.us/?utm_source=thisweekinreact" rel="noopener noreferrer"&gt;React Summit US&lt;/a&gt; - 🇺🇸 New York - 17 &amp;amp; 20 Nov. Call for Papers is open until July 9! Don't miss your chance to share your React stories on stage. Get a 10% discount with code "TWIR".&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://react.dev/reference/react/use" rel="noopener noreferrer"&gt;React Docs - &lt;code&gt;use()&lt;/code&gt; API Reference&lt;/a&gt; - This React API docs page has been entirely rewritten, also explaining important concepts such as how Promises must be cached on the client.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/jsx-eslint/eslint-plugin-react/pull/3979" rel="noopener noreferrer"&gt;ESLint Plugin React - ESLint v10 compatibility progress&lt;/a&gt; - React users of this ESLint plugin have been stuck on ESLint v9 for a while. Thankfully, v10 support has just been merged into the Import plugin, which should also unlock the React plugin compatibility.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://vercel.com/blog/vercel-and-shopify-are-rebuilding-hydrogen" rel="noopener noreferrer"&gt;Vercel and Shopify are rebuilding Hydrogen&lt;/a&gt; - Vercel is helping Shopify improve its proprietary Hydrogen e-commerce framework. Initially based on React/Remix, the new version should be more portable, supporting Svelte, Nuxt, Next.js, and various server runtimes.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://socket.dev/blog/rolldown-pulls-rust-react-compiler-integration" rel="noopener noreferrer"&gt;Rolldown Pulls Rust React Compiler Integration After Binary Size Increase&lt;/a&gt; - Nicely summarize the tradeoffs of integrating Rust extensions in frontend tools, and whether it’s a good idea for a framework-agnostic tool to have a first-class integration with React. Oxc blocked the integration until it’s slimmed down (in progress), while Rspack chose to ship the Compiler now and optimize incrementally.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://longho.dev/posts/react-compiler-is-a-retrofit/" rel="noopener noreferrer"&gt;React Compiler Is A Retrofit&lt;/a&gt; - Argues that, unlike Solid/Svelte, the React Compiler optimizes a runtime model that was not initially designed around a compiler. It can increase bundle size and make the memoization contract of your APIs less explicit. It is safer to use it as a linter rather than a compiler.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://neciudan.dev/hydration-and-rendering-strategies" rel="noopener noreferrer"&gt;Different hydration and rendering strategies&lt;/a&gt; - Explains how much JS runs between "looks ready" and "actually works", across every rendering strategy, including non-React ones.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://howtotestfrontend.com/resources/react-testing-interview-questions" rel="noopener noreferrer"&gt;React Testing Questions That Trip Up Engineers&lt;/a&gt; - Covering the role of &lt;code&gt;act()&lt;/code&gt;, testing implementation details, overmocking, and challenges like testing IntersectionObserver or drag-and-drop.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://sergiodxa.com/tutorials/open-a-modal-dialog-in-react-with-the-invoker-commands-api" rel="noopener noreferrer"&gt;Open a Modal Dialog in React with the Invoker Commands API&lt;/a&gt; - For simple modal dialogs, modern browsers support opening/closing of a &lt;code&gt;&amp;lt;dialog&amp;gt;&lt;/code&gt; with a declarative HTML API, no need for &lt;code&gt;useState()&lt;/code&gt; nor any JS.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://astryx.atmeta.com/" rel="noopener noreferrer"&gt;Astryx - Meta’s open-source design system, built on React and StyleX&lt;/a&gt; - Meta released an OSS beta version of their design system, built over 8 years and powering 13000+ internal apps, using StyleX atomic CSS-in-JS library. It’s not a headless lib, but highly themable with design tokens and the ability to eject the components to customize them entirely.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://rspack.rs/blog/announcing-2-1" rel="noopener noreferrer"&gt;Rspack 2.1 - React Compiler in Rust, TanStack Start support, perf improvements, TypeScript 7, &lt;code&gt;import.meta.glob()&lt;/code&gt;, and more&lt;/a&gt; - Rspack now has a first-class integration with the React Compiler through SWC, reporting it being 7-13x faster than the Babel version. Also, TanStack Start now supports Rsbuild 2.1 through a plugin.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://ui.shadcn.com/docs/changelog/2026-06-chat-components" rel="noopener noreferrer"&gt;shadcn/ui - Chat interface components, &lt;code&gt;@shadcn/react&lt;/code&gt;&lt;/a&gt; - This Chat UI update also takes the opportunity to introduce a new package for unstyled, headless React components. For now, there’s only a single &lt;code&gt;&amp;lt;MessageScroller&amp;gt;&lt;/code&gt; primitive, but more could come later?&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://storybook.js.org/blog/storybook-for-tanstack-react/" rel="noopener noreferrer"&gt;Storybook for TanStack React&lt;/a&gt; - A dedicated Storybook framework for TanStack-powered React apps. This provides first-class, type-safe support for TanStack Router, Start, and Query.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://takumi.kane.tw/" rel="noopener noreferrer"&gt;Takumi 2.0 RC - Render JSX to images with a single Rust binary&lt;/a&gt; - A quite compelling alternative to Satori.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/cloudflare/vinext/releases/tag/vinext%400.2.0" rel="noopener noreferrer"&gt;Vinext 0.2 - Revamped init command, prerender, image optimizations, fixes&lt;/a&gt; - Cloudflare’s fork of Next.js has been under active development since its initial announcement.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v810" rel="noopener noreferrer"&gt;React-Router 8.1 - Agent Skills Installation, Observability Metadata&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/47ng/nuqs/releases/tag/v2.9.0" rel="noopener noreferrer"&gt;nuqs 2.9 - Support for React-Router v8, add history to adapters &lt;code&gt;defaultOptions&lt;/code&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://frondruntime.dev/" rel="noopener noreferrer"&gt;Frond - Effect-powered frontend runtime for React and MobX-facing application state&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/redwoodjs/sdk/releases/tag/v1.5.0" rel="noopener noreferrer"&gt;RedwoodSDK 1.5 - Vite 8 support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://codetv.dev/series/build-log/miami/tanner-linsley" rel="noopener noreferrer"&gt;The Build Log S1E02 - Tanner Linsley Built TanStack to Outlive Him&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://marmelab.com/atomic-crm/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feus80zb7n2p8gvaj1j40.jpg" alt="Atomic CRM: A CRM you won’t be ashamed of" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://marmelab.com/atomic-crm/" rel="noopener noreferrer"&gt;Atomic CRM: A CRM you won’t be ashamed of&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Your company needs a new CRM? Point them to a popular open-source CRM written in React, built with battle-tested libraries (Tailwind CSS, react-router, TanStack Query, react-hook-form) and powered by Supabase.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Best of all: for every customization they'll need, you can delegate the work to Atomic CRM's agentic harness, an AI specially trained to build robust, maintainable and usable CRMs.&lt;/p&gt;

&lt;p&gt;By the way, Atomic CRM ships with free SSO and you can host it anywhere, so your data stays yours. &lt;a href="https://marmelab.com/atomic-crm/" rel="noopener noreferrer"&gt;Check out the demos!&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📱 React-Native
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://expo.dev/changelog/sdk-57" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1csvqxgklphpis60w8w8.jpg" alt="Expo SDK 57" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://expo.dev/changelog/sdk-57" rel="noopener noreferrer"&gt;Expo SDK 57&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It feels like Expo SDK 56 just got released, and we’re already on SDK 57, even skipping the beta phase!?&lt;/p&gt;

&lt;p&gt;Since RN 0.86 got released with no breaking changes, the Expo team decided to cut the new release sooner than usual. It’s a test of a new release cadence that will follow RN releases more closely. React Native’s move towards stability should make it easier to offer the latest changes almost immediately. Why not do it as a part of the SDK 56 update, then? There are still many changes, and it’s better to make the upgrade intentional to avoid unexpected errors.&lt;/p&gt;

&lt;p&gt;RN 0.86 features are now available in Expo: first-class edge-to-edge support on Android, light/dark mode emulation in React Native DevTools, and rendering, layout, and animation fixes. Expo 57 also comes with a list of various Expo-related improvements.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-jul1" rel="noopener noreferrer"&gt;PostHog - Karpathy's Autoresearch found a 3-year-old bug in our query engine (and improved performance by 11%)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/expo/expo/pull/47207" rel="noopener noreferrer"&gt;Expo PR - App Intents - iOS Apple Intelligence, App Shortcuts, Siri&lt;/a&gt; - An early plan and work to support intents in Expo with data provided from JS.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://expo.dev/changelog/maestro-testing-improvements" rel="noopener noreferrer"&gt;Expo Workflow - Maestro Testing: Insights, Clearer Results, and Faster Retries&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📖 &lt;a href="https://www.callstack.com/ebooks/the-ultimate-guide-to-react-native-optimization" rel="noopener noreferrer"&gt;Callstack - Ultimate Guide to React Native Optimization - 2026 Edition&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🗓️ &lt;a href="https://ti.to/chainreact/chainreact2026/discount/TWIR" rel="noopener noreferrer"&gt;Chain React&lt;/a&gt; - 🇺🇸 Portland - 30-31 July. Last call to secure your ticket! Join the React Native community for 2 days of amazing talks and networking. Get a 15% discount with code "TWIR".&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.callstack.com/blog/less-boilerplate-more-type-safety-react-navigation-8s-typed-hooks" rel="noopener noreferrer"&gt;Less Boilerplate, More Type Safety: React Navigation 8's Typed Hooks&lt;/a&gt; - Explaining hooks type-safety improvements coming in React Navigation v8, a significant upcoming release currently in alpha.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://blog.margelo.com/profiling-skia-reanimated-low-end-android" rel="noopener noreferrer"&gt;Chasing a Phantom Jump: How We Made Pingo's Animations Smooth on Low-End Android&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.callstack.com/blog/how-expensify-uses-agent-device-for-mobile-bug-evidence-and-profiling" rel="noopener noreferrer"&gt;How Expensify Uses Agent-Device for Mobile Bug Evidence and Profiling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://lynxjs.org/next/blog/lynx-rspack-2" rel="noopener noreferrer"&gt;Lynx × Rspack 2.0: Faster, Smaller, Closer to the Web&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://www.drizz.dev?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=twir_w2&amp;amp;utm_content=rn-testing" rel="noopener noreferrer"&gt;Drizz: E2E testing for React Native that doesn't break every release. No selectors, no Appium, no XPaths. Just plain English + AI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://devblogs.microsoft.com/react-native/react-native-windows-v0-84-is-here/" rel="noopener noreferrer"&gt;React Native Windows 0.84 - Aligns with RN 0.84.1, onClick/onAuxClick, Imperative Focus, Theme-Aware Text, Input-Handling Parity&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/mrousavy/react-native-vision-camera/releases/tag/v5.1.0" rel="noopener noreferrer"&gt;VisionCamera 5.1 - Better support for external Cameras, Scan QR codes in images, native default Camera selection&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/rollipop-dev/rollipop" rel="noopener noreferrer"&gt;Rollipop - Rolldown-Powered Metro Alternative for React Native (Alpha)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/LegendApp/legend-list/releases/tag/v3.2.0" rel="noopener noreferrer"&gt;Legend List 3.2 &amp;amp; 3.3 - onFirstVisibleItemChanged, experimental_adaptiveRender improvements, Fabric performance improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/facebook/hermes/blob/static_h/doc/blog/2026-06-05-new-hermes-stable-release.md" rel="noopener noreferrer"&gt;Hermes 260318099 - JSON 2.7-3.4x Faster, Set Ops, Iterator Helpers, TS Transform&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/uni-stack/uniwind/releases/tag/v1.10.0" rel="noopener noreferrer"&gt;Uniwind 1.10 - RTL safe area classes, CSS min()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/mrousavy/nitro/releases/tag/v0.36.0" rel="noopener noreferrer"&gt;Nitro 0.36 - Union Enum Variants Support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/getsentry/sentry-react-native/releases/tag/8.16.0" rel="noopener noreferrer"&gt;Sentry 8.16 - Expo Router ErrorBoundary Capture&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/react-native-community/cli/releases/tag/v20.2.0" rel="noopener noreferrer"&gt;RN CLI 20.2 - Support DeviceHub for Xcode 27+, CVE and Bug Fixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/argent/releases/tag/v0.13.0" rel="noopener noreferrer"&gt;Argent 0.12 &amp;amp; 0.12 - Physical Android support, Vega device support, Electron support, &lt;code&gt;await-ui-element&lt;/code&gt; tool&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstack/agent-device/releases/tag/v0.18.0" rel="noopener noreferrer"&gt;Agent Device 0.18 - CDP Remote Bridge, Web Screen Recording, Device Leasing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/gmi-software/react-native-better-maps" rel="noopener noreferrer"&gt;Better Maps 1.0 - Nitro Modules Maps Library, Native Marker Clustering, Unified Map API&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/gmi-software/react-native-better-clustering" rel="noopener noreferrer"&gt;Better Clustering 1.0 - Nitro Powered Alternative for react-native-map-clustering with the Same API&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/afonsojramos/super-calendar/" rel="noopener noreferrer"&gt;Super Calendar 2.0 - Universal, gesture-driven, virtualized calendar and date picker, built on top of Reanimated and Legend List&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=dYEaN7ZqFmo" rel="noopener noreferrer"&gt;Callstack - Redraw for Effects Beyond Skia | Interview With William Candillon&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://www.youtube.com/watch?v=I4Wlu2BZEsw" rel="noopener noreferrer"&gt;Software Mention Podcast - How Partiful Became Google's Best App &amp;amp; Why They Chose React Native | Alex Chou &amp;amp; Tomek Zawadzki&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔀 Other
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;📜 &lt;a href="https://code.visualstudio.com/blogs/2026/06/26/iterating-faster-with-ts-7" rel="noopener noreferrer"&gt;VSCode - Iterating faster with TypeScript 7&lt;/a&gt; - VSCode migrated to the TS 7 native compiler incrementally, type checking dropped from 36s to 5s.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://nodesource.com/blog/npm-v12-install-scripts-not-a-silver-bullet" rel="noopener noreferrer"&gt;Blocking Install Scripts Is Not a Silver Bullet&lt;/a&gt; - Package managers blocking postinstall scripts prevent a whole class of supply chain attacks, but malware can move to import time.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://nodejs.org/en/blog/release/v26.4.0" rel="noopener noreferrer"&gt;Node.js 26.4 - Package Maps, VirtualFileSystem&lt;/a&gt; - New exciting experimental features just landed! Providing a Package Map, emitted by your package manager, can make Node.js module resolution more reliable and skip costly file-system scanning. VirtualFileSystem lets you create module graphs in-memory that you can import.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://pnpm.io/blog/releases/11.8" rel="noopener noreferrer"&gt;pnpm 11.8 &amp;amp; 11.9 - Dry runs, Node.js package maps, SBOM improvements, tarball integrity&lt;/a&gt; - pnpm is following Yarn, bringing support for the Node.js Package Maps described above. pnpm is also working on &lt;a href="https://pnpm.io/pnpr/" rel="noopener noreferrer"&gt;pnpr&lt;/a&gt;, its own Rust-based registry server/proxy that can resolve dependency graphs server-side.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://prettier.io/blog/2026/06/27/3.9.0" rel="noopener noreferrer"&gt;Prettier 3.9 - Major parser upgrades (Markdown, YAML, Flow, GraphQL), Formatting improvements&lt;/a&gt; - They are also working on upgrading the MDX parser to v3.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://deno.com/blog/v2.9" rel="noopener noreferrer"&gt;Deno 2.9 - Deno Desktop for WebView apps, Node.js and package managers compatibility, performance, CSS module imports, and more&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://webpack.js.org/blog/2026-06-25-webpack-5-108/" rel="noopener noreferrer"&gt;Webpack 5.108 - Universal target, Bun and Deno targets, HTML entrypoints, and more&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://medium.com/flow-type/flows-ocaml-to-rust-port-78b95bcf49e9" rel="noopener noreferrer"&gt;Flow 0.319 - Porting the Compiler from OCaml to Rust, 2x faster type-checking&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤭 Fun
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://x.com/ItsPatrickU/status/2070248041689620740" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fibw6rcoj6e47rsuwyqbj.jpg" alt="alt" width="800" height="989"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/birch_js/status/2071929847346258210" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3ixz1rmmmolfq5vybobo.jpg" alt="alt" width="800" height="698"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See ya! 👋&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactnative</category>
    </item>
    <item>
      <title>This Week In React #287: Fragment ref, React Compiler, StyleX | Reanimated, Widgets, VisionCamera | Vite, Astro, TypeScript, Nub, Security</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Fri, 26 Jun 2026 12:20:53 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-287-fragment-ref-react-compiler-stylex-reanimated-widgets-visioncamera--1o9f</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-287-fragment-ref-react-compiler-stylex-reanimated-widgets-visioncamera--1o9f</guid>
      <description>&lt;p&gt;Hi everyone, &lt;a href="https://x.com/sebastienlorber" rel="noopener noreferrer"&gt;Seb&lt;/a&gt; and &lt;a href="https://x.com/jaworek3211" rel="noopener noreferrer"&gt;Jan&lt;/a&gt; here 👋!&lt;/p&gt;

&lt;p&gt;This week, we're shining a spotlight on the upcoming React Fragment ref feature. We also have React Compiler updates, StyleX community discussions and a boring React Router release.&lt;/p&gt;

&lt;p&gt;On the React Native side, Renimated gets CSS pseudo-selector support and widget libraries gain momentum. VisionCamera unlocks new real-time processing capabilities with impressive demos.&lt;/p&gt;

&lt;p&gt;Let's dive in!&lt;/p&gt;




&lt;p&gt;💡 Subscribe to the official newsletter to receive an email every week!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" alt="banner" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://fandf.co/43u5vgM" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5bals9fjatkj3obrvs8t.jpg" alt="React Native Devs Are Sleeping on TV " width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://fandf.co/43u5vgM" rel="noopener noreferrer"&gt;React Native Devs Are Sleeping on TV &lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You’ve optimized for mobile. Maybe tablet. But the big screen might feel intimidating. Amazon Devices Builder Tools (ADBT) for AI gives your agent (Claude, Cursor, Kiro) Fire TV context for onboarding, performance debugging, and crash analysis, so you can resolve blockers and ship apps for Fire TV faster.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚛️ React
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://react.dev/reference/react/Fragment" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flofswnd4x3sku10bgltz.jpg" alt="React Docs -  raw `&lt;Fragment ref&gt;` endraw " width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://react.dev/reference/react/Fragment" rel="noopener noreferrer"&gt;React Docs - &lt;code&gt;&amp;lt;Fragment ref&amp;gt;&lt;/code&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In an upcoming version of React, the &lt;code&gt;ref&lt;/code&gt; prop will expose a new &lt;code&gt;FragmentInstance&lt;/code&gt; type that lets you interact with the fragment first-level children, unlocking new composition patterns. This exciting feature has just been documented more exhaustively, including 5 example use cases to get inspired from.&lt;/p&gt;

&lt;p&gt;This feature is already available in canary, has gone through extensive testing in production, and is &lt;a href="https://github.com/react/react/pull/34720" rel="noopener noreferrer"&gt;likely scheduled for React v19.3&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Note that React Native will also get a similar feature (&lt;a href="https://github.com/react/react-native-website/pull/5012" rel="noopener noreferrer"&gt;draft docs PR&lt;/a&gt;). I don’t know if React / React Native will have full feature parity, but it’s clear that this will enable cross-platform usage on at least a subset of these APIs.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://svar.dev/react/gantt/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=june_2026" rel="noopener noreferrer"&gt;SVAR React Gantt Chart - Try React Gantt component for project scheduling with dependencies, critical path, and resource planning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/oven-sh/bun/pull/32504" rel="noopener noreferrer"&gt;Bun PR - React Compiler integration&lt;/a&gt; - The upcoming Bun 1.4 should come with a &lt;code&gt;bun build --react-compiler&lt;/code&gt; flag that runs the React Compiler in Rust, up to 20x faster than the Babel variant.&lt;/li&gt;
&lt;li&gt;🐦 &lt;a href="https://x.com/sebastienlorber/status/2069670573555249498" rel="noopener noreferrer"&gt;The React Compiler in Rust removed from Rolldown/Vite&lt;/a&gt; - The React Compiler in Rust needs to be integrated natively into Oxc to maximize performance, rather than shipped as a plugin. Unfortunately, this increased the binary size too much for all Rolldown/Vite users, so the integration has been temporarily withdrawn while it gets slimmed down.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.skovhus.dev/blog/moving-linear-from-styled-components-to-stylex" rel="noopener noreferrer"&gt;Moving Linear from styled‑components to StyleX&lt;/a&gt; - The Linear team has been looking to adopt an alternative to Styled Components (in maintenance mode). They settled on StyleX for its static extraction, minimal runtime, strong encapsulation, deterministic style resolution, ecosystem, developer and agent experience. They use an incremental migration strategy using AI and codemods.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tanstack.com/blog/tanstack-table-v9-memory-performance" rel="noopener noreferrer"&gt;How an Underrated Refactor Saved 90% Memory Usage&lt;/a&gt; - TanStack Table v9 significantly reduced memory usage for large tables by migrating row object methods to shared prototypes.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://newsletter.daishikato.com/p/waku-s-unique-feature-slices" rel="noopener noreferrer"&gt;Waku’s Unique Feature: Slices&lt;/a&gt; - A short intro to Slices, a unique Waku feature inspired by Gatsby, easy to understand and yet quite powerful.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://dev.to/subito/how-we-cut-slow-responses-by-80-migrating-to-nextjs-app-router-37da"&gt;How We Cut Slow Responses by 80% Migrating to Next.js App Router&lt;/a&gt; - The leading italian classifieds marketplace upgraded from the Pages Router to the App Router, using an incremental side-by-side strategy&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://neciudan.dev/component-communication-patterns-in-react" rel="noopener noreferrer"&gt;Component Communication Patterns in React Applications&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://sentry.io/resources/react-native-workshop-2026/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=mobile-fy27q2-reactnativeworkshop&amp;amp;utm_content=newsletter-react-link-simon-grimm-register" rel="noopener noreferrer"&gt;Sentry - Join Simon Grimm as he triages a real React Native crash live in production using replays, logs, and Seer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://remix.run/blog/react-router-v8" rel="noopener noreferrer"&gt;React Router 8.0 - Turns v8 future flags on, ESM-only, upgrades React/Vite/Node min versions&lt;/a&gt; - This release is “boring” on purpose to make the upgrade easy. It essentially enabling by default behavior changes that were previously released as opt-in future flags in v7. React Server Components are still being worked on and unstable.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/aidenybai/cnfast" rel="noopener noreferrer"&gt;cnfast - Fast drop in replacement for &lt;code&gt;clsx&lt;/code&gt; + &lt;code&gt;tailwind-merge&lt;/code&gt;&lt;/a&gt; - Tailwind users, maybe this hasn’t crossed your mind, but using &lt;code&gt;tailwind-merge&lt;/code&gt; means you’ve added a &lt;a href="https://x.com/jjenzz/status/2068018844229087400" rel="noopener noreferrer"&gt;quite slow runtime CSS-in-JS layer&lt;/a&gt; to your React app. This new project is a 4x faster alternative, although it remains a bottleneck.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://stylexjs.com/blog/v0.19.0" rel="noopener noreferrer"&gt;StyleX 0.19 - Inline atomic styles, ESLint 10 compatibility, expands shorthand autofixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://base-ui.com/react/overview/releases/v1-6-0" rel="noopener noreferrer"&gt;Base UI 1.6 - OTPField stable, Drawer improvements, Combobox perf, docs redesign, many fixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://www.remotion.dev/docs/effects" rel="noopener noreferrer"&gt;Remotion 4.0.464 - Composable effects for canvas-based components&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://react-aria.adobe.com/releases/v1-19-0" rel="noopener noreferrer"&gt;React Aria 1.19 - Autocomplete @mentions, support Popover position relative to cursor&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/react-hook-form/react-hook-form/releases/tag/v7.80.0" rel="noopener noreferrer"&gt;React Hook Form 7.80 - &lt;code&gt;useFieldArray({disabled})&lt;/code&gt;, perf improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://foresightjs.com/" rel="noopener noreferrer"&gt;ForesightJS 4.0 - Predicts user intent based on mouse/keyboard inputs - First-class React integration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://polycss.com/" rel="noopener noreferrer"&gt;PolyCSS - CSS 3D engine for the DOM, with React bindings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=FneS7tCWBMU" rel="noopener noreferrer"&gt;Lucas Barake - React Hooks Are Just a Linked List&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=cSDKkD_6kCo" rel="noopener noreferrer"&gt;Simeon Griggs - Next.js 16.3 got good (if you care)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://www.youtube.com/watch?v=YVs2KWvMjLM" rel="noopener noreferrer"&gt;Señors at Scale - Newsletters with Sebastian Lorber: RSS Curation, Acquisition, RSC&lt;/a&gt; - I give you a glimpse behind the scenes of this newsletter!&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=2nd" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flkaurt02oufd010l76yw.jpg" alt="Ship AI generated code safely with Meticulous." width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=2nd" rel="noopener noreferrer"&gt;Ship AI generated code safely with Meticulous.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Claude writes your code. Claude reviews your code. Claude fixes the review comments. And somehow, &lt;em&gt;you're&lt;/em&gt; the one getting paged at 2am when it breaks in prod.&lt;/p&gt;

&lt;p&gt;Fortunately, top AI-driven teams like Dropbox, Notion, LaunchDarkly, and Wiz rely on Meticulous to run 1000s of e2e UI tests autonomously, covering every user flow, edge case, role and permutation. Built by ex-Palantir engineers, &lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Meticulous gives you near-exhaustive coverage in weeks, without any developer effort&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;It works like magic in the background:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Near-exhaustive coverage on every test run&lt;/li&gt;
&lt;li&gt;No test creation&lt;/li&gt;
&lt;li&gt;No maintenance (seriously)&lt;/li&gt;
&lt;li&gt;Zero flakes (built on a deterministic browser)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Check it out&lt;/strong&gt; - and see why one engineering leader at Dropbox said that “&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st#:~:text=Once%20we%20started%20using%20Meticulous%2C%20we%20couldn%27t%20imagine%20working%20without%20it." rel="noopener noreferrer"&gt;once we started using Meticulous, we couldn’t imagine working without it&lt;/a&gt;.”&lt;/p&gt;




&lt;h2&gt;
  
  
  📱 React-Native
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-jun24" rel="noopener noreferrer"&gt;PostHog - We put PostHog in Slack and now everyone's an engineer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://blog.margelo.com/building-videocall-app-with-filters" rel="noopener noreferrer"&gt;Building a Video Call App with Filters&lt;/a&gt; - A deep dive from Margelo into using VisionCamera and WebRTC to build a communication app with real-time image processing. The demos are impressive and clearly push the limits of what we can do in React Native today.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.callstack.com/blog/writing-custom-renderers-for-react" rel="noopener noreferrer"&gt;Writing Custom Renderers for React&lt;/a&gt; - The maintainer of React Native Testing Library had to create a custom renderer after React v19 deprecated its own React Test Renderer. He explains how he did so, and how the React Native reconciler differs from the DOM reconciler.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/ios-widgets-and-live-activities-in-expo" rel="noopener noreferrer"&gt;iOS widgets and Live Activities are stable in Expo SDK 56&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/how-to-apply-professional-design-principles-in-ai-app-development" rel="noopener noreferrer"&gt;How to apply professional design principles in AI app development&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://www.drizz.dev/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=wave1_rn" rel="noopener noreferrer"&gt;Drizz - Test your React Native app visually with AI. No locators, no flaky selectors, one suite for both platforms&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-reanimated/releases/tag/4.5.0" rel="noopener noreferrer"&gt;Reanimated 4.5 - CSS Animations pseudo-selectors, &lt;code&gt;&amp;lt;SharedTransitionBoundary&amp;gt;&lt;/code&gt;, Core Animation for shadow/background/border&lt;/a&gt; - You can now use &lt;code&gt;:hover&lt;/code&gt;, &lt;code&gt;:active&lt;/code&gt;, and &lt;code&gt;:focus&lt;/code&gt; in your CSS animations the same way you would in a browser.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/voltra/releases/tag/v2.0.0" rel="noopener noreferrer"&gt;Voltra 2.0 - Rewrite from Expo Modules to Turbo Modules, now works with bare RN, modular packages for smaller server install&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/react/metro/releases/tag/v0.85.0" rel="noopener noreferrer"&gt;Metro 0.85 - Require Node 22+, resolution self-referencing, perf and various fixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/zykeco/react-native-ble-nitro/releases/tag/v1.14.0" rel="noopener noreferrer"&gt;Nitro BLE 1.14 - Advertised service data is now exposed on scan results&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/EvanBacon/serve-sim" rel="noopener noreferrer"&gt;Serve Sim - The npx serve of Apple Simulators&lt;/a&gt; - Hosts iOS Simulators for use with agent tools.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/watadarkstar/react-native-nsfw-detector" rel="noopener noreferrer"&gt;NSFW Detector - On-device CoreML model to detect nudity and unsafe visual content in images&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/react-native-webview/react-native-webview/releases/tag/v14.0.0" rel="noopener noreferrer"&gt;WebView 14.0 - Drops Android &amp;lt;7.0 support, 13.17 adds &lt;code&gt;removeIosKeyboardObserver&lt;/code&gt; prop&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/AppAndFlow/react-native-transformer-text-input/releases/tag/v0.4.0" rel="noopener noreferrer"&gt;Transformer Text Input 0.4 - Add Web support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/getsentry/sentry-react-native/releases/tag/8.15.0" rel="noopener noreferrer"&gt;Sentry 8.15 - NativeLinkedErrors JVM stack traces, record XHR headers/bodies in Mobile Session Replay&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-reanimated/releases/tag/worklets-0.10.0" rel="noopener noreferrer"&gt;Worklets 0.10 - Bundle Mode stable, API for module import forwarding, ArrayBufferView native serialization&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/kuatsu/react-native-boost/releases" rel="noopener noreferrer"&gt;Boost 1.2-4 - Babel optimizing plugin - Text optimizations, translate View accessibility props, style inlining&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://sheet.lodev09.com/blog/release-3-11" rel="noopener noreferrer"&gt;True Sheet 3.11 - Web renderer rewrite, iOS accessibility improvements, Android gesture fixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/LegendApp/legend-list/releases/tag/v3.1.0" rel="noopener noreferrer"&gt;Legend List 3.1 - Experimental adaptive rendering during scroll, setItemSize API, sticky header fixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion-labs/react-native-nano-icons/releases/tag/v0.2.0" rel="noopener noreferrer"&gt;Nano Icons 0.2 - tvOS support, dynamic font linking, web specific createIconSet, RN 0.79 compat, a11y props&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/hryhoriiK97/expo-paperkit" rel="noopener noreferrer"&gt;Expo PaperKit - Apple PaperKit for Expo/React Native&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/rozenite/releases/tag/v1.13.0" rel="noopener noreferrer"&gt;Rozenite 1.13 - getTree/getComponent agent tools, Redux improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://infinite.red/react-native-radio/rnr-366-securing-react-native-apps-in-the-ai-era" rel="noopener noreferrer"&gt;RNR 366 - Securing React Native Apps in the AI Era&lt;/a&gt; - discussion about AI-powered security threats, practical ways to secure RN apps, and reduce risk&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔀 Other
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;👀 &lt;a href="https://drafts.csswg.org/css-link-params-1/" rel="noopener noreferrer"&gt;CSS Linked Params&lt;/a&gt; - This early W3C spec from Google/Mozilla solves a long-standing limitation, letting you pass CSS values into external linked resources. This means you can customize &lt;code&gt;&amp;lt;img src=”icon.svg”&amp;gt;&lt;/code&gt; with CSS.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.jayfreestone.com/writing/share-the-policy-not-the-code/" rel="noopener noreferrer"&gt;Ship the policy, not the code&lt;/a&gt; - Instead of duplicating business logic across frontend/backend, you can use an isomorphic rules engine (such as &lt;a href="https://casl.js.org/v7/en/" rel="noopener noreferrer"&gt;CASL&lt;/a&gt;) and let the backend serialize the rules to the frontend.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://vite.dev/blog/announcing-vite8-1" rel="noopener noreferrer"&gt;Vite 8.1 - Experimental Bundled Dev Mode, Chunk Import Map, Wasm ESM integration&lt;/a&gt; - It’s now possible to use the “Full Bundle Mode” in dev and get much faster startup/HMR in very large apps.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://astro.build/blog/astro-7/" rel="noopener noreferrer"&gt;Astro 7.0 - Vite 8, Rolldown, and Rust to process &lt;code&gt;.astro&lt;/code&gt; , &lt;code&gt;.md&lt;/code&gt;, &lt;code&gt;.mdx&lt;/code&gt; files, Advanced Routing, Route Caching, and more&lt;/a&gt; - All about speed, Astro builds are now ~61% faster!&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-rc/" rel="noopener noreferrer"&gt;TypeScript 7.0 RC&lt;/a&gt; - The faster Go rewrite is almost production-ready; the upgrade should be relatively easy. TS7 can be run alongside TS6.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://nubjs.com/blog/introducing-nub" rel="noopener noreferrer"&gt;Nub - An all-in-one toolkit for Node.js&lt;/a&gt; - A Rust CLI that augments the Node instead of replacing it, adding Bun's best features on top of it.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://sharp.pixelplumbing.com/changelog/v0.35.0/" rel="noopener noreferrer"&gt;Sharp 0.35 - Remove install script&lt;/a&gt; - The popular image processing library now ships with pre-built binaries. This aligns with package managers now blocking install scripts by default, and other projects (&lt;a href="https://github.com/swc-project/swc/issues/11898" rel="noopener noreferrer"&gt;SWC&lt;/a&gt;, &lt;a href="https://github.com/evanw/esbuild/issues/4475" rel="noopener noreferrer"&gt;esbuild&lt;/a&gt;) are considering doing the same.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.blog/changelog/2026-06-18-safer-pull_request_target-defaults-for-github-actions-checkout/" rel="noopener noreferrer"&gt;actions/checkout 7.0 - Prevents common &lt;code&gt;pull_request_target&lt;/code&gt; pwn request patterns&lt;/a&gt; - Good news for supply chain security. GitHub tightened security for this popular action, refusing to check out pull request code unless you opt in with &lt;code&gt;allow-unsafe-pr-checkout: true&lt;/code&gt;. This attack vector recently led to many compromised npm packages, including TanStack, Nx, PostHog, LiteLLM, and more.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤭 Fun
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://bsky.app/profile/kamranicus.com/post/3mojwqwmco224" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fip8aularve9owhyf9i5o.jpg" alt="alt" width="800" height="1122"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/secondfret/status/2067348925858934999" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fq364cmbfltnqi5npfxr3.jpg" alt="alt" width="800" height="780"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See ya! 👋&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactnative</category>
    </item>
    <item>
      <title>This Week In React #286 : React Compiler, StyleX, TSRX | RN 0.86, Enriched, Gesture Handler, Crypto | Package Maps, Babel, Biome</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Fri, 19 Jun 2026 12:35:21 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-286-react-compiler-stylex-tsrx-rn-086-enriched-gesture-handler-crypto-3mc6</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-286-react-compiler-stylex-tsrx-rn-086-enriched-gesture-handler-crypto-3mc6</guid>
      <description>&lt;p&gt;Hi everyone, &lt;a href="https://x.com/sebastienlorber" rel="noopener noreferrer"&gt;Seb&lt;/a&gt; and &lt;a href="https://x.com/jaworek3211" rel="noopener noreferrer"&gt;Jan&lt;/a&gt; here 👋!&lt;/p&gt;

&lt;p&gt;This week, the React Compiler in Rust is rolling out, and early adopters have already reported significant speedups.&lt;/p&gt;

&lt;p&gt;React Native 0.86 finally came out with edge-to-edge fixes in core. It’s retro-compatible, and Expo SDK 56 should be able to upgrade.&lt;/p&gt;

&lt;p&gt;Let's dive in!&lt;/p&gt;




&lt;p&gt;💡 Subscribe to the official newsletter to receive an email every week!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" alt="banner" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flkaurt02oufd010l76yw.jpg" alt="Ship AI generated code safely with Meticulous." width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Ship AI generated code safely with Meticulous.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Claude writes your code. Claude reviews your code. Claude fixes the review comments. And somehow, &lt;em&gt;you're&lt;/em&gt; the one getting paged at 2am when it breaks in prod.&lt;/p&gt;

&lt;p&gt;Fortunately, top AI-driven teams like Dropbox, Notion, LaunchDarkly, and Wiz rely on Meticulous to run 1000s of e2e UI tests autonomously, covering every user flow, edge case, role and permutation. Built by ex-Palantir engineers, &lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Meticulous gives you near-exhaustive coverage in weeks, without any developer effort&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;It works like magic in the background:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Near-exhaustive coverage on every test run&lt;/li&gt;
&lt;li&gt;No test creation&lt;/li&gt;
&lt;li&gt;No maintenance (seriously)&lt;/li&gt;
&lt;li&gt;Zero flakes (built on a deterministic browser)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Check it out&lt;/strong&gt; - and see why one engineering leader at Dropbox said that “&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st#:~:text=Once%20we%20started%20using%20Meticulous%2C%20we%20couldn%27t%20imagine%20working%20without%20it." rel="noopener noreferrer"&gt;once we started using Meticulous, we couldn’t imagine working without it&lt;/a&gt;.”&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚛️ React
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6qforehtcnl94spn6zdg.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6qforehtcnl94spn6zdg.jpg" alt="React Compiler in Rust" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;React Compiler in Rust rollout&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The integration has finally started to land in mainstream libs, starting with Oxlint, but may others are following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📦 &lt;a href="https://oxc.rs/docs/guide/usage/linter/rules/react/react-compiler.html" rel="noopener noreferrer"&gt;Oxlint 1.70 - Add a &lt;code&gt;react/react-compiler&lt;/code&gt; rule&lt;/a&gt; - This experimental rule leverages the Rust port of the React Compiler and surfaces the same diagnostics as &lt;code&gt;eslint-plugin-react-compiler&lt;/code&gt;. Early adopters (&lt;a href="https://github.com/adobe/react-spectrum/pull/10203" rel="noopener noreferrer"&gt;React Spectrum&lt;/a&gt;, &lt;a href="https://github.com/sanity-io/sanity/pull/13114" rel="noopener noreferrer"&gt;Sanity&lt;/a&gt;) have already reported significant (x5-6) performance improvements.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/rolldown/rolldown/pull/9801" rel="noopener noreferrer"&gt;Rolldown PR - Expose React Compiler options&lt;/a&gt; - PR already merged, so Vite and Rolldown users will soon be able to use the &lt;code&gt;transform.reactCompiler&lt;/code&gt; option.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/swc-project/swc/pull/11917" rel="noopener noreferrer"&gt;SWC PR - Add React Compiler&lt;/a&gt; - The PR has been merged and released in Rust crate v68.1, exposing a new &lt;code&gt;jsc.transform.reactCompiler&lt;/code&gt; configuration option.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/web-infra-dev/rspack/pull/14435" rel="noopener noreferrer"&gt;Rspack PR - Bump SWC to support the React Compiler&lt;/a&gt; - In the next v2.1 release (the beta drops tomorrow), &lt;code&gt;builtin:swc-loader&lt;/code&gt; will support the React Compiler in Rust. The Rspack team reported that the Rust version is 7-13x faster than the Babel one (&lt;a href="https://x.com/jiahan_c/status/2067120712587092090" rel="noopener noreferrer"&gt;tweet&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/vercel/next.js/pull/94573" rel="noopener noreferrer"&gt;Next.js PR - Add experimental Turbopack React Compiler support&lt;/a&gt; - This adds a new &lt;code&gt;experimental.turbopackRustReactCompiler&lt;/code&gt; option. Available in Next.js v16.3.0-canary.52, and likely to be released very soon in Next.js 16.4.&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-jun17" rel="noopener noreferrer"&gt;Product for Engineers - The stuff nobody tells you about startup marketing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/whatwg/html/issues/12591" rel="noopener noreferrer"&gt;HTML proposal - Localized time formatting without JavaScript&lt;/a&gt; - Have you ever come across date-related SSR/SSG hydration errors in React or any other framework? Apparently, browser vendors agree that these problems need to be solved, and here’s an initial proposal based on declarative HTML attributes.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://make.wordpress.org/core/2026/06/05/react-19-upgrade-temporarily-reverted-in-gutenberg/" rel="noopener noreferrer"&gt;WordPress - React 19 upgrade temporarily reverted in Gutenberg&lt;/a&gt; - WordPress initially announced a React 19 upgrade for the Gutenberg plugin and WordPress. They encountered JSX runtime compatibility issues between React v18/v19 and had to revert. Support for v19 is still planned for WordPress 7.1.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tsrx.dev/blog/rethinking-tsrx" rel="noopener noreferrer"&gt;Rethinking TSRX&lt;/a&gt; - The TSRX (TypeScript Render Extensions) syntax has been redesigned to be backward-compatible with JSX, easing its adoption and making its proprietary features more explicit. An interesting project to watch this year, coming from Dominic Gannaway (React, Svelte, Inferno), offering an ergonomic shared UI syntax compatible with various framework runtimes.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.adarsha.dev/blog/tanstack-mental-model-for-nextjs-developers" rel="noopener noreferrer"&gt;TanStack Start: A Mental Model for Next.js Developers&lt;/a&gt; - A deep dive into the differences, covering typesafety, isomorphic loaders, RSC-as-data mental model, and more.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.jayfreestone.com/writing/module-level-dependency-injection-react/" rel="noopener noreferrer"&gt;Module System Dependency Injection in React &amp;amp; Friends&lt;/a&gt; - An interesting overview of Dependency Injection across React meta-frameworks, and a critique of Next.js suggestion to use the module system for DI in RSCs.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://polar.sh/blog/orbit-llm-safe-design-system" rel="noopener noreferrer"&gt;Building an LLM safe design system&lt;/a&gt; - Polar’s new design system relies on a single polymorphic &lt;code&gt;&amp;lt;Box&amp;gt;&lt;/code&gt; component with typesafe props accepting StyleX design tokens. They forbid the usage of Tailwind or primitive HTML elements, so that AI agents always respect their design decisions.&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://certificates.dev/react/free-weekend?utm_source=twir&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=react_free_weekend_june_2026&amp;amp;friend=TWIR" rel="noopener noreferrer"&gt;Certificates.dev: Free React Weekend. Unlimited access to 9 chapters, 49 quiz questions, 13 coding challenges, and a trial exam. 27-28 June&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://hydrogen.shopify.dev/update/hydrogen-developer-preview" rel="noopener noreferrer"&gt;Hydrogen developer preview&lt;/a&gt; - Shopify’s framework, initially leaning on Remix/React, is becoming a framework/runtime agnostic toolkit, designed in partnership with the Next.js team.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/facebook/stylex/blob/main/CHANGELOG.md#0190-jun-14-2026" rel="noopener noreferrer"&gt;StyleX 0.19 - &lt;code&gt;@stylexjs/atoms&lt;/code&gt; for Tailwind-like inline atomic styles, ESLint 10 compatibility&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://www.react.doctor/docs/ci-and-prs/github-actions-setup" rel="noopener noreferrer"&gt;React Doctor GitHub Action&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/airbnb/visx/releases/tag/v4.0.0" rel="noopener noreferrer"&gt;Visx 4.0 - Low-level visualization components from Airbnb - Support for React 19&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/remotion-dev/remotion/releases/v4.0.475" rel="noopener noreferrer"&gt;Remotion 4.0.475 - Interactively change your code with Remotion Studio&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/rstackjs/rsbuild-plugin-react-router/releases/tag/rsbuild-plugin-react-router%400.2.0" rel="noopener noreferrer"&gt;Rsbuild Plugin React Router 0.2 - Support for Rsbuild/Rspack v2&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/vadimdemedes/ink" rel="noopener noreferrer"&gt;Ink 7.1 - CLI renderer - Add &lt;code&gt;suspendTerminal()&lt;/code&gt; to hand the terminal to a child process&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://tanstack.com/blog/tanstack-ai-beta" rel="noopener noreferrer"&gt;TanStack AI Beta - The Switzerland of AI Tooling Grows Up&lt;/a&gt; - Comes with first-class React support.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://sentry.io/cookbook/structured-logging-logtape/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=logs-fy27q1-cookbook&amp;amp;utm_content=newsletter-logtape-secondary-trysentry" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F78knq40fk29isxj1byh6.jpg" alt="Make your logs queryable, not just readable" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://sentry.io/cookbook/structured-logging-logtape/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=logs-fy27q1-cookbook&amp;amp;utm_content=newsletter-logtape-secondary-trysentry" rel="noopener noreferrer"&gt;Make your logs queryable, not just readable&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;console.log("here")&lt;/code&gt;doesn't cut it in production. Structured logs do.&lt;/p&gt;

&lt;p&gt;Use this tutorial to connect LogTape + Sentry and make every log searchable, queryable, and connected to your traces. When something breaks, you'll get the full picture: log events, error context, and Session Replay, all linked by trace ID.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Filter by user ID, order ID, or any custom field&lt;/li&gt;
&lt;li&gt;Attach context once, inherit it everywhere&lt;/li&gt;
&lt;li&gt;Alert when log patterns spike before users notice&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://sentry.io/cookbook/structured-logging-logtape/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=logs-fy27q1-cookbook&amp;amp;utm_content=newsletter-logtape-secondary-trysentry" rel="noopener noreferrer"&gt;See the full recipe ➡️&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📱 React-Native
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://reactnative.dev/blog/2026/06/11/react-native-0.86" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fczqxpgoomk0qtwyrd5gp.jpg" alt="React Native 0.86" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://reactnative.dev/blog/2026/06/11/react-native-0.86" rel="noopener noreferrer"&gt;React Native 0.86&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The new React Native release is out! This time, there are no major features or changes. It’s focused on fixes and stability improvements. Although it might not seem that exciting, the good news is that there are no breaking changes, which should make upgrading that much easier. Especially, with all the AI tools that can assist in it. 😉&lt;/p&gt;

&lt;p&gt;Here are the highlights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The React Native repository has moved to the &lt;a href="https://github.com/react" rel="noopener noreferrer"&gt;/react GitHub org&lt;/a&gt; under the &lt;a href="https://react.foundation/" rel="noopener noreferrer"&gt;React Foundation&lt;/a&gt;, alongside other core projects. It’s a major step toward a more independent foundation focused on stewarding React’s future.&lt;/li&gt;
&lt;li&gt;Comprehensive edge-to-edge support on Android 15+.&lt;/li&gt;
&lt;li&gt;Performance tracing improvements in React Native DevTools.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Related news:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🐦 &lt;a href="https://x.com/cortinico/status/2067181532138152308" rel="noopener noreferrer"&gt;The RN repository transition resulted in forks being locked&lt;/a&gt; - See how to unlock your fork so that you can continue contributing.&lt;/li&gt;
&lt;li&gt;🐦 &lt;a href="https://x.com/zoontek/status/2066490044605436337" rel="noopener noreferrer"&gt;Expo SDK 56 will soon be updated to RN 0.86&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🐦 &lt;a href="https://x.com/zoontek/status/2066466699985989874" rel="noopener noreferrer"&gt;With RN 0.86, you don’t need react-native-edge-to-edge anymore&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://docs.maestro.dev/get-started/maestro-mcp?utm_source=this-week-in-react&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=mcp-viewer-jun17" rel="noopener noreferrer"&gt;Maestro - Write React Native UI tests with Cursor or Claude Code, see them run live in Maestro Viewer.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🗓️ &lt;a href="https://ti.to/chainreact/chainreact2026/discount/TWIR" rel="noopener noreferrer"&gt;Chain React&lt;/a&gt; - 🇺🇸 Portland - 30-31 July. Don't miss talks from experts at Expo, React Foundation, Software Mansion, and Infinite Red! Get a 15% discount with code "TWIR".&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://blog.margelo.com/four-years-of-react-native-quick-crypto" rel="noopener noreferrer"&gt;Four Years of React Native Quick Crypto: From Wallets to Node Parity&lt;/a&gt; - A history of a JSI-based hash-and-HMAC library written for Web3 boom, its evolution into full Node crypto implementation on mobile, Nitro rewrite, and more.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://sighery.com/posts/patching-kindle-homepage/" rel="noopener noreferrer"&gt;React Native, Hermes bytecode, and the Kindle homepage&lt;/a&gt; - Amazon e-readers use RN to power their homepage. The author, a Kindle modder, dives into Hermes bytecode to patch the Kindle homepage and remove carousel ads.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/faster-ios-builds-with-precompiled-xcframeworks" rel="noopener noreferrer"&gt;Faster iOS Builds with Precompiled XCFrameworks&lt;/a&gt; - prebuild Expo modules are now enabled by default, a step towards moving away from CocoaPods and reducing the amount of native compilation steps. It’s a part of a broader modernization effort.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://medium.com/@pumpdotfun_/how-we-improved-the-startup-time-of-our-app-by-50-b3107bed1bf9" rel="noopener noreferrer"&gt;How We Improved the Startup Time of Our App by 50%&lt;/a&gt; - Case study on how to profile native and JS code, what optimisations had the biggest impact, and how to protect against regressions.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://swmansion.com/blog/moqkit-native-mobile-sdk-moq-ios-android/" rel="noopener noreferrer"&gt;MoQKit: A Native Mobile SDK for MoQ on iOS and Android&lt;/a&gt; - Media over QUIC is a live media protocol. SWM is working on adding support, starting with native SDKs, with RN coming next.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/introducing-observe" rel="noopener noreferrer"&gt;EAS Observe: Performance monitoring for Expo apps&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://codewithbeto.dev/blog/still-betting-on-react-native" rel="noopener noreferrer"&gt;Native got easy. I'm still betting on React Native.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.callstack.com/blog/ai-assisted-react-native-migration-for-tv-lessons-from-zattoo" rel="noopener noreferrer"&gt;AI-Assisted React Native Migration for TV: Lessons From Zattoo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/how-a-kotlin-compiler-plugin-cut-android-time-to-first-render" rel="noopener noreferrer"&gt;How a Kotlin compiler plugin cut Android time to first render by 30%&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://swmansion.com/blog/app-js-conf-2026-recap-gesture-handler-3-0-type-gpu-cli-screens-5-0-and-more/" rel="noopener noreferrer"&gt;App.js Conf 2026 Recap - Gesture Handler 3.0, TypeGPU CLI, Screens 5.0, and More&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/blazejkustra/react-native-morph-view" rel="noopener noreferrer"&gt;Morph View - Morph one image into another with a smooth gooey effect, on the GPU&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/uni-stack/uniwind/releases/tag/v1.9.0" rel="noopener noreferrer"&gt;Uniwind 1.9 - Layout direction component, RTL support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/getsentry/sentry-react-native/releases/tag/8.14.0" rel="noopener noreferrer"&gt;Sentry 8.14 - Deep link correlation, Android profiling improvements, Expo Router instrumentation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.32.0" rel="noopener noreferrer"&gt;Gesture Handler 2.32 - React Native 0.86 support, fix &lt;code&gt;RNRenderer&lt;/code&gt; import&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/N0ku/react-native-nitro-healthkit" rel="noopener noreferrer"&gt;Nitro HealthKit - Single TypeScript API over Apple HealthKit and Android Health Connect&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/JoaoPauloCMarra/react-native-nitro-markdown/releases/tag/v0.8.0" rel="noopener noreferrer"&gt;Nitro Markdown 0.8 - Custom &lt;code&gt;renderMarkdown&lt;/code&gt; for MarkdownStream, TypeScript improvements, iOS crash fixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/numandev1/react-native-compressor/releases/tag/v2.0.0" rel="noopener noreferrer"&gt;Compressor 2.0 - Nitro Modules migration, min RN 0.75+&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/pablogdcr/react-native-data-detector" rel="noopener noreferrer"&gt;Data Detector - Cross-platform text data detection of phone numbers, URLs, emails, dates, and addresses&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-enriched-html/releases/tag/v1.0.0" rel="noopener noreferrer"&gt;Enriched HTML 1.0 - Stable release, renamed from &lt;code&gt;react-native-enriched&lt;/code&gt; to &lt;code&gt;react-native-enriched-html&lt;/code&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstack/react-native-builder-bob/releases/tag/create-react-native-library%400.63.0" rel="noopener noreferrer"&gt;CRNL 0.63 / Builder Bob 0.43 - use a unique name for the exports condition for source, metro-config dropped&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/LegendApp/legend-list/releases/tag/v3.0.6" rel="noopener noreferrer"&gt;Legend List 3.0.6 - &lt;code&gt;clearCaches&lt;/code&gt; rechecks visible rows, scroll perf, KeyboardAware insets&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/zoontek/react-native-permissions/releases/tag/5.6.0" rel="noopener noreferrer"&gt;Permissions 5.6 - &lt;code&gt;openContactPicker&lt;/code&gt; for iOS 18+ limited contacts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstack/agent-device/releases/tag/v0.17.6" rel="noopener noreferrer"&gt;Agent Device 0.17.6 - Rslib perf, external xctest runner, Maestro reporter improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=HmFvvd5bLSo&amp;amp;list=PLkOyNuxGl9jy5hgF3xR64k9reOM5jHDHl" rel="noopener noreferrer"&gt;William Candillon - Learn React Native Declarative Gestures and Animations&lt;/a&gt; - William’s animation course is now freely available. It’s based on Reanimated v2, but it's still worth it for learning evergreen animation techniques. By the way, William has a new website where he has published an &lt;a href="https://wcandillon.dev/article/hello-project-redraw" rel="noopener noreferrer"&gt;intro to Redraw&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/playlist?list=PLSk21zn8fFZCE_TlHUVnTVMm7mNl_fzxl" rel="noopener noreferrer"&gt;App.js Conf 2026 - Full conference playlist&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=4j6NvCNPGtE" rel="noopener noreferrer"&gt;Beto - Expo UI Crash Course: Render Real SwiftUI &amp;amp; Jetpack Compose from React Native&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://infinite.red/react-native-radio/rnr-365-chain-react-2026" rel="noopener noreferrer"&gt;React Native Radio 365 - Chain React 2026 behind the scenes, AI trends&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔀 Other
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/nodejs/node/pull/62239" rel="noopener noreferrer"&gt;Node.js PR - Experimental support for package maps&lt;/a&gt; - Node.js can now resolve packages using a static JSON file generated by a package manager, instead of walking &lt;code&gt;node_modules&lt;/code&gt; directories. This can make resolution more reliable, decoupled, and performant. Already supported by &lt;a href="https://github.com/yarnpkg/berry/releases/tag/@yarnpkg/cli/4.17.0" rel="noopener noreferrer"&gt;Yarn 4.17&lt;/a&gt;, and possibly &lt;a href="https://github.com/pnpm/pnpm/pull/12430" rel="noopener noreferrer"&gt;soon in pnpm&lt;/a&gt;?&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://olliewilliams.xyz/blog/dark-mode/" rel="noopener noreferrer"&gt;Dark mode with web standards&lt;/a&gt; - An overview of &lt;code&gt;color-scheme&lt;/code&gt;, its current limits, and what’s coming.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.prisma.io/blog/bun-rust-rewrite-prisma-compute" rel="noopener noreferrer"&gt;We put Bun's Rust rewrite in production on Prisma Compute&lt;/a&gt; - “the Rust rewrite behaved better than the stable release”.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tanstack.com/blog/tanstack-table-v9-typescript-performance" rel="noopener noreferrer"&gt;TypeScript Performance in TanStack Table V9&lt;/a&gt; - Advanced TS perf lessons for lib authors used to reduce TS workload by up to 86%.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://nerdy.dev/prop-for-that" rel="noopener noreferrer"&gt;Prop For That - JS library that backfills what CSS doesn't provide, yet&lt;/a&gt; - This lets you define dynamic CSS variables through declarative HTML attributes.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://babeljs.io/blog/2026/06/16/8.0.0/" rel="noopener noreferrer"&gt;Babel 8.0 - ESM-only, drop ES5 default, and a smooth migration path&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://biomejs.dev/blog/biome-v2-5/" rel="noopener noreferrer"&gt;Biome 2.5 - 500 Lint Rules, Plugin Code Fix, and Cross-File Linting&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/npm/cli/releases/tag/v11.17.0" rel="noopener noreferrer"&gt;npm 11.17 - add &lt;code&gt;min-release-age-exclude&lt;/code&gt; config&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://pnpm.io/blog/releases/11.7" rel="noopener noreferrer"&gt;pnpm 11.7 - Full resolution in Rust, &lt;code&gt;--frozen-store&lt;/code&gt;, scope-specific auth tokens&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/gajus/zod-compiler" rel="noopener noreferrer"&gt;Zod Compiler - Compile Zod schemas into zero-overhead validation functions at build time&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="http://github.com/microsoft/playwright/releases/tag/v1.61.0" rel="noopener noreferrer"&gt;Playwright 1.61 - WebAuthn passkeys API, Web Storage API&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤭 Fun
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://x.com/sankalpa_02/status/2067304806746915116" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5py0kxplh8udmqzhfh0g.jpg" alt="alt" width="800" height="851"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See ya! 👋&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactnative</category>
    </item>
    <item>
      <title>This Week In React #285 : React.foundation, Rust Compiler, Sätteri | Runtimes, JSI, Standard Navigation | VoidZero, npm, Rolldown, Angular</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Fri, 12 Jun 2026 12:23:29 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-285-reactfoundation-rust-compiler-satteri-runtimes-jsi-standard-39dn</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-285-reactfoundation-rust-compiler-satteri-runtimes-jsi-standard-39dn</guid>
      <description>&lt;p&gt;Hi everyone, &lt;a href="https://x.com/sebastienlorber" rel="noopener noreferrer"&gt;Seb&lt;/a&gt; and &lt;a href="https://x.com/jaworek3211" rel="noopener noreferrer"&gt;Jan&lt;/a&gt; here 👋!&lt;/p&gt;

&lt;p&gt;This week, we’re taking a look at the new React Foundation website, as the React core repositories transition to their new home. All eyes on the React Compiler in Rust, coming soon in your everyday toolchain.&lt;/p&gt;

&lt;p&gt;React Native 0.86 is almost here, but releases apparently like to land on Wednesday evenings 😅 so we’ll cover it next week. Let’s focus on React Native Runtimes instead, a quite interesting multi-threading innovation.&lt;/p&gt;

&lt;p&gt;Cloudflare has acquired VoidZero, and npm v12 will officially block postinstall scripts by default in July, improving our supply chain security.&lt;/p&gt;

&lt;p&gt;Let's dive in!&lt;/p&gt;




&lt;p&gt;💡 Subscribe to the official newsletter to receive an email every week!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" alt="banner" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flkaurt02oufd010l76yw.jpg" alt="Ship AI generated code safely with Meticulous." width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Ship AI generated code safely with Meticulous.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Claude writes your code. Claude reviews your code. Claude fixes the review comments. And somehow, &lt;em&gt;you're&lt;/em&gt; the one getting paged at 2am when it breaks in prod.&lt;/p&gt;

&lt;p&gt;Fortunately, top AI-driven teams like Dropbox, Notion, LaunchDarkly, and Wiz rely on Meticulous to run 1000s of e2e UI tests autonomously, covering every user flow, edge case, role and permutation. Built by ex-Palantir engineers, &lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Meticulous gives you near-exhaustive coverage in weeks, without any developer effort&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;It works like magic in the background:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Near-exhaustive coverage on every test run&lt;/li&gt;
&lt;li&gt;No test creation&lt;/li&gt;
&lt;li&gt;No maintenance (seriously)&lt;/li&gt;
&lt;li&gt;Zero flakes (built on a deterministic browser)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Check it out&lt;/strong&gt; - and see why one engineering leader at Dropbox said that “&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st#:~:text=Once%20we%20started%20using%20Meticulous%2C%20we%20couldn%27t%20imagine%20working%20without%20it." rel="noopener noreferrer"&gt;once we started using Meticulous, we couldn’t imagine working without it&lt;/a&gt;.”&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚛️ React
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://react.foundation/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv3e281hah12ye9q4w8y1.jpg" alt="The React.Foundation website" width="800" height="546"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://react.foundation/" rel="noopener noreferrer"&gt;The React.Foundation website&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The React Foundation was &lt;a href="https://react.dev/blog/2025/10/07/introducing-the-react-foundation" rel="noopener noreferrer"&gt;announced nearly a year ago&lt;/a&gt;, and you may be wondering what actions it has taken so far. Did you know the React Foundation had a website? Although it’s still a work-in-progress (&lt;a href="https://github.com/react-foundation-dev/react.foundation" rel="noopener noreferrer"&gt;source code&lt;/a&gt;), it’s already up and running and worth taking a look at to discover what’s planned, such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A system to fund maintainers of critical ecosystem libraries&lt;/li&gt;
&lt;li&gt;An official React merchandise store with profits redistributed to maintainers&lt;/li&gt;
&lt;li&gt;Quarterly transparent reports with revenue details, maintainer funding, and more&lt;/li&gt;
&lt;li&gt;A logged-in “Contributor Status” page, adding a cool gamification layer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Earlier today, most React-related repositories also moved from the &lt;code&gt;facebook&lt;/code&gt; GitHub organization to the &lt;a href="https://github.com/react" rel="noopener noreferrer"&gt;&lt;code&gt;react&lt;/code&gt; GitHub organization&lt;/a&gt;, reflecting the transition to the React Foundation. This includes React, React Native, Yoga, JSX, Metro, React-Strict-DOM, Create-React-App, and more.&lt;/p&gt;

&lt;p&gt;It’s not &lt;code&gt;facebook/react&lt;/code&gt; anymore, but &lt;code&gt;react/react&lt;/code&gt;: end of an era!&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://pscale.link/rw" rel="noopener noreferrer"&gt;PlanetScale - Low-latency queries, branch and deploy like code, and best-in-class reliability. All in one database.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/react/react/pull/36173" rel="noopener noreferrer"&gt;React Core PR - Port React Compiler to Rust&lt;/a&gt; - The PR has been officially merged, although no Rust crate or npm package has been published yet. The &lt;a href="https://github.com/oxc-project/oxc/pull/22942" rel="noopener noreferrer"&gt;Oxc integration&lt;/a&gt; is available in Rust crate v0.135, and it’s being integrated &lt;a href="https://github.com/rolldown/rolldown/pull/9671" rel="noopener noreferrer"&gt;in Rolldown&lt;/a&gt; and &lt;a href="https://github.com/oxc-project/oxc/pull/23202" rel="noopener noreferrer"&gt;in Oxlint&lt;/a&gt;. See also the &lt;a href="https://github.com/swc-project/swc/pull/11917" rel="noopener noreferrer"&gt;SWC integration PR&lt;/a&gt; and the &lt;a href="https://github.com/oven-sh/bun/pull/31785" rel="noopener noreferrer"&gt;Bun integration PR&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/reactjs/rfcs/pull/278" rel="noopener noreferrer"&gt;React RFC - Support using disposable as useEffect cleanup&lt;/a&gt; - A proposal for &lt;code&gt;useEffect&lt;/code&gt; to integrate with the new ES feature Explicit Resource Management / &lt;code&gt;using&lt;/code&gt;, allowing to return a disposable resource like &lt;code&gt;{[Symbol.dispose]: myEffectCleanupFunction}&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;🗓️ &lt;a href="https://reactadvanced.com/?utm_source=thisweekinreact" rel="noopener noreferrer"&gt;React Advanced London&lt;/a&gt; - 🇬🇧 London - 23 &amp;amp; 26 Oct. Call for Papers is open until June 22! Submit your talk and share your advanced React insights with the community. Get a 10% discount with code "TWIR".&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://medium.com/flow-type/flow-for-typescript-users-in-2026-ad07ac0a2d92" rel="noopener noreferrer"&gt;Flow for TypeScript Users in 2026&lt;/a&gt; - Flow’s syntax has converged with TypeScript to the point where it’s hard to tell them apart anymore. It’s stricter and offers features TypeScript lacks, including pattern matching and component/hook/renders syntax. I don’t know if Flow is ready for an official comeback, but I like its direction. Note that its compiler is also being ported to Rust,&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://aurorascharff.no/posts/building-an-active-navlink-component-in-nextjs/" rel="noopener noreferrer"&gt;Building an Active NavLink Component in Next.js&lt;/a&gt; - Building a production-grade reusable &lt;code&gt;NavLink&lt;/code&gt; component for the App Router with an &lt;code&gt;isActive/className&lt;/code&gt; render prop API inspired by React Router. It’s surprisingly not so easy: you need to deal with initial paint flickering and need to use Suspense for Cache Components.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://jjenzz.com/best-loading-states-are-no-loading-states/" rel="noopener noreferrer"&gt;The Best Loading States Are No Loading States&lt;/a&gt; - Route transitions, route loaders, preloading, and global fallbacks can make loading states mostly disappear.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://reactjs-maxxing.vercel.app/blog/how-react-server-component-integrate-with-bundler" rel="noopener noreferrer"&gt;How React Server Components Integrate with Bundler&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.jayfreestone.com/writing/updating-react-parents-in-response-to-changes-in-children/" rel="noopener noreferrer"&gt;When React parent components need to know their children&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.react.doctor/blog/the-problem-with-useeffect" rel="noopener noreferrer"&gt;The problem with useEffect – React Doctor can help&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://frontendnation.com/workshops/inside-developer-certifications-an-ama-with-alain-chautard?utm_source=twir&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=frontend_nation_certification_workshop_2026&amp;amp;friend=TWIR" rel="noopener noreferrer"&gt;Certificates.dev: Certification AMA Workshop. Ask our expert how exams are built, graded, proctored, and impacts careers. Join for free!&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://satteri.bruits.org/" rel="noopener noreferrer"&gt;Sätteri - Flexible Rust-based Markdown / MDX engine&lt;/a&gt; - A faster Rust-based alternative to the Unified ecosystem and the JS-based implementation of MDX. It could &lt;a href="https://github.com/withastro/roadmap/pull/1364" rel="noopener noreferrer"&gt;become Astro’s default parser&lt;/a&gt; in the future, and already &lt;a href="https://github.com/withastro/starlight/releases/tag/%40astrojs%2Fstarlight%400.40.0" rel="noopener noreferrer"&gt;integrates with Starlight&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://motion.dev/docs/arc" rel="noopener noreferrer"&gt;Motion 12.40 - Support for &lt;code&gt;arc()&lt;/code&gt; motions&lt;/a&gt; - This lets you animate elements along curved paths.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://tanstack.com/blog/tanstack-table-v9-taking-form" rel="noopener noreferrer"&gt;TanStack Table 9.0 beta - State management and perf improvements, tree-shakable, extendable, composable&lt;/a&gt; - TanStack Table took inspiration from TanStack Form state management to rebuild its state management on top of TanStack Store and atoms, preventing useless re-renders and becoming compatible with the React Compiler along the way.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/remix-run/react-router/blob/v8/CHANGELOG.md#v800-pre0" rel="noopener noreferrer"&gt;React Router 8.0 prerelease&lt;/a&gt; - The next major version is now available for early adopters to try. It’s a relatively boring release, in a good way: the v8 future flags are gone, and their behaviors are now enabled by default. It also bumps runtime requirements, drops CJS and the &lt;code&gt;react-router-dom&lt;/code&gt; package.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7170" rel="noopener noreferrer"&gt;React Router 7.17 - Ship Markdown docs for AI agents&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/facebook/react/releases/tag/v19.2.7" rel="noopener noreferrer"&gt;React 19.2.7, 19.1.8, 19.0.7 - Fix a Server Actions FormData regression&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🔗 &lt;a href="https://share.transistor.fm/s/dd8e79de" rel="noopener noreferrer"&gt;This Month in React - Who even is on the Core team anymore, TanStack got pwn'd bad&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🔗 &lt;a href="https://creators.spotify.com/pod/profile/dan-neciu/episodes/Routing-at-Scale-with-TanStack-Routers-Nicolas-Beaussart--React-Router-Migration--Monorepos--PayFit-e3keqv9" rel="noopener noreferrer"&gt;Señors at Scale - Routing at Scale with TanStack Router's Nicolas Beaussart&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.agent.sh/?utm_campaign=agent_conf&amp;amp;utm_source=twir&amp;amp;utm_medium=email&amp;amp;utm_content=ebt" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcvpjvxr3sfrvhbpdv47j.jpg" alt="Agent Conf 2026: Learn to Ship Cross-Platform with AI" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.agent.sh/?utm_campaign=agent_conf&amp;amp;utm_source=twir&amp;amp;utm_medium=email&amp;amp;utm_content=ebt" rel="noopener noreferrer"&gt;Agent Conf 2026: Learn to Ship Cross-Platform with AI&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Callstack’s &lt;a href="https://www.agent.sh/?utm_campaign=agent_conf&amp;amp;utm_source=twir&amp;amp;utm_medium=email&amp;amp;utm_content=ebt" rel="noopener noreferrer"&gt;Agent Conf&lt;/a&gt; (September 17-18, 2026, Warsaw) is bringing together hundreds of agentic engineering practitioners, with Nader Dabit, Levan Kvirkvelia, Tejas Kumar, Kent C. Dodds, Kitze, David Mokos, and more speakers to be announced soon. Learn how to work better with agents: build intuition for when to guide or let them run, understand loops, memory, cost, and failure modes, coordinate multi-agent systems, and hear what’s actually working for teams adopting agentic workflows today.&lt;/p&gt;

&lt;p&gt;The last Early Bird Tickets are still available. Get an extra &lt;strong&gt;10% off&lt;/strong&gt; with promo code &lt;strong&gt;TWIR&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  📱 React-Native
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/margelo/react-native-runtimes" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkfzo9lsnb51jbdnu0852.jpg" alt="React Native Runtimes" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/margelo/react-native-runtimes" rel="noopener noreferrer"&gt;React Native Runtimes&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Margelo, in collaboration with Callstack, introduced a new package to add a multi-runtime layer to React Native apps. It’s a great solution for performance-heavy features and business logic isolation to avoid blocking interaction.&lt;/p&gt;

&lt;p&gt;If your app has features that jank on mount, slow first-open screens, background hydration or decoding, state logic competing with animation, it might be worth checking it out.&lt;/p&gt;

&lt;p&gt;Key features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run selected components, screens, and headless tasks.&lt;/li&gt;
&lt;li&gt;Share state across runtimes through a native Zustand-style C++ singleton.&lt;/li&gt;
&lt;li&gt;Prewarm runtimes to avoid cold-start lag.&lt;/li&gt;
&lt;li&gt;Call a typed function on a specific runtime and await the result.&lt;/li&gt;
&lt;li&gt;Expo support with a config plugin.&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-jun10" rel="noopener noreferrer"&gt;Product for Engineers - The golden rules of agent-first product engineering&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/react-native-community/discussions-and-proposals/pull/1006" rel="noopener noreferrer"&gt;React Native RFC - Android Gradle Plugin v9 adoption&lt;/a&gt; - This drafts a three-phase AGP v9 adoption strategy to keep up with Android, doing the required changes to support &lt;a href="https://developer.android.com/build/migrate-to-built-in-kotlin" rel="noopener noreferrer"&gt;built-in Kotlin&lt;/a&gt; before the opt-outs are removed in AGP v10.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/facebook/hermes/blob/static_h/doc/blog/2026-06-05-new-hermes-stable-release.md" rel="noopener noreferrer"&gt;Static Hermes - What's new in the next stable release&lt;/a&gt; - This blog post announces many new ES features to be supported natively, including Set operations, Iterator helpers, &lt;code&gt;groupBy&lt;/code&gt;, &lt;code&gt;TextDecoder&lt;/code&gt;, and more. It will also be faster and support built-in TypeScript type-stripping!&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/react-navigation/standard-navigation" rel="noopener noreferrer"&gt;Standard Navigation integration PRs&lt;/a&gt; - Remember &lt;a href="https://expo.dev/blog/expo-router-v56-decoupling-from-react-navigation" rel="noopener noreferrer"&gt;Expo Router 56 forking React Navigation&lt;/a&gt;? Fortunately, we have a shared abstraction for creating navigators that can work with both routing libraries, and should help reduce ecosystem fragmentation. It has already been integrated into React Navigation (&lt;a href="https://github.com/react-navigation/react-navigation/pull/13122" rel="noopener noreferrer"&gt;PR&lt;/a&gt;) and Expo Router (&lt;a href="https://github.com/expo/expo/pull/46456" rel="noopener noreferrer"&gt;PR&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;🗓️ &lt;a href="https://ti.to/chainreact/chainreact2026/discount/TWIR" rel="noopener noreferrer"&gt;Chain React&lt;/a&gt; - 🇺🇸 Portland - 30-31 July. Incredible speaker lineup featuring Charlie Cheever (Expo), Seth Webster (React Foundation), Kacper Kapuściak (Software Mansion), Mazen Chami (Infinite Red) and more. Get a 15% discount with code "TWIR".&lt;/li&gt;
&lt;li&gt;🗓️ &lt;a href="https://reactnativeconnection.io/?utm_source=thisweekinreact.com" rel="noopener noreferrer"&gt;React Native Connection&lt;/a&gt; - 🇫🇷 Paris - 24 Sept. The premier French React Native conference is back! Secure your spot early and get a 15% discount with code "TWIR". Call for Papers closes June 14.&lt;/li&gt;
&lt;li&gt;📅 &lt;a href="https://luma.com/20df5csq" rel="noopener noreferrer"&gt;React Native &amp;amp; AI meet-up by Software Mansion&lt;/a&gt; - June 18th, NYC 🇺🇸&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/talking-to-jsi-in-swift" rel="noopener noreferrer"&gt;Talking to JSI in Swift: what changed in SDK 56&lt;/a&gt; - In SDK 56, Expo's native modules call JSI directly on Apple platforms. The Objective-C++ layer is gone, and calls are 1.6–2.3x faster.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/moving-away-from-expo-vector-icons" rel="noopener noreferrer"&gt;Moving away from &lt;code&gt;@expo/vector-icons&lt;/code&gt;&lt;/a&gt; - Explanation on why the icons package is deprecated in favor of a better alternative, and the benefits of switching.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://andrei-calazans.com/posts/2026-06-01-exploring-inlined-requires/" rel="noopener noreferrer"&gt;Exploring Inlined Requires&lt;/a&gt; - A 3-part series of Metro’s &lt;code&gt;inlineRequires&lt;/code&gt;: the transform mechanics, when flipping the flag doesn’t improve cold start, and how Expo Router solves it with lazy loading.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.callstack.com/blog/on-device-ai-after-wwdc-2026-whats-new" rel="noopener noreferrer"&gt;On-device AI after WWDC 2026: What's new?&lt;/a&gt; - A look into new AI features from Apple and how React Native will make use of them.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.callstack.com/blog/ai-supported-brownfield-migration-to-react-native" rel="noopener noreferrer"&gt;AI-Supported Brownfield Migration to React Native&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/expo-highlights-new-products-and-plans-for-the-future" rel="noopener noreferrer"&gt;What happened at AppJS 2026? Highlights, new products, and plans for the future&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstack/react-native-testing-library/releases/tag/v14.0.0" rel="noopener noreferrer"&gt;React Native Testing Library 14.0 - React 19, async APIs, Test Renderer replacement&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://devblogs.microsoft.com/react-native/%F0%9F%9A%80react-native-windows-v0-83-is-here/" rel="noopener noreferrer"&gt;React Native Windows 0.83 - Performance Testing Framework, Richer Pointer Event Support, Fabric Component Parity&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/IronTony/react-native-docusign" rel="noopener noreferrer"&gt;React Native DocuSign - Native captive signing for React Native &amp;amp; Expo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://lynxjs.org/next/blog/lynx-3-8" rel="noopener noreferrer"&gt;Lynx 3.8 - WebAssembly on Android, Adaptive Layout, Line-aware Auto Font Sizing, monthly release cadence&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/brandtnewlabs/react-native-livechart" rel="noopener noreferrer"&gt;Livechart - High-performance live line &amp;amp; candlestick charts for React Native, built on Skia and Reanimated&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/margelo/react-native-nitro-fetch/releases/tag/v1.4.0" rel="noopener noreferrer"&gt;Nitro Fetch 1.4 - Support for local and non-HTTP URLs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/mrousavy/react-native-data-scanner" rel="noopener noreferrer"&gt;Data Scanner - Fast one-shot QR/Barcode scanning, powered by Nitro and native scanner UIs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstack/agent-device/releases/tag/v0.17.0" rel="noopener noreferrer"&gt;Agent Device 0.17 - iOS runner stability, perf metrics, replay test sharding&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/rozenite/releases/tag/v1.12.0" rel="noopener noreferrer"&gt;Rozenite 1.12 - DevTools middleware fixes, compose sections across hook instances, support Expo bundle asset listings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstack/react-native-bottom-tabs/releases/tag/react-native-bottom-tabs%401.3.0" rel="noopener noreferrer"&gt;Bottom Tabs 1.3 - Liquid Glass tint color improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=j4V3XwQ65s8" rel="noopener noreferrer"&gt;Simon Grimm - I used Expo and Vega OS to make a Fire TV App&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=vons_XypdQw" rel="noopener noreferrer"&gt;Daniel Friyia Jr - Intro to 3D Graphics with WebGPU and Expo&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔀 Other
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;📣 &lt;a href="https://voidzero.dev/posts/voidzero-cloudflare" rel="noopener noreferrer"&gt;VoidZero is Joining Cloudflare&lt;/a&gt; - Cloudflare acquired the company behind Vite, Vitest, Rolldown, Oxc, Oxfmt, Oxlint, and Vite+. These tools will remain open-source, MIT-licensed, and community-driven. Cloudflare promises no lock-in and plans to build its new &lt;code&gt;cf&lt;/code&gt; CLI around Vite.&lt;/li&gt;
&lt;li&gt;📣 &lt;a href="https://github.blog/changelog/2026-06-09-upcoming-breaking-changes-for-npm-v12/" rel="noopener noreferrer"&gt;GitHub - Upcoming breaking changes for npm v12&lt;/a&gt; - GitHub announces that npm v12 (scheduled for July) will improve security-related default behaviors, blocking install lifecycle scripts by default!&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://zackoverflow.dev/writing/why-does-tsgo-use-so-much-memory" rel="noopener noreferrer"&gt;Why does tsgo use so much memory?&lt;/a&gt; - It runs one type checker per thread.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/rolldown/rolldown/releases/tag/v1.1.0" rel="noopener noreferrer"&gt;Rolldown 1.1 - Enables lazy barrel optimization, aligns TS &lt;code&gt;references&lt;/code&gt; resolution with tsc&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://blog.angular.dev/announcing-angular-v22-c52bb83a4664" rel="noopener noreferrer"&gt;Angular 22.0 - Signal Forms, Angular Aria, OnPush-by-default, async DI, IA, and more&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤭 Fun
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://x.com/sebastienlorber/status/2064657668044640285" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F740ruf3fetq0xnwr0bkd.jpg" alt="alt" width="800" height="702"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See ya! 👋&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactnative</category>
    </item>
    <item>
      <title>This Week In React #284 : TanStack Start, Compiler, React Router | App.js, Gesture Handler, SPM, Expo | npm, Node.js, Astro</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Fri, 05 Jun 2026 12:33:51 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-284-tanstack-start-compiler-react-router-appjs-gesture-handler-spm-523p</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-284-tanstack-start-compiler-react-router-appjs-gesture-handler-spm-523p</guid>
      <description>&lt;p&gt;Hi everyone, Kacper and Filip from &lt;a href="https://swmansion.com/" rel="noopener noreferrer"&gt;Software Mansion&lt;/a&gt; here.&lt;/p&gt;

&lt;p&gt;This week, TanStack Start is once again in the spotlight. The React Compiler in Rust is on its way. React Router and Remix shipped important security patches – update immediately. There's also a fresh batch of releases from TanStack Form, XState Store, shadcn, React Aria, and more.&lt;/p&gt;

&lt;p&gt;On the React Native side, this week was dominated by &lt;a href="http://appjs.co" rel="noopener noreferrer"&gt;App.js Conf 2026&lt;/a&gt; in Kraków. Gesture Handler 3.0, Swift Package Manager support for React Native, and Legend List 3.0 were among the highlights, alongside Expo announcements like EAS Observe.&lt;/p&gt;

&lt;p&gt;Let's go!&lt;/p&gt;




&lt;p&gt;💡 Subscribe to the official newsletter to receive an email every week!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthisweekinreact.com%3Futm_source%3Ddev_crosspost" alt="banner" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/marmelab/atomic-crm" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F62io0z10qwzvbkza6mjc.jpg" alt="Atomic CRM: The Open-Source CRM Toolkit for Developers" width="799" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/marmelab/atomic-crm" rel="noopener noreferrer"&gt;Atomic CRM: The Open-Source CRM Toolkit for Developers&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Stop struggling with locked-in CRMs and expensive seats. Atomic CRM gives you the power of a professional CRM with the total freedom of open-source.&lt;/p&gt;

&lt;p&gt;It’s the only toolkit that combines a high-end user experience with data sovereignty. No more lock-in, no more "renting" your contacts.&lt;/p&gt;

&lt;p&gt;Everything you need is already there:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Native Mobile App&lt;/strong&gt; for on-the-go access.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Intuitive Kanban Boards&lt;/strong&gt; for pipeline management.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Built-in Email Tracking&lt;/strong&gt; to stay on top of leads.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Free SSO&lt;/strong&gt; for seamless team integration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MCP Server Integration&lt;/strong&gt; for productivity gains.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Why settle for a black box SaaS when you can own the entire platform? &lt;a href="https://marmelab.com/atomic-crm/" rel="noopener noreferrer"&gt;Deploy Atomic CRM&lt;/a&gt; on your own infrastructure in minutes and regain control over your most valuable asset: your data.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚛️ React
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7uzcguffkurm5iii9sy4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7uzcguffkurm5iii9sy4.jpg" alt="TanStack + Rspack" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TanStack Start Gaining Momentum:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📜 &lt;a href="https://tanstack.com/blog/start-adds-rsbuild-support" rel="noopener noreferrer"&gt;TanStack Start Adds First-Class Rsbuild Support&lt;/a&gt; - TanStack Start now supports Rsbuild / Rspack alongside Vite via a new plugin adapter, covering SSR, streaming, HMR, Server Functions, and RSC.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://lovable.dev/fr/blog/building-apps-using-tanstack-start" rel="noopener noreferrer"&gt;Lovable - Building apps using TanStack Start&lt;/a&gt; - The AI App builder is now using TanStack Start with SSR by default for all new projects.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://performance.dev/the-conductor-rewrite" rel="noopener noreferrer"&gt;The Conductor Rewrite: What They Changed to Make It Fast&lt;/a&gt; - Migrating their Tauri desktop app from React Router to TanStack Router significantly reduced re-renders thanks to its built-in structural sharing and stable refs.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://workos.com/blog/tanstack-start-authentication-guide" rel="noopener noreferrer"&gt;TanStack Start authentication: A developer's guide for 2026&lt;/a&gt; - Why &lt;code&gt;beforeLoad&lt;/code&gt; doesn't protect server functions, the double-guard pattern, sessions, and middleware.&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://svar.dev/react/gantt/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=may" rel="noopener noreferrer"&gt;SVAR React Gantt – Build project timelines with a pure React API and advanced scheduling (MIT &amp;amp; PRO)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/facebook/react/pull/36173#issuecomment-4608356402" rel="noopener noreferrer"&gt;React Compiler update - The Rust compiler PR to be merged soon&lt;/a&gt; - It already produces at 99.9% the same output as the original TS compiler. You can try it already through a local PR checkout. The Oxc team is already working on an integration (&lt;a href="https://github.com/oxc-project/oxc/pull/22942" rel="noopener noreferrer"&gt;PR&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;📅 &lt;a href="https://nextjs.org/nights" rel="noopener noreferrer"&gt;Next.js Nights - The Next.js team on tour (9 June SF, 11 June Amsterdam, 18 June London)&lt;/a&gt; - They also &lt;a href="https://x.com/nextjs/status/2059997719197098425" rel="noopener noreferrer"&gt;teased us&lt;/a&gt; about an upcoming v16.3 release, including Instant Navigations and new AI-related features.&lt;/li&gt;
&lt;li&gt;🔐 &lt;a href="https://x.com/ReactRouter/status/2061839906834395649" rel="noopener noreferrer"&gt;React Router &amp;amp; Remix v2 - 7 CVEs published&lt;/a&gt; - Includes RCE, CSRF, XSS, and DoS vulnerabilities. Update to React Router v7.16.0 / v6.30.4 or Remix v2.17.5.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://dev.to/mbarzeev/deprecating-a-react-component-using-typescript-overload-2ka"&gt;Deprecating a React component using TypeScript Overload&lt;/a&gt; - How to ship a breaking component redesign without renaming it with the usage of TS overload, mark the old API as &lt;code&gt;@deprecated&lt;/code&gt;, and let consumers opt into the new version by adding a &lt;code&gt;new&lt;/code&gt; prop.&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-jun3" rel="noopener noreferrer"&gt;PostHog - PostHog Code and the self-driving product&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/TanStack/form/releases/tag/%40tanstack/react-form%401.33.0" rel="noopener noreferrer"&gt;TanStack Form 1.33 - &lt;code&gt;FormGroup&lt;/code&gt; API to simplify multi-step forms&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/react-hook-form/react-hook-form/releases/tag/v7.77.0" rel="noopener noreferrer"&gt;React Hook Form 7.77 - new &lt;code&gt;resetDefaultValues&lt;/code&gt; API&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/resend/react-email/releases/tag/react-email%406.5.0" rel="noopener noreferrer"&gt;React Email 6.5 - Filter compatibility warnings by client, accessibility improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://docs.swmansion.com/TypeGPU/ecosystem/typegpu-react/" rel="noopener noreferrer"&gt;TypeGPU React - React bindings for TypeGPU&lt;/a&gt; - Hooks like &lt;code&gt;useFrame&lt;/code&gt;, &lt;code&gt;useUniform&lt;/code&gt;, and &lt;code&gt;useRoot&lt;/code&gt; to write GPU shaders directly in TypeScript and integrate WebGPU into React components.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/facebook/lexical/releases/tag/v0.45.0" rel="noopener noreferrer"&gt;Lexical 0.45 - New composable DOMImportExtension replacing importDOM, backspace now preserves block type, canUndo/canRedo signals on HistoryExtension.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/adobe/react-spectrum/releases/tag/react-aria-components%401.18.0" rel="noopener noreferrer"&gt;React Aria Components 1.18 - &lt;code&gt;Calendar&lt;/code&gt; multi-date selection, month/year pickers, new &lt;code&gt;TableFooter&lt;/code&gt; and &lt;code&gt;SliderFill&lt;/code&gt; components&lt;/a&gt; - Checkbox, Radio, and Switch now support description and error message slots.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://react-spectrum.adobe.com/releases/v1-4-0.html" rel="noopener noreferrer"&gt;React Spectrum 1.4 - drag &amp;amp; drop in ListView and similar, TableView highlight selection &amp;amp; TableFooter, custom prefixes in ComboBox/TextField, multi-date Calendar selection&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://ui.shadcn.com/docs/changelog" rel="noopener noreferrer"&gt;Shadcn UI 4.9 &amp;amp; 4.10 - GitHub registries, &lt;code&gt;npx shadcn eject&lt;/code&gt; to extract any component into your codebase&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/amannn/next-intl/releases/tag/v4.13.0" rel="noopener noreferrer"&gt;Next Intl 4.13 - &lt;code&gt;useExtracted&lt;/code&gt; function now generates message keys using URL-safe base64&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/xyflow/xyflow/releases/tag/%40xyflow/react%4012.11.0" rel="noopener noreferrer"&gt;React Flow 12.11 - new &lt;code&gt;autoPanOnSelection&lt;/code&gt; prop&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/statelyai/xstate/releases/tag/%40xstate%2Fstore%404.0.0" rel="noopener noreferrer"&gt;XState Store 4.0 - &lt;code&gt;createStoreLogic&lt;/code&gt; for reusable stores, &lt;code&gt;enq.trigger&lt;/code&gt; for chaining events, Standard Schema support, &lt;code&gt;store.can&lt;/code&gt; for event checking.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/pierpo/react-archer/releases/tag/v5.0.0" rel="noopener noreferrer"&gt;React Archer 5.0 - Draw arrows between elements - Add React 19 support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/nickjvandyke/eslint-plugin-react-you-might-not-need-an-effect/blob/main/CHANGELOG.md#100-2026-05-31" rel="noopener noreferrer"&gt;ESLint Plugin React ”You Might Not Need An Effect” 1.0&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=J4kzovOTNKw" rel="noopener noreferrer"&gt;Jack Herrington - All 17 TanStack Projects In ONE App!&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://www.youtube.com/watch?v=dbe0wC9Y8bo" rel="noopener noreferrer"&gt;Señors at Scale - Redux at Scale with Mark Erikson&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flkaurt02oufd010l76yw.jpg" alt="Ship AI generated code safely with Meticulous." width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Ship AI generated code safely with Meticulous.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Claude writes your code. Claude reviews your code. Claude fixes the review comments. And somehow, &lt;em&gt;you're&lt;/em&gt; the one getting paged at 2am when it breaks in prod.&lt;/p&gt;

&lt;p&gt;Fortunately, top AI-driven teams like Dropbox, Notion, LaunchDarkly, and Wiz rely on Meticulous to run 1000s of e2e UI tests autonomously, covering every user flow, edge case, role and permutation. Built by ex-Palantir engineers, &lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Meticulous gives you near-exhaustive coverage in weeks, without any developer effort&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;It works like magic in the background:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Near-exhaustive coverage on every test run&lt;/li&gt;
&lt;li&gt;No test creation&lt;/li&gt;
&lt;li&gt;No maintenance (seriously)&lt;/li&gt;
&lt;li&gt;Zero flakes (built on a deterministic browser)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Check it out&lt;/strong&gt; - and see why one engineering leader at Dropbox said that “&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st#:~:text=Once%20we%20started%20using%20Meticulous%2C%20we%20couldn%27t%20imagine%20working%20without%20it." rel="noopener noreferrer"&gt;once we started using Meticulous, we couldn’t imagine working without it&lt;/a&gt;.”&lt;/p&gt;




&lt;h2&gt;
  
  
  📱 React-Native
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://appjs.co" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbyhhlb1rf04m9cwbuk0e.png" alt="Highlights from App.js Conf 2026" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://appjs.co" rel="noopener noreferrer"&gt;Highlights from App.js Conf 2026&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Last week, the community gathered at the App.js Conf happening in Kraków. We're highlighting three announcements here, since many of the others shipped over the past month and were demoed again on stage. Make sure to catch the rest of the talks through the live stream recordings (&lt;a href="https://www.youtube.com/live/4H8iRPN0Q2M?si=2dYvWbCDiA3SHznk" rel="noopener noreferrer"&gt;Day 1&lt;/a&gt;, &lt;a href="https://www.youtube.com/live/dvpeMlwPNnw?si=po7jCHjf84nn04vF" rel="noopener noreferrer"&gt;Day 2&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.0.0" rel="noopener noreferrer"&gt;&lt;strong&gt;React Native Gesture Handler 3.0&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Major release rebuilt for the New Architecture, dropping Old Architecture support, introducing a new hook-based API which is React Compiler friendly, a new &lt;code&gt;Touchable&lt;/code&gt; component with built-in animations and deeper Reanimated integration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Swift Package Manager support for React Native&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Meta + Expo previewed &lt;code&gt;npx react-native spm&lt;/code&gt;, which scaffolds SPM config to replace CocoaPods: generates a committable Xcode project, runs codegen, caches XCFrameworks globally. CocoaPods trunk goes read-only Dec 2. Both Cocoapods and SPM work in parallel during the transition.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.expo.dev/eas/observe/introduction/" rel="noopener noreferrer"&gt;&lt;strong&gt;EAS Observe&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;New Expo production performance monitoring service that tracks real-world startup times, render performance, and bundle load times across devices, with release comparison and per-session investigation. Currently in Private Preview, free up to 10K MAU for at least three months.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://docs.maestro.dev/get-started/maestro-mcp?utm_source=this-week-in-react" rel="noopener noreferrer"&gt;Maestro MCP - Let your AI agent write and run mobile UI tests for you&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🐦 &lt;a href="https://x.com/tmikov/status/2060005546053579163" rel="noopener noreferrer"&gt;N-API v10 support landed in Hermes trunk - native Node-API addons can now run on Hermes without modification. Still experimental.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🗓️ &lt;a href="https://ti.to/chainreact/chainreact2026/discount/TWIR" rel="noopener noreferrer"&gt;Chain React&lt;/a&gt; - 🇺🇸 Portland - 30-31 July. The US React Native conference is back! Grab your tickets now and get a 15% discount with code "TWIR"!&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://evanbacon.dev/blog/expo" rel="noopener noreferrer"&gt;Things I Learned While Building Expo&lt;/a&gt; - Evan Bacon is leaving Expo after 9 years. He wrote what he learned on dogfooding, listening user feedback, building developer trust through rough patches, and why data beats vibes when you're building developer tools.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/expo-router-v56-decoupling-from-react-navigation" rel="noopener noreferrer"&gt;Expo Router v56: Decoupling from React Navigation&lt;/a&gt; - Covers the decision to fork React Navigation internals for full architectural control, codemod-assisted migration, streaming SSR with generateMetadata, and new Android toolbar API and Native Tabs customization.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/native-code-expo-sdk-56" rel="noopener noreferrer"&gt;Native code in Expo SDK 56: inline modules and type generation&lt;/a&gt; - How inline modules let you write Swift and Kotlin files directly alongside your app code, and how &lt;code&gt;expo-type-information&lt;/code&gt; automatically generates matching TypeScript interfaces from them.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/margelo/react-native-runtimes" rel="noopener noreferrer"&gt;React Native Runtimes - Run RN Components and business logic in isolated Hermes runtimes&lt;/a&gt; - This Margelo/Callstack library permits rendering React components on separate JS Runtimes, and share state across them.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/shirakaba/expo-desktop" rel="noopener noreferrer"&gt;Expo Desktop - build macOS and Windows desktop app with Expo&lt;/a&gt; - Unofficial announcement coming from community.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://www.react.doctor/react-native" rel="noopener noreferrer"&gt;React Native Doctor&lt;/a&gt; - New open-source CLI that scans your React Native app for performance and security bugs and fixes them with AI agents&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/TanStack/ai/releases/tag/@tanstack/ai@0.23.0" rel="noopener noreferrer"&gt;TanStack AI 0.23 - React Native support&lt;/a&gt; - Chat clients and framework hooks now run in React Native via a new &lt;code&gt;fetcher&lt;/code&gt; option.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://keyframer.dev/" rel="noopener noreferrer"&gt;Keyframer.dev - Visual Animation Editor for React Native&lt;/a&gt; - Outputs production-ready Reanimated v4 code - drag keyframes on a timeline, or type a prompt and get a &lt;code&gt;useAnimatedScene&lt;/code&gt; hook you can paste directly into your project.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/LegendApp/legend-list/blob/main/CHANGELOG.md#300" rel="noopener noreferrer"&gt;Legend List 3.0 - Web support added, scroll jump prevention is now core behavior, and &lt;code&gt;maintainVisibleContentPosition&lt;/code&gt; is now opt-in and disabled by default.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/rozenite/releases/tag/v1.11.0" rel="noopener noreferrer"&gt;Rozenite 1.11 - Network activity timeline &amp;amp; export, performance startup insights, waterfall view, navigation dispatch origin tracking&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion-labs/react-native-bottom-sheet" rel="noopener noreferrer"&gt;@swmansion/react-native-bottom-sheet - Native bottom-sheet components, inline and modal, with content-based sizing and scrollable-child handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/getsentry/sentry-react-native/releases/tag/8.13.0" rel="noopener noreferrer"&gt;Sentry React Native 8.13 - &lt;code&gt;NavigationContainer&lt;/code&gt; wrapper for React Navigation, iOS Swift Package Manager support, Expo Router param extraction, pause/resume app hang tracking&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/argent/releases/tag/v0.9.0" rel="noopener noreferrer"&gt;Argent 0.9 - new &lt;code&gt;screenshot-diff&lt;/code&gt; too, configurable release-age-aware update reminders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/agent-device/releases/tag/v0.16.0" rel="noopener noreferrer"&gt;Agent Device 0.16 - Maestro YAML replay compatibility, structured MCP command tools, iOS transform gestures, Android ANR recovery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/uni-stack/uniwind/releases/tag/v1.8.0" rel="noopener noreferrer"&gt;Uniwind 1.8 - Vite 8 support, &lt;code&gt;uniwind generate-artifacts&lt;/code&gt; CLI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/RevenueCat/react-native-purchases/releases/tag/10.2.0" rel="noopener noreferrer"&gt;React Native Purchases 10.2 - Ad tracking support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=yH0QwDpV4ZM" rel="noopener noreferrer"&gt;Code with Beto - Why AI-Built Apps Feel Cheap (And How to Fix It)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=bu8X9mCL0Ek" rel="noopener noreferrer"&gt;Expo - Where is Expo Go?&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔀 Other
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;📊 &lt;a href="https://survey.devographics.com/en-US/survey/state-of-css/2026?source=this_week_in_react" rel="noopener noreferrer"&gt;State of CSS 2026 - Survey is now open&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://frontendmasters.com/blog/your-node-js-streams-arent-backpressuring-theyre-silently-eating-your-memory/" rel="noopener noreferrer"&gt;Node.js streams, backpressure, memory leaks&lt;/a&gt; - A pragmatic 2-part deep dive to help you reduce the memory footprint of your streams.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://pierre.computer/writing/on-rendering-diffs" rel="noopener noreferrer"&gt;On Rendering Diffs – Pierre Computer Company&lt;/a&gt; - Deep dive into building a zero-blanking diff virtualizer using the "Inverse Sticky Technique", with insights on layout estimation, DOM pooling, memory optimization, and deferred syntax highlighting.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/nodejs/node/releases/tag/v26.3.0" rel="noopener noreferrer"&gt;Node.js 26.3 - New &lt;code&gt;permission.drop()&lt;/code&gt; API, configurable HTTP header validation, &lt;code&gt;Buffer.poolSize&lt;/code&gt; bumped to 64 KiB&lt;/a&gt; - Improves the security model, letting you start with the permissions you need for initialization, then drop the ones you no longer need at runtime.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/npm/cli/releases/tag/v11.16.0" rel="noopener noreferrer"&gt;npm 11.16 - Phase 1 of package.json &lt;code&gt;allowScripts&lt;/code&gt;&lt;/a&gt; - npm is rolling out supply chain security improvements in 2 phases, catching up with other package managers. v11.16 adds &lt;code&gt;package.allowScripts=[]&lt;/code&gt; and warns on unapproved postinstall scripts. v12.0 will block them by default.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/endevco/aube/releases/tag/v1.17.0" rel="noopener noreferrer"&gt;Aube 1.17 - Rust-based package manager - Staged publish trust, hoisting limits, remote tarball integrity fixes, and OTP support for dist-tag writes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://pnpm.io/blog/releases/11.5" rel="noopener noreferrer"&gt;pnpm 11.5 - &lt;code&gt;hoistingLimits&lt;/code&gt; setting, interactive prompt library, detect staged publishing trust downgrades&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://astro.build/blog/astro-640/" rel="noopener noreferrer"&gt;Astro 6.4 - Pluggable markdown processor, Rust-based Markdown processor for faster builds, and Cloudflare helpers for advanced routing.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/yarnpkg/berry/releases/tag/%40yarnpkg/cli/4.16.0" rel="noopener noreferrer"&gt;Yarn 4.16 - New stage command for staged publishing, editor SDK support for oxc&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤭 Fun
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://x.com/vxunderground/status/2056571455001797000" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fytcehsr08f25mh62o1lc.png" alt="alt" width="599" height="552"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See ya! 👋&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactnative</category>
    </item>
    <item>
      <title>This Week In React #283: TanStack, RSC, Liquid DOM, Performance| Expo, Reanimated, worklets, NativeScript | TC39, npm, pnpm, Node.js</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Fri, 29 May 2026 12:32:59 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-283-tanstack-rsc-liquid-dom-performance-expo-reanimated-worklets-4pjf</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-283-tanstack-rsc-liquid-dom-performance-expo-reanimated-worklets-4pjf</guid>
      <description>&lt;p&gt;Hi everyone, &lt;a href="https://x.com/sebastienlorber" rel="noopener noreferrer"&gt;Seb&lt;/a&gt; and &lt;a href="https://x.com/jaworek3211" rel="noopener noreferrer"&gt;Jan&lt;/a&gt; here 👋!&lt;/p&gt;

&lt;p&gt;This week we have great deep dive blog posts about data fetching (TanStack vs Next.js) and performance (GitHub and Linear).&lt;/p&gt;

&lt;p&gt;On the React Native side, Expo dropped a major SDK with Expo UI stable. Reanimated leverages the shared animation backend and improves CSS animations on iOS.&lt;/p&gt;

&lt;p&gt;Supply chain security remains an important topic. npm introduced staged publishing workflows, and will block postinstall scripts by default in the near future.&lt;/p&gt;




&lt;p&gt;💡 Subscribe to the &lt;a href="https://thisweekinreact.com?utm_source=dev_crosspost" rel="noopener noreferrer"&gt;official newsletter&lt;/a&gt; to receive an email every week!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://thisweekinreact.com?utm_source=dev_crosspost" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz4uz6ixhzg21rrks3os9.png" alt="banner" width="799" height="373"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flkaurt02oufd010l76yw.jpg" alt="Ship AI generated code safely with Meticulous." width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Ship AI generated code safely with Meticulous.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Claude writes your code. Claude reviews your code. Claude fixes the review comments. And somehow, &lt;em&gt;you're&lt;/em&gt; the one getting paged at 2am when it breaks in prod.&lt;/p&gt;

&lt;p&gt;Fortunately, top AI-driven teams like Dropbox, Notion, LaunchDarkly, and Wiz rely on Meticulous to run 1000s of e2e UI tests autonomously, covering every user flow, edge case, role and permutation. Built by ex-Palantir engineers, &lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Meticulous gives you near-exhaustive coverage in weeks, without any developer effort&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;It works like magic in the background:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Near-exhaustive coverage on every test run&lt;/li&gt;
&lt;li&gt;No test creation&lt;/li&gt;
&lt;li&gt;No maintenance (seriously)&lt;/li&gt;
&lt;li&gt;Zero flakes (built on a deterministic browser)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Check it out&lt;/strong&gt; - and see why one engineering leader at Dropbox said that “&lt;a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q2&amp;amp;utm_content=1st#:~:text=Once%20we%20started%20using%20Meticulous%2C%20we%20couldn%27t%20imagine%20working%20without%20it." rel="noopener noreferrer"&gt;once we started using Meticulous, we couldn’t imagine working without it&lt;/a&gt;.”&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚛️ React
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://blog.sentry.io/fixing-javascript-observability/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=observability-fy27q2-evergreen&amp;amp;utm_content=newsletter-react-link-javascript-blog-learnmore" rel="noopener noreferrer"&gt;Sentry - One engineer, 44 libraries, and a Node API nobody was using. Here's how JavaScript observability is getting fixed upstream.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://aurorascharff.no/posts/component-architecture-for-react-server-components/" rel="noopener noreferrer"&gt;Component Architecture for React Server Components&lt;/a&gt; - A deep dive into data fetching techniques, their limits and tradeoffs. RSCs permit to design explicit loading experiences and leverage composition more than loaders.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tkdodo.eu/blog/tan-stack-router-and-query" rel="noopener noreferrer"&gt;TanStack Router and Query&lt;/a&gt; - Integrating Query with Route loaders permits to start fetching data as early as possible (even on intent / link hover), and have granular control over what suspends/defers. It’s recommended to avoid &lt;code&gt;Router.useLoaderData()&lt;/code&gt; and treat the loader as a fire-and-forget event handler.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://github.blog/engineering/architecture-optimization/from-latency-to-instant-modernizing-github-issues-navigation-performance/" rel="noopener noreferrer"&gt;Modernizing GitHub Issues navigation performance&lt;/a&gt; - GitHub is in the middle of moving from Rails-rendered pages to a React frontend. They explain how they improved Issues navigation performance, involving a mix of soft/hard navigation and Rails Turbo transitions.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://performance.dev/how-is-linear-so-fast-a-technical-breakdown" rel="noopener noreferrer"&gt;How's Linear so fast?&lt;/a&gt; - Someone studied in depth their techniques, involving many details, including using MobX observables and storing content locally in IndexedDB.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://formisch.dev/blog/one-core-six-frameworks/" rel="noopener noreferrer"&gt;One core, six frameworks, zero runtime abstraction&lt;/a&gt; - Formisch is a framework-agnostic form library that integrates with many frameworks by swapping native reactivity at build time instead of providing adapters. React doesn’t have native signals so it still requires a minimal signal implementation.&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://www.skybridge.tech/?utm_source=Third+Party&amp;amp;utm_medium=react+newsletter&amp;amp;utm_campaign=Skybridge+V1" rel="noopener noreferrer"&gt;Skybridge V1 - MCP Apps developers, meet the react framework for building MCP apps. Write once, run in ChatGPT, Claude, and any MCP client.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://getspiceflow.com/" rel="noopener noreferrer"&gt;Spiceflow - Type-safe API and full-stack React RSC framework focused on absolute simplicity&lt;/a&gt; - A new meta-framework being actively worked on. See also &lt;a href="https://holocron.so/" rel="noopener noreferrer"&gt;Holocron&lt;/a&gt;, a Mintlify-compatible docs site generator built on top.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/AndrewPrifer/liquid-dom" rel="noopener noreferrer"&gt;Liquid DOM - Liquid Glass for the Web&lt;/a&gt; - A promising library based on WebGPU and HTML-in-Canvas, providing first-class React and React-Three-Fiber bindings.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://tanstack.com/blog/tanstack-virtual-perf-and-ios" rel="noopener noreferrer"&gt;TanStack Virtual 3.15 - A lot faster, fix iOS momentum scroll&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://tanstack.com/blog/tanstack-virtual-chat" rel="noopener noreferrer"&gt;TanStack Virtual 3.16 - Chat support: end anchoring, append-follow, stable prepends, streaming&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://ui.shadcn.com/docs/changelog/2026-05-registry-include" rel="noopener noreferrer"&gt;shadcn CLI 4.8 - Registry authors can split large &lt;code&gt;registry.json&lt;/code&gt; files into smaller slices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/haydenbleasel/ultracite/releases/tag/ultracite%407.8.0" rel="noopener noreferrer"&gt;Ultracite 7.8 - Zero-config linter preset for ESLint/Biome/Oxlint - Add TanStack preset&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://www.apollographql.com/blog/whats-new-in-apollo-client-4-2" rel="noopener noreferrer"&gt;Apollo Client 4.2 - Type-safe default options, event-based refetching&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://lingui.dev/blog/2026/05/22/lingui-context-directives" rel="noopener noreferrer"&gt;Lingui 6.1 - Directives to set i18n context and namespace multiple translations at once&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/nkzw-tech/fbtee" rel="noopener noreferrer"&gt;fbtee 2.0 - i18n framework for JS and React, modern continuation of facebook/fbt&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://press.fumadocs.dev/blog/introducing-fumapress" rel="noopener noreferrer"&gt;Fumapress - Docs framework based on Fumadocs (agnostic), Vite, React, MDX, Waku&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=_PB9rHndhU8" rel="noopener noreferrer"&gt;Jack Herrington - Is TanStack Starts Deferred Hydration Revolutionary?&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=OODK3KGUjDA" rel="noopener noreferrer"&gt;Tobi Mey - I Tested Next.js Dev MCP&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://www.youtube.com/watch?v=LZa3GIpX4l4" rel="noopener noreferrer"&gt;Wiskey.fm - React Foundation, AI Agents, and the Future of Frameworks w/ Seth Webster&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://www.youtube.com/watch?v=anz2xw4FY9c" rel="noopener noreferrer"&gt;Señors at Scale - TanStack Query at Scale with Dominik Dorfmeister (TkDodo)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💸 Sponsor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.agent.sh/?utm_campaign=agent_conf&amp;amp;utm_source=twir&amp;amp;utm_medium=email&amp;amp;utm_content=cfp" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0dc0pupniz3y5en9lzbx.jpg" alt="Agent Conf CFP is Now Open" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.agent.sh/?utm_campaign=agent_conf&amp;amp;utm_source=twir&amp;amp;utm_medium=email&amp;amp;utm_content=cfp" rel="noopener noreferrer"&gt;Agent Conf CFP is Now Open&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you’re building agents, pushing the boundaries of AI engineering, or have something genuinely new to share about autonomous systems, this one is for you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent Conf&lt;/strong&gt; is calling for proposals, and they want the good stuff - not safe corporate talks, but bold, experimental, and production-hardened ideas that move the field forward. As a speaker, you’ll be sharing the stage with heavy hitters like &lt;strong&gt;Kent C. Dodds&lt;/strong&gt; and &lt;strong&gt;Nader Dabit&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The deadline is June 20, 2026. Submit your talk at &lt;a href="https://sessionize.com/agent-conf-2026/" rel="noopener noreferrer"&gt;&lt;strong&gt;https://sessionize.com/agent-conf-2026/&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent Conf&lt;/strong&gt; is happening in Warsaw on September 17-18, 2026. &lt;strong&gt;Get 10% off&lt;/strong&gt; your ticket with promo code &lt;strong&gt;TWIR&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  📱 React-Native
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://expo.dev/changelog/sdk-56" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc0vv7wi8xdsdhcz8dsbz.jpg" alt="Expo SDK 56" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://expo.dev/changelog/sdk-56" rel="noopener noreferrer"&gt;Expo SDK 56&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A new Expo SDK is out! As always it’s packed with lots of changes. It bumps to React Native 0.85 and React 19.2, which bring Hermes V1 by default, the new animation backend, and more.&lt;/p&gt;

&lt;p&gt;Here are the most notable highlights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://expo.dev/blog/expo-ui-stable-sdk-56" rel="noopener noreferrer"&gt;Stable Expo UI&lt;/a&gt; - SwiftUI on iOS and Jetpack Compose on Android, now production-ready, providing universal components, replacing 8 community libraries. The &lt;a href="https://expo.dev/blog/worklet-integration-in-expo-ui-synchronously-controlling-swiftui-and-compose-state" rel="noopener noreferrer"&gt;worklet integration and &lt;code&gt;useNativeState()&lt;/code&gt;&lt;/a&gt; help you implement flicker-free &lt;code&gt;&amp;lt;TextInput&amp;gt;&lt;/code&gt; masking.&lt;/li&gt;
&lt;li&gt;Expo Router - no longer depends on &lt;code&gt;@react-navigation/*&lt;/code&gt;. It ships with experimental support for the new native stack (Material-style headers, predictive back gesture), SSR streaming on web, and customizable SuspenseFallback in layout routes.&lt;/li&gt;
&lt;li&gt;Faster native builds - precompiled XCFrameworks cut iOS clean builds ~16% and opt-in precompiled headers on Android deliver up to 2.81x faster CMake builds.&lt;/li&gt;
&lt;li&gt;Expo modules improvements - inline modules let you write Kotlin/Swift alongside JS with automatic TS type generation. A new Kotlin compiler plugin replaces reflection, yielding ~40% faster cold starts and ~33% faster first render on Android.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And many more great additions like File System API, consistent status and navigation bars, and stable iOS widgets, there are far too many updates to list. Make sure to check out the &lt;a href="https://expo.dev/changelog/sdk-56" rel="noopener noreferrer"&gt;full changelog&lt;/a&gt; or &lt;a href="https://www.youtube.com/watch?v=MKqGbv-Tssg" rel="noopener noreferrer"&gt;watch the official intro video&lt;/a&gt;.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-may27" rel="noopener noreferrer"&gt;PostHog - 4,063 errors closed without a human opening PostHog – here's what we learned&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/react-navigation/react-navigation/pull/13118" rel="noopener noreferrer"&gt;React Navigation PR - Rework server rendering API to support streaming&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/facebook/react-strict-dom/pull/475" rel="noopener noreferrer"&gt;React Strict DOM PR - Adopt React Native 0.82 DOM Node APIs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💬 &lt;a href="https://github.com/react-native-community/discussions-and-proposals/pull/1003" rel="noopener noreferrer"&gt;React Native RFC - Dedicated &lt;code&gt;*Instance&lt;/code&gt; types for built-in RN component refs&lt;/a&gt; - With the upcoming Strict TypeScript API and auto-generated types, built-in components will be typed as functions instead of classes: &lt;code&gt;useRef&amp;lt;View&amp;gt;&lt;/code&gt; will break. This RFC proposes to export a &lt;code&gt;ViewInstance&lt;/code&gt; type to let you type &lt;code&gt;useRef&amp;lt;ViewInstance&amp;gt;&lt;/code&gt; instead.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://blog.margelo.com/deep-dive-in-keyboard-handling" rel="noopener noreferrer"&gt;The Go-To Guide for Understanding Keyboards in React Native&lt;/a&gt; - A deep dive into how keyboards work, differences between OS versions, quirks, and how to make it work across platforms.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.callstack.com/blog/profile-react-components-in-react-native-release-builds" rel="noopener noreferrer"&gt;Profile React Components in React Native Release Builds&lt;/a&gt; - A way to profile without debug-mode overhead similar to what web developers do for a long time.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://nicolasgallagher.com/one-react-for-web-and-native/" rel="noopener noreferrer"&gt;One React for Web and Native&lt;/a&gt; - An outline on how to unify React Native with the web platform to reduce ecosystem fragmentation. React Native directly implements subsets of the DOM specification to make React Strict DOM possible.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://www.npmjs.com/package/@nativescript/react-native" rel="noopener noreferrer"&gt;NativeScript React Native&lt;/a&gt; - TurboModule wrapper giving access to all native APIs in React Native, letting you create UIKit views on the fly. This looks promising, and I’m sure we’ll hear more about it soon!&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://lynxjs.org/next/blog/lynx-ui" rel="noopener noreferrer"&gt;Lynx UI&lt;/a&gt; - The React Native competitor launched unstyled UI components for ReactLynx covering scroll views, popovers, swipers, sheets, reference design language. Programmable interactions and motion.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-reanimated/releases/tag/4.4.0" rel="noopener noreferrer"&gt;Reanimated 4.4 - iOS CSS Core Animation engine, Animation Backend, useTimestamp hook, precompiled headers on Android&lt;/a&gt; - Add supports for RN 0.85 new shared animations backend, behind a flag.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-reanimated/releases/tag/worklets-0.9.1" rel="noopener noreferrer"&gt;Worklets 0.9.1 - Cross-runtime Promises, uniform Shareable hosting, DX improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/react-navigation/standard-navigation" rel="noopener noreferrer"&gt;Standard Navigation - API for creating navigators that can work with multiple navigation libraries, such as React Navigation and Expo Router&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/module-federation/core/releases/tag/v2.5.0" rel="noopener noreferrer"&gt;Module Federation 2.5 - Metro plugin for Rock, manifest hashes for native caching, observability integration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion-labs/react-native-enriched-markdown/releases/tag/0.6.0" rel="noopener noreferrer"&gt;Enriched Markdown 0.6 - Mentions, superscript/subscript, custom selection, better streaming&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/gronxb/hot-updater/releases" rel="noopener noreferrer"&gt;Hot Updated 0.32 - Bundle diffing, content-addressed storage, faster OTA deploys&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://maestro.dev/blog/maestro-cli-v2-6-0" rel="noopener noreferrer"&gt;Maestro CLI 2.6 - Maestro Viewer, parallel iOS sim execution, MCP improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-executorch/releases/tag/v0.9.0" rel="noopener noreferrer"&gt;ExecuTorch 0.9 - 10x faster Whisper, Multilingual Text-to-Speech, continuous voice activity detection&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/getsentry/sentry-react-native/releases/tag/8.12.0" rel="noopener noreferrer"&gt;Sentry RN 8.12 - Expo Router integration, build-time label injection, multi-instance TTID/TTFD&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/uni-stack/uniwind/releases/tag/v1.7.0" rel="noopener noreferrer"&gt;Uniwind 1.7 - Major bundler refactor, flex parsing fix&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🤖 &lt;a href="https://www.callstack.com/blog/introducing-apex-a-fast-specialized-model-for-react-native" rel="noopener noreferrer"&gt;Apex (private beta) - React Native coding model, based on Gemma 4, built by Callstack&lt;/a&gt; - A smaller domain-specific model can be faster, more performant and cost-effective than a general model.&lt;/li&gt;
&lt;li&gt;🤖 &lt;a href="https://github.com/margelo/react-native-skills" rel="noopener noreferrer"&gt;Margelo RN agent skills - AI skills for Nitro Modules, VisionCamera, MMKV&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/playlist?list=PLSk21zn8fFZCE_TlHUVnTVMm7mNl_fzxl" rel="noopener noreferrer"&gt;App.js Conf 2026&lt;/a&gt; - The conf starts tomorrow, free to watch live.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔀 Other
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;👀 &lt;a href="https://bsky.app/profile/tc39.es/post/3mmhlitpxrq2a" rel="noopener noreferrer"&gt;TC39 - 114th meeting outcome&lt;/a&gt; - Last week’s meeting advanced many exciting ES proposals: Explicit Resource Management, &lt;code&gt;Atomics.pause&lt;/code&gt;, &lt;code&gt;Iterator&lt;/code&gt; APIs, &lt;code&gt;Intl&lt;/code&gt; APIs, and more.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/npm/cli/pull/9360" rel="noopener noreferrer"&gt;npm PR - Phase 1 of making install scripts opt-in&lt;/a&gt; - npm CLI implementing new supply chain security features! This introduces various APIs such as &lt;code&gt;package.allowScripts&lt;/code&gt;. Phase 1 (being backported in v11) will emit an advisory warning on unapproved scripts. Phase 2 (v12.0) will block unapproved script runs by default.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/WICG/persistent-iframes" rel="noopener noreferrer"&gt;WICG proposal - Persistent Iframes&lt;/a&gt; - Very early, but this could help make MPAs more compelling against SPAs if there was a way to preserve chats and audio/video players across navigation.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.joshwcomeau.com/animation/css-vs-javascript/" rel="noopener noreferrer"&gt;CSS vs. JavaScript animations&lt;/a&gt; - Explains the performance and flexibility tradeoff of animating with JS vs animating with CSS/WAAPI on a separate thread.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.blog/changelog/2026-05-22-staged-publishing-and-new-install-time-controls-for-npm/" rel="noopener noreferrer"&gt;npm CLI 11.15 - Staged publishing, new &lt;code&gt;--allow-*&lt;/code&gt; flags&lt;/a&gt; - 2 updates focused on supply-chain security. Use &lt;code&gt;npm stage&lt;/code&gt; to publish a release in 2 phases, requiring the approval of a human maintainer.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://pnpm.io/blog/releases/11.3" rel="noopener noreferrer"&gt;pnpm 11.3 - npm staged publishing with &lt;code&gt;pnpm stage&lt;/code&gt;, &lt;code&gt;trustLockfile&lt;/code&gt; setting&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://deno.com/blog/v2.8" rel="noopener noreferrer"&gt;Deno 2.8 - New commands, defaults to &lt;code&gt;:npm&lt;/code&gt;, Node.js compatibility, &lt;code&gt;import defer&lt;/code&gt;, and more&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://nodejs.org/en/blog/release/v24.16.0" rel="noopener noreferrer"&gt;Node 24.16 - Test runner improvements, &lt;code&gt;randomUUIDv7()&lt;/code&gt;, more APIs support &lt;code&gt;AbortSignal&lt;/code&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/151" rel="noopener noreferrer"&gt;Firefox 151 - &lt;code&gt;@container&lt;/code&gt; queries (widely available), Document Picture-in-Picture, Web Serial API&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤭 Fun
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://x.com/DimitarNestorov/status/2057846080188887310" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa998p5zy87ukc9xd30iu.jpg" alt="alt" width="800" height="890"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/encrypted/status/2058658244328124562" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzdtn66hqo0opmxa6aki9.jpg" alt="alt" width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See ya! 👋&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactnative</category>
    </item>
  </channel>
</rss>
