<?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 #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>
    <item>
      <title>This Week In React #282 : Security, Fate, TanStack, Redux, Jotai | Hermes-node, Expo, Rozenite, Harness | TC39, Bun, pnpm, npm, Yarn, Node</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Fri, 22 May 2026 12:05:05 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-282-security-fate-tanstack-redux-jotai-hermes-node-expo-rozenite-1n2i</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-282-security-fate-tanstack-redux-jotai-hermes-node-expo-rozenite-1n2i</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;It looks like security is going to be a hot topic this year! 😅&lt;br&gt;&lt;br&gt;
More packages are being compromised, and blog posts are also covering recent RSC vulnerabilities.&lt;br&gt;&lt;br&gt;
Maybe we’re reaching a tipping point, and better security practices will consolidate this year.&lt;/p&gt;

&lt;p&gt;On the React Native side, Hermes-node is quite exciting, although it’s very early.&lt;/p&gt;

&lt;p&gt;An exciting TC39 meeting is currently underway, and several proposals have already progressed.&lt;br&gt;&lt;br&gt;
Yarn and npm are improving on the security side.&lt;br&gt;&lt;br&gt;
Bun and pnpm are being ported to Rust.&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="800" 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;p&gt;&lt;a href="https://www.wiz.io/blog/mini-shai-hulud-teampcp-hits-antv-supply-chain" 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%2Fbu4kz1kyxz0chr5m25uf.jpg" alt="Mini Shai-Hulud worm keeps digging" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.wiz.io/blog/mini-shai-hulud-teampcp-hits-antv-supply-chain" rel="noopener noreferrer"&gt;Mini Shai-Hulud worm keeps digging&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Remember last week’s TanStack Router compromise? The dangerous worm from TeamPCP keeps compromising users and maintainers across ecosystems, affecting popular packages such as &lt;code&gt;echarts-for-react&lt;/code&gt; and &lt;code&gt;@antv&lt;/code&gt;, and GitHub actions such as &lt;code&gt;actions-cool/issues-helper&lt;/code&gt;. &lt;a href="https://openai.com/index/our-response-to-the-tanstack-npm-supply-chain-attack/" rel="noopener noreferrer"&gt;OpenAI employees got compromised&lt;/a&gt;, leading them to regenerate code signing certificates. Grafana has been &lt;a href="https://grafana.com/blog/grafana-labs-security-update-latest-on-tanstack-npm-supply-chain-ransomware-incident/" rel="noopener noreferrer"&gt;blackmailed by a ransomware group&lt;/a&gt;.The Million.js repository was also &lt;a href="https://github.com/aidenybai/million/issues/1186" rel="noopener noreferrer"&gt;briefly compromised&lt;/a&gt;, but they seem to have gotten lucky: it apparently didn’t affect anyone.&lt;/p&gt;

&lt;p&gt;Rumors also link this worm to the &lt;a href="https://github.com/nrwl/nx-console/security/advisories/GHSA-c9j4-9m59-847w" rel="noopener noreferrer"&gt;Nx Console VSCode extension compromise&lt;/a&gt;, and possibly connected to a major &lt;a href="https://x.com/github/status/2056949168208552080" rel="noopener noreferrer"&gt;GitHub internal repo breach&lt;/a&gt;. This story isn’t over — “Mini” feels like a very questionable name 😅!&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://pscale.link/rw" rel="noopener noreferrer"&gt;PlanetScale - Faster apps start with a faster database. Get started with the fastest benchmarked Postgres and MySQL.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🗓️ &lt;a href="https://reactnorway.com/?utm_medium=social&amp;amp;utm_source=ThisWeekReact" rel="noopener noreferrer"&gt;React Norway&lt;/a&gt; - 🇳🇴 Oslo - 5 June - Experience the "Rock &amp;amp; React" atmosphere in a unique one-track full-stack festival with 350+ passionate developers. -10% with code "TWIR".&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://frontendmasters.com/blog/react-server-components-in-tanstack/" rel="noopener noreferrer"&gt;React Server Components in TanStack&lt;/a&gt; - A pragmatic intro to TanStack’s flexible RSC model, CompositeComponent, and how much it could save in terms of client bundle size.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.peterp.me/articles/jotai-structural-sharing-vs-selectatom/" rel="noopener noreferrer"&gt;Structural sharing, selectAtom, and why your jotai atoms re-render too much&lt;/a&gt; - Explains how deriving atoms, decomposing into primitive atoms, and structural sharing can help avoid re-renders.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://lachlan.nz/blog/the-react2shell-story" rel="noopener noreferrer"&gt;The React2Shell Story&lt;/a&gt; - 2 articles from the duo who reported the security flaw allowing remote code execution in RSC.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://saschb2b.com/blog/flight-protocol-dos" rel="noopener noreferrer"&gt;The Flight Protocol Made Your DoS My Problem&lt;/a&gt; - React/Next.js recently patched various CVEs. One of them could block your Node process in a single HTTP request.&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://certificates.dev/react/free-weekend?friend=TWIR" rel="noopener noreferrer"&gt;Certificates.dev - React Free Weekend is coming. Get unlimited access to mid-level training, incl. coding challenges + trial exam for 48H.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://fate.technology/posts/fate-1.0" rel="noopener noreferrer"&gt;Fate 1.0 - The first full Async React Metaframework&lt;/a&gt; - Fate is a Relay-inspired framework (not based on GraphQL) supporting view composition, normalized caching, data masking, Async React features, live views through Server-Sent Events, Drizzle, garbage collection, and more.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/TanStack/router/releases/tag/release-2026-05-20-1004" rel="noopener noreferrer"&gt;TanStack Router releases - Deferred hydration capabilities, route matching priority&lt;/a&gt; - Deferred Hydration (experimental, &lt;a href="https://tanstack.com/start/latest/docs/framework/react/guide/deferred-hydration" rel="noopener noreferrer"&gt;docs&lt;/a&gt;) could help improve your page's perceived performance by making it interactive sooner. They also recently introduced &lt;a href="https://tanstack.com/start/latest/docs/framework/react/guide/css-styling#inline-route-css-in-production" rel="noopener noreferrer"&gt;CSS inlining&lt;/a&gt; and a &lt;a href="https://tanstack.com/start/latest/docs/framework/react/guide/middleware#csrf-middleware" rel="noopener noreferrer"&gt;CSRF middleware&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://tanstack.com/blog/streaming-structured-output" rel="noopener noreferrer"&gt;TanStack AI releases - &lt;code&gt;useChat()&lt;/code&gt; supports streaming structured output&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/reduxjs/react-redux/releases/tag/v9.3.0" rel="noopener noreferrer"&gt;React Redux 9.3 - &lt;code&gt;connect&lt;/code&gt; API deprecated, Trusted Publishing fixed&lt;/a&gt; - The old HOC API is not removed, but it’s recommended to migrate to &lt;code&gt;useSelector/useDispatch&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/reduxjs/redux-toolkit/releases/tag/v2.12.0" rel="noopener noreferrer"&gt;Redux Toolkit 2.12 - TypeScript Improvements, Skills&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://base-ui.com/react/overview/releases/v1-5-0" rel="noopener noreferrer"&gt;Base UI 1.5 - Major mount perf improvements for popovers/dialogs/tooltips/menus&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/react-hook-form/react-hook-form/releases/tag/v7.76.0" rel="noopener noreferrer"&gt;React Hook Form 7.76 - Improved &lt;code&gt;isDirty&lt;/code&gt; and &lt;code&gt;useFieldArray&lt;/code&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/facebook/relay/releases/tag/v21.0.0" rel="noopener noreferrer"&gt;Relay 21.0 - First-party TypeScript support, experimental RSC support, improved error handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://storybook.js.org/blog/storybook-10-4/" rel="noopener noreferrer"&gt;Storybook 10.4 - TanStack React, React Native isolation, agentic setup, review filters&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/millionco/react-doctor" rel="noopener noreferrer"&gt;React Doctor 0.2 - Your agent writes bad React. This catches it.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7151" rel="noopener noreferrer"&gt;React Router 7.15.1 - New &lt;code&gt;unstable_useRouterState&lt;/code&gt; consolidation API&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=6moPS3AAbe4" rel="noopener noreferrer"&gt;Nuno Maduro - Why React Developers Are Leaving Next.js for TanStack, with Tanner Linsley&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=gwTQLZSIlsU" rel="noopener noreferrer"&gt;Fireship - A single PR just hijacked the NPM registry...&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://syntax.fm/show/1005/programatic-and-skill-based-video-creation-with-remotion" rel="noopener noreferrer"&gt;Syntax.fm 1005 - Programatic and Skill based Video Creation with Remotion&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;&lt;a href="https://sentry.io/resources/nextjs-may-workshop/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=nextjs-fy27q2-nextjsworkshop&amp;amp;utm_content=newsletter-secondary-nextjs-workshop-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.amazonaws.com%2Fuploads%2Farticles%2Fefx524ch8vaqdgzz4udi.jpg" alt="Tomorrow Only: Next.js Debugging Workshop" width="799" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://sentry.io/resources/nextjs-may-workshop/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=nextjs-fy27q2-nextjsworkshop&amp;amp;utm_content=newsletter-secondary-nextjs-workshop-register" rel="noopener noreferrer"&gt;Tomorrow Only: Next.js Debugging Workshop&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most Next.js bugs don't fail loudly. They fail in a webhook handler at 3am, in a server component nobody touched, in an auth flow that worked yesterday. Sentry's hands-on workshop shows you how to catch them with high-context logs and distributed tracing.&lt;/p&gt;

&lt;p&gt;Last chance to save your spot. &lt;a href="https://sentry.io/resources/nextjs-may-workshop/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=nextjs-fy27q2-nextjsworkshop&amp;amp;utm_content=newsletter-secondary-nextjs-workshop-register" rel="noopener noreferrer"&gt;&lt;strong&gt;Register today.&lt;/strong&gt;&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-may20" rel="noopener noreferrer"&gt;PostHog - The 7 best session replay tools for mobile apps&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.callstack.com/blog/unlocking-expo-updates-in-an-isolated-brownfield-architecture-with-sdk-55" rel="noopener noreferrer"&gt;Unlocking Expo Updates in an Isolated Brownfield Architecture with SDK 55&lt;/a&gt; - Running Expo Updates in Isolated Brownfield was always a challenge. Thanks to recent updates, it is a thing of the past.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/changelog/expo-go-loading-changes-may-2026" rel="noopener noreferrer"&gt;Changes to project loading behavior in Expo Go&lt;/a&gt; - Breaking change for EAS Update users: Expo Go now enforces ownership checks. Self-hosted updates can no longer serve Hermes bytecode bundles.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.peterp.me/articles/wtf-does-box-do-in-nitro-modules/" rel="noopener noreferrer"&gt;WTF does &lt;code&gt;.box()&lt;/code&gt; do in Nitro Modules?&lt;/a&gt; - It converts &lt;code&gt;NativeState&lt;/code&gt;-backed objects into &lt;code&gt;HostObjects&lt;/code&gt; so they can cross worklet runtime boundaries.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/build-fast-no-matter-what-how-expo-is-optimizing-for-speed" rel="noopener noreferrer"&gt;Build fast, no matter what: how Expo is optimizing for speed (and how you can, too)&lt;/a&gt; - Deep dive into Expo's build speed optimizations: hardware scaling, Gradle caching, prebuilt binaries, and fingerprint-based workflows that avoid full rebuilds for JS-only changes.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.callstack.com/blog/using-turbomodule-substitution-to-build-safer-react-native-plugin-systems" rel="noopener noreferrer"&gt;Using TurboModule Substitution to Build Safer React Native Plugin Systems&lt;/a&gt; - Explains how React Native Sandbox 0.6 offers granular sandboxing capabilities.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/tmikov/hermes-node" rel="noopener noreferrer"&gt;Hermes Node - Node.js built-in module compatibility layer for the Hermes JS engine&lt;/a&gt; - The creator of Hermes published an AI-driven prototype of a new JS/TS runtime built on Hermes, compatible with Node.js. It won’t outperform Node.js/V8 today, but Static Hermes could make it way faster in the future.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/daehyeonmun2021/react-native-skia-lab" rel="noopener noreferrer"&gt;Skia Lab - Beautiful react-native-skia demo&lt;/a&gt; - A collection of painting, physics, shaders, and gesture interactions demos.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://updates.reactvision.xyz/meta-quest-lands-studio-scenes-drop-in-whats-new-in-viroreact-2-55-0-a8876564047a" rel="noopener noreferrer"&gt;ViroReact 2.55 - Ship as a native VR experience on Meta Quest&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/react-native-harness/releases/tag/v1.2.0" rel="noopener noreferrer"&gt;Harness 1.2 - iOS code coverage, permission automation, external xctest commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/jamsch/expo-speech-recognition/releases/tag/v56.0.0" rel="noopener noreferrer"&gt;Expo Speech Recognition 56 - Expo SDK 56 support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion-labs/typegpu-confetti/releases/tag/v0.3.0" rel="noopener noreferrer"&gt;TypeGPU Confetti 0.3 - Rewritten to use TypeGPU&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/margelo/react-native-nitro-fetch/releases/tag/v1.3.0" rel="noopener noreferrer"&gt;Nitro Fetch 1.3 - Removed box/unbox, fixed binary responses, performance improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/agent-device/releases/tag/v0.15.0" rel="noopener noreferrer"&gt;Agent Device 0.15 - Faster boot and test replay, iOS replay speedup, MCP discovery-only&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/gre/react-native-view-shot/releases" rel="noopener noreferrer"&gt;View Shot 5.1 - iOS 17 compatibility, Windows support + example, Android ScrollView fix&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/rozenite/releases/tag/v1.10.0" rel="noopener noreferrer"&gt;Rozenite DevTools 1.10 - Network, Performance, Vite plugin improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=aP8GSJ7oTuc" rel="noopener noreferrer"&gt;William Candillon - Debriefing Redraw &amp;amp; TypeGPU&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=ywvywq0AGPM" rel="noopener noreferrer"&gt;Beto - Everything new in Expo SDK 56&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=GChgKhfuzYA" rel="noopener noreferrer"&gt;React Native Live Ep 11 - Building High-Performance UI with React Native Skia / William Candillon&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://infinite.red/react-native-radio/rnr-353-building-react-native-apps-in-the-ai-era" rel="noopener noreferrer"&gt;RNR 353 - Building React Native Apps in the AI Era&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/tc39/proposal-explicit-resource-management" rel="noopener noreferrer"&gt;Explicit Resource Management reached TC39 stage 4&lt;/a&gt; - A TC39 meeting is in progress, and many proposals have progressed. The most “user-facing” one – &lt;code&gt;using&lt;/code&gt; – is going to be part of the standard and simplify your resource cleanup logic. I take the opportunity to show you &lt;a href="https://x.com/sebastienlorber/status/2057033638827483236" rel="noopener noreferrer"&gt;how to leverage it immediately in Vitest/Jest tests&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/npm/rfcs/pull/868" rel="noopener noreferrer"&gt;npm RFC - Make install scripts opt-in&lt;/a&gt; - It’s great to see npm finally looking to catch up on security! They’d like to introduce an &lt;code&gt;allowScripts&lt;/code&gt; map in &lt;code&gt;package.json&lt;/code&gt; to help mitigate the recent supply chain attacks.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/oven-sh/bun/pull/30412" rel="noopener noreferrer"&gt;Bun PR - Rewrite Bun in Rust&lt;/a&gt; - The bold, AI-driven PR landed in just one week, making Bun’s migration from Zig to Rust official. 🤯&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://developer.chrome.com/blog/declarative-partial-updates" rel="noopener noreferrer"&gt;Declarative partial updates&lt;/a&gt; - New exciting APIs may come to the web platform: out-of-order streaming, and new HTML insertion methods supporting streaming. Already available in Chrome 148 behind an experimental flag.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.jasnell.me/posts/quic-comes-to-node" rel="noopener noreferrer"&gt;QUIC and HTTP/3 Come To Node.js (finally)&lt;/a&gt; - A 5-part deep dive on the experimental &lt;code&gt;node:quic&lt;/code&gt; API.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/pnpm/pnpm/releases/tag/v11.2.0" rel="noopener noreferrer"&gt;pnpm 11.12 - Experimental Rust install engine&lt;/a&gt; - pnpm is also &lt;a href="https://github.com/pnpm/pnpm/tree/main/pacquet" rel="noopener noreferrer"&gt;migrating to Rust&lt;/a&gt;, with an incremental strategy. This release introduces an opt-in for the new Rust engine to power the install phase.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/yarnpkg/berry/releases/tag/%40yarnpkg%2Fcli%2F4.15.0" rel="noopener noreferrer"&gt;Yarn 4.15 - Add &lt;code&gt;npmMinimalAgeGate: 1d&lt;/code&gt; release cooldown by default&lt;/a&gt; - Another package manager adopts better security defaults. BTW, Yarn is also being rewritten in Rust.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://nodejs.org/en/blog/release/v26.2.0" rel="noopener noreferrer"&gt;Node 26.2 - &lt;code&gt;stream.compose&lt;/code&gt; stable, &lt;code&gt;fs.stat()&lt;/code&gt; returns &lt;code&gt;Temporal.Instant&lt;/code&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://webpack.js.org/blog/2026-05-19-webpack-5-107/" rel="noopener noreferrer"&gt;Webpack 5.107 - Experimental HTML modules, experimental native TS support&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/2057113058200178880" 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%2Fp60mbtzqquqas29hasde.jpg" alt="alt" width="800" height="616"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/rexrledesma/status/2054873334827946321" 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%2Fizho3oyr4pi8qkwdmwi6.jpg" alt="alt" width="800" height="1429"&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 #281 : Next.js, TanStack, Security, Redact | Redraw, Expo, Tabs, Screens | TC39, Rolldown, Node</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Sun, 17 May 2026 13:29:31 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-281-nextjs-tanstack-security-redact-redraw-expo-tabs-screens-tc39-1m01</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-281-nextjs-tanstack-security-redact-redraw-expo-tabs-screens-tc39-1m01</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, security is making headlines, as two major React frameworks have announced vulnerabilities and compromised npm packages!&lt;/p&gt;

&lt;p&gt;William Candillon unveiled his secret project: a new set of 2D primitives for React Native and the web.&lt;/p&gt;

&lt;p&gt;It’s also an exciting week full of interesting releases all around the JS ecosystem!&lt;/p&gt;

&lt;p&gt;Let's dive in!&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="800" height="373"&gt;&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;&lt;a href="https://fandf.co/42isydS" 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%2Fdb7ivm0hyc1b4hnxocx8.jpg" alt=" AI That Gets React Native on Fire TV " width="800" height="469"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://fandf.co/42isydS" rel="noopener noreferrer"&gt; AI That Gets React Native on Fire TV &lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We built an MCP server for Vega OS, our new React Native TV platform for Fire TV. &lt;/p&gt;

&lt;p&gt;Amazon Devices Builder Tools MCP gives your AI agent deep platform context, so instead of generic React Native suggestions, your agent understands how to scaffold correctly, integrate platform features, and follow Vega conventions. &lt;/p&gt;

&lt;p&gt;Explore building for TV without the friction of learning a new platform from scratch. It's a step toward making our developer tooling as modern as the platform itself. &lt;a href="https://fandf.co/42isydS" rel="noopener noreferrer"&gt;One command to install.&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;&lt;a href="https://vercel.com/changelog/next-js-may-2026-security-release" 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%2Frtezm9dag6pngkm7atuc.jpg" alt="Next.js May 2026 security release" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://vercel.com/changelog/next-js-may-2026-security-release" rel="noopener noreferrer"&gt;Next.js May 2026 security release&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Next.js team shipped a coordinated security release fixing 13 vulnerabilities across denial of service, middleware/proxy bypass, server-side request forgery, cache poisoning, XSS. Many vulnerabilities are quite impactful, cannot be blocked by cloud firewalls, and it’s recommended to update immediately to a patched version, v15.5.18 or v16.2.6. There’s also a Server Functions denial of service affecting React RSC packages, fixed in v19.2.6.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://tanstack.com/blog/npm-supply-chain-compromise-postmortem" 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%2Fboh0l0ln6n0e3a1grtxk.jpg" alt="TanStack npm supply-chain compromise" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://tanstack.com/blog/npm-supply-chain-compromise-postmortem" rel="noopener noreferrer"&gt;TanStack npm supply-chain compromise&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On May 11, an attacker published malicious versions across 42 &lt;code&gt;@tanstack/*&lt;/code&gt; npm packages related to TanStack Router. Although the attack was detected quickly, its payload is a &lt;a href="https://www.wiz.io/blog/mini-shai-hulud-strikes-again-tanstack-more-npm-packages-compromised" rel="noopener noreferrer"&gt;Mini Shai-Hulud worm&lt;/a&gt; that infected other maintainers, leading to other compromised packages across npm and pypi ecosystems, including packages from Mistral AI, OpenSearch, UiPath, and more.&lt;/p&gt;

&lt;p&gt;The attack vector was sneaky. A GitHub Action with a &lt;code&gt;pull_request_target&lt;/code&gt; trigger was used to inject poisoned content into a shared GitHub Action pnpm cache. Then, their release pipeline read from that poisoned cache, restoring dangerous files that executed during the release process. No maintainer was hacked in the process. The npm releases have the Trusted Publishing checkmark despite being compromised, showing that package provenance does not guarantee its content is safe.&lt;/p&gt;

&lt;p&gt;Given the increasing number of supply chain vulnerabilities affecting npm packages, it’s good to highlight measures that maintainers and users can take to stay safe:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📜 &lt;a href="https://tanstack.com/blog/incident-followup" rel="noopener noreferrer"&gt;Hardening TanStack After the npm Compromise&lt;/a&gt; - Gives a good overview of what maintainers can do to reduce the supply chain risk. Low-hanging fruits include avoiding the very dangerous &lt;code&gt;pull_request_target&lt;/code&gt; trigger, and removing usage of shared caches in sensitive workflow (note: actions such as &lt;code&gt;setup-node&lt;/code&gt; using a cache by default).&lt;/li&gt;
&lt;li&gt;🔗 &lt;a href="https://github.com/lirantal/npm-security-best-practices" rel="noopener noreferrer"&gt;npm package manager Security Best Practices&lt;/a&gt; - A canonical resource to protect yourself as an npm package consumer, giving pragmatic recommendations for each package manager. IMHO, combining the Socket Firewall with pnpm 11 is likely the best option right now.&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-may13" rel="noopener noreferrer"&gt;Product for Engineers - Great companies are built in hackathons&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tannerlinsley.com/posts/projecting-react" rel="noopener noreferrer"&gt;Projecting React&lt;/a&gt; - Tanner Linsley wants React to be slimmer, tried Preact without success. He compares React API to database tables, and its implementation to a materialized view. With AI, he’s creating a different &lt;code&gt;@@tanstack/redact&lt;/code&gt; projection, one optimized for TanStack Start, significantly smaller, that already powers &lt;code&gt;tanstack.com&lt;/code&gt;. It’s a narrow experiment, not something he plans to market as an alternative to React. In the future, more devs will likely build optimized projections of the libraries they depend on.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://longho.dev/posts/rsc-server-functions-are-not-an-api-boundary/" rel="noopener noreferrer"&gt;RSC Server Functions Are Not An API Boundary&lt;/a&gt; - Server Functions are not a replacement for stable, observable, versioned, shared APIs. The generated Server Function ID can change over time as you refactor code, leading to version skew problems on redeploys. Note: cloud providers have skew protection features to mitigate this.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://programmingarehard.com/2026/05/06/react-router-dialogs.html/" rel="noopener noreferrer"&gt;Untangling dialogs in React Router&lt;/a&gt; - Everything you need to know to simplify your code by using a parent &lt;code&gt;&amp;lt;Outlet&amp;gt;&lt;/code&gt; and making each dialog live on its own dedicated route. Covers data revalidation, flash session toasts, dialog exit animations and more.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.userinterface.wiki/animating-container-bounds" rel="noopener noreferrer"&gt;Animating Container Bounds&lt;/a&gt; - How to smoothly animate an element’s width/height based on its inner content with Motion.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://certificates.dev/blog/security-in-react-applications" rel="noopener noreferrer"&gt;Security in React Applications&lt;/a&gt; - Prevent XSS, store tokens securely, validate inputs, use CSFR and CSPs.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://evilmartians.com/chronicles/from-react-to-native-web-with-nanotags-a-migration-that-saved-100kb" rel="noopener noreferrer"&gt;From React to native web with nanotags: a migration that saved 100 KB&lt;/a&gt; - For a mostly static marketing site using Astro templates, it can be more efficient to hydrate Custom Elements rather than React.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tympanus.net/codrops/2026/05/13/exploring-the-html-in-canvas-proposal/" rel="noopener noreferrer"&gt;Exploring the HTML-in-Canvas Proposal&lt;/a&gt; - It could simplify integration 2D UIs in 3D worlds, in particular for React Three Fiber creative devs.&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://github.com/svar-widgets/react-gantt" rel="noopener noreferrer"&gt;SVAR React Gantt – Build interactive project timelines with an open-source React Gantt library.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://waku.gg/blog/waku-v1-beta" rel="noopener noreferrer"&gt;Waku 1.0 beta&lt;/a&gt; - The minimal RSC framework first beta marks our shift toward production readiness. It recently added support for Vite 8, Rolldown, Node 26, React performance tracks, flexible routing, CSP, and more.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://newsletter.daishikato.com/p/jotai-v2-20-0-and-the-store-building-blocks" rel="noopener noreferrer"&gt;Jotai 2.20 - Improves performance in high-throughput scenarios, refactor store building blocks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/remarkablemark/html-react-parser/releases/tag/v6.1.0" rel="noopener noreferrer"&gt;HTML React Parser 6.1 - add CSP support with &lt;code&gt;trustedTypePolicy&lt;/code&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=mOncu3xCllw" rel="noopener noreferrer"&gt;Ankita Kulkarni - Stop freezing your React apps, use this Background Trick instead&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=5QM7XjbqDug" rel="noopener noreferrer"&gt;Shruti Kapoor - Five Minute Deep Dive: React Server Components&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=XSmpScSiPhw" rel="noopener noreferrer"&gt;Josef Bender - I hacked a TanStack Start app...&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://syntax.fm/show/1004/tanhacked" rel="noopener noreferrer"&gt;Syntax.fm 1004 - TanHacked&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=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%2F40azigpfofi2ca37i16v.jpg" alt="Tests are dead - Meticulous is here" width="800" height="420"&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;Tests are dead - Meticulous is here&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Meticulous creates and maintains an exhaustive suite of e2e ui tests with &lt;strong&gt;zero&lt;/strong&gt; developer effort.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;This quote from the CTO of Traba sums the product up best: "Meticulous has fundamentally changed the way we approach frontend testing in our web applications, fully eliminating the need to write any frontend tests. The software gives us confidence that every change will be completely regression tested, allowing us to ship more quickly with significantly fewer bugs in our code. The platform is easy to use and reduces the barrier to entry for backend-focused devs to contribute to our frontend codebase."&lt;/p&gt;

&lt;p&gt;Meticulous is used by companies like Notion, Dropbox, Wiz, LaunchDarkly, and many others.&lt;/p&gt;

&lt;p&gt;This &lt;a href="https://www.meticulous.ai/blog/lessons-from-a-decade?utm_source=thisweekinreact&amp;amp;utm_campaign=26q2&amp;amp;utm_content=2nd" rel="noopener noreferrer"&gt;post&lt;/a&gt; from our CTO sets out the context of why exhaustive testing can double engineering velocity.&lt;/p&gt;




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

&lt;p&gt;&lt;a href="https://wcandillon.github.io/redraw/" 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%2Fsqziw99h7jmljiw5gd0b.jpg" alt="Redraw - 2D graphics primitives, powered by WebGPU" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://wcandillon.github.io/redraw/" rel="noopener noreferrer"&gt;Redraw - 2D graphics primitives, powered by WebGPU&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In an &lt;a href="https://www.youtube.com/watch?v=nGLCmY7tdz4" rel="noopener noreferrer"&gt;amazing introduction video&lt;/a&gt;, William Candillon presented what he’s been secretly working on for months: a new grade of 2D graphics primitives, powered by WebGPU. It’s still a technical preview and not open-source yet, but William is looking to make it source-available soon with a license that makes it sustainable.&lt;/p&gt;

&lt;p&gt;It all started with "Can it be done in React Native?", led to Skia on native, then WebGPU for unified 2D/3D composition across platforms. Redraw is the next step: bringing GPU-accelerated vector rendering with rich geometric information back to both native and web.&lt;/p&gt;

&lt;p&gt;What it unlocks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Variable strokes - stroke width driven by path geometry (tangent, arc length)&lt;/li&gt;
&lt;li&gt;Color along path - gradient callbacks mapped to arc length or distance&lt;/li&gt;
&lt;li&gt;Vector feathering - soft shadows, blur, and glow without rasterization&lt;/li&gt;
&lt;li&gt;Physically-based rendering - material effects computed directly on vector paths&lt;/li&gt;
&lt;li&gt;Non-physically-based rendering - creative effects impossible with raster pipelines&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Built for composability:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Compute shaders powered via &lt;a href="https://typegpu.com" rel="noopener noreferrer"&gt;TypeGPU&lt;/a&gt; (optional dependency)&lt;/li&gt;
&lt;li&gt;Zero-cost integration with Skia, Three.js, PixiJS, and WebGPU&lt;/li&gt;
&lt;li&gt;Write shader logic in TypeScript, no WGSL required&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://sentry.io/cookbook/track-checkout-performance-react-native/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=&amp;amp;utm_content=newsletter-rn-link-rn-checkout-learnmore" rel="noopener noreferrer"&gt;Sentry - A guide to finding and fixing slow checkout requests in React Native with distributed tracing and proactive alerts.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🐦 &lt;a href="https://x.com/aswincode/status/2051689159723458746" rel="noopener noreferrer"&gt;iOS 26 native tab icon&lt;/a&gt; - A look into how to display dynamic tab icons, what constraints Expo Router had, and what was needed to overcome them.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/facebook/react-strict-dom/discussions/471#discussioncomment-16896278" rel="noopener noreferrer"&gt;Is React Strict DOM still active?&lt;/a&gt; - The project has been quiet since its initial maintainers left Meta, but it’s still used internally for new projects. Meta product engineers and community members are stepping in.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.peterp.me/articles/react-native-pressable-faster-than-gesture-handler/" rel="noopener noreferrer"&gt;React Native Pressable faster than gesture handler&lt;/a&gt; - A deep dive into why Gesture Handler adds additional cost compared to RN Pressable and Reanimated’s CSS transition API&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.peterp.me/articles/hidden-cost-of-react-activity/" rel="noopener noreferrer"&gt;The Hidden Cost of React.Activity&lt;/a&gt; - &lt;code&gt;&amp;lt;Activity&amp;gt;&lt;/code&gt; is different from keeping a screen mounted but invisible. Heavy use of useEffect can badly impact performance when a screen becomes visible again.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://swmansion.com/blog/argent-agentic-toolkit-to-control-debug-and-profile-ios-applications/" rel="noopener noreferrer"&gt;Meet Argent: Agentic Toolkit to Control, Debug and Profile iOS applications&lt;/a&gt; - Gives coding agents direct access to the iOS Simulator, helpful to inspect and debug RN iOS apps.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://shift.infinite.red/beyond-60-fps-building-a-real-time-can-bus-dashboard-with-nitro-modules-and-skia-d0f564f8d239" rel="noopener noreferrer"&gt;Beyond 60fps - Real-time CAN Bus dashboard with Nitro Modules and Skia&lt;/a&gt; - A minor hobby-project issue turned into a deep look into how RN communication between native and JS works.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://medium.com/doctolib/expo-without-eas-scaling-the-react-native-developer-experience-of-an-app-with-90m-users-2694ea841805" rel="noopener noreferrer"&gt;Expo without EAS: Scaling the React Native developer experience of an app with 90M+ users&lt;/a&gt; - Practical migration story from React Native to Expo at Doctolib, a popular healthcare app. It explains why EAS wasn’t a good fit for their setup, and how Callstack’s Rock modular toolkit helped them improve their build flow.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://expo.dev/changelog/sdk-56-beta" rel="noopener noreferrer"&gt;Expo SDK 56 Beta - Stable Expo UI, faster builds, improved startup performance on Android, RN 0.85&lt;/a&gt; - As always, a very long changelog with many improvements, that we’ll cover in depth once stable.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/oblador/react-native-swc" rel="noopener noreferrer"&gt;React Native SWC - SWC-powered transformer &amp;amp; minifier for Metro&lt;/a&gt; - SWC recently added Flow supports, making it possible to fully replace Babel by SWC in RN’s transpilation pipeline. ~8x faster transform worker &amp;amp; full real world bundling ~3x faster.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://blog.sentry.io/debugging-expo-react-native-sdk/" rel="noopener noreferrer"&gt;Sentry SDK 8.10+ - OTA update context, build failures, emergency launch detection, performance spans for prefetching, image/asset loading instrumentation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/mobile-ink/mobile-ink" rel="noopener noreferrer"&gt;Mobile Ink - iOS Skia/Metal drawing and continuous canvas primitives&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/margelo/react-native-nitro-fetch/releases/tag/v1.2.0" rel="noopener noreferrer"&gt;Nitro Fetch 1.2 - Native-side prefetching registration, web stub&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/JoaoPauloCMarra/react-native-nitro-markdown/releases/tag/v0.6.0" rel="noopener noreferrer"&gt;Nitro Markdown 0.6 - RaTex math renderer, native release hardening, refreshed example benchmarks/docs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/rock/releases/tag/v0.13.0" rel="noopener noreferrer"&gt;Rock 0.13 - Experimental support for CNG &amp;amp; Expo Config Plugins, validate Android 16KB ELF alignment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0" rel="noopener noreferrer"&gt;RN Screens 4.25 - Drops the Legacy Architecture, Tabs API in RC, many Tabs user-facing improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/rozenite/releases/tag/v1.9.0" rel="noopener noreferrer"&gt;Rozenite 1.9 - storage-plugin replaces mmkv-plugin, new react-hook-form plugin&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://infinite.red/react-native-radio/rnr-352-storybook-with-daniel-williams" rel="noopener noreferrer"&gt;RNR 352 - Storybook with Daniel Williams&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/tc39/agendas/blob/main/2026/05.md" rel="noopener noreferrer"&gt;TC39 - Agenda for the 114th meeting - May 19-21&lt;/a&gt; - A packed agenda, many proposals could progress next week, including Iterators, Explicit Resource Management, and more.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://voidzero.dev/posts/announcing-rolldown-1-0" rel="noopener noreferrer"&gt;Rolldown 1.0&lt;/a&gt; - The high-performance Rust-based bundler is now stable and respects semantic versioning. It’s already powering Vite 8 as a 10-30x faster alternative to Rollup. Bundling in dev is on the roadmap to overcome the performance limitation of serving individual ESM files.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://nodejs.org/en/blog/release/v26.1.0" rel="noopener noreferrer"&gt;Node.js 26.1 - Experimental &lt;code&gt;node:ffi&lt;/code&gt; module&lt;/a&gt; - A promising Foreign Function Interface module for loading dynamic libraries and integrating with native languages.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/jestjs/jest/issues/9430#issuecomment-4400281169" rel="noopener noreferrer"&gt;Jest 30.4 - Support for &lt;code&gt;require(esm)&lt;/code&gt;&lt;/a&gt; - Jest’s ESM support has been fully rewritten. It still requires the Node.js &lt;code&gt;--experimental-vm-modules&lt;/code&gt; flag, but the Node.js team is working on stabilizing that feature.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://bun.com/blog/bun-v1.3.14" rel="noopener noreferrer"&gt;Bun 1.3.14 - Built-in image processing, global install virtual store, HTTP improvements&lt;/a&gt; - Speaking of Bun, a Rust port was previously disclosed and framed as an experiment. It turns out Bun may actually &lt;a href="https://x.com/jarredsumner/status/2053808438644445230" rel="noopener noreferrer"&gt;migrate from Zig to Rust in the near future&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/npm/cli/releases/tag/v11.14.0" rel="noopener noreferrer"&gt;npm 11.4 - allow-directory, allow-file, allow-remote&lt;/a&gt; - New opt-in npm CLI security features, similar to pnpm’s &lt;code&gt;blockExoticSubdeps&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/microsoft/playwright/releases/tag/v1.60.0" rel="noopener noreferrer"&gt;Playwright 1.60 - Drop API, Aria snapshots, HAR recording&lt;/a&gt; - You can now simulate drag-and-drop, and snapshot the accessibility tree.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://pnpm.io/blog/releases/11.1" rel="noopener noreferrer"&gt;pnpm 11.1 - Named registries, new useful commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://tailwindcss.com/blog/tailwindcss-v4-3" rel="noopener noreferrer"&gt;Tailwind CSS 4.3 - Scrollbars, new colors, and more&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://astro.build/blog/astro-630/" rel="noopener noreferrer"&gt;Astro 6.3 - Experimental advanced routing, first-class Hono support&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/_colemurray/status/2054009070303191054" 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%2Fhpbv9os4hhjgnhb4q2c6.jpg" alt="alt" width="800" height="1480"&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 #280 : TanStack, Remotion, React Router | Expo Go, Ease, Screen Transitions, LegendList| Node.js, Datatype, tsz, Astro</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Sat, 09 May 2026 21:16:01 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-280-tanstack-remotion-react-router-expo-go-ease-screen-transitions-18mf</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-280-tanstack-remotion-react-router-expo-go-ease-screen-transitions-18mf</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;It’s another quiet week in React, but there’s still plenty of interesting links to check out about the TanStack and powerful new Remotion capabilities.&lt;/p&gt;

&lt;p&gt;React Native had a busier week, with a diverse mix of releases, great articles, and ecosystem updates.&lt;/p&gt;

&lt;p&gt;Let's dive in!&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="800" 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%2Fcjdvmtgrmkc7ktvbp18m.jpg" alt="Still writing tests manually?" width="800" height="419"&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;Still writing tests manually?&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Notion, Dropbox, Wiz, and LaunchDarkly&amp;nbsp;have found a new testing paradigm - and they can't imagine working without it.&amp;nbsp;Built by &lt;a href="https://www.meticulous.ai?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q1&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;ex-Palantir engineers&lt;/a&gt;, Meticulous autonomously creates a continuously evolving suite of E2E UI tests that delivers &lt;a href="https://www.meticulous.ai?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q1&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;near-exhaustive coverage&lt;/a&gt; with &lt;em&gt;zero developer effort&lt;/em&gt; - impossible to deliver by any other means.&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;&lt;strong&gt;No maintenance (seriously)&lt;/strong&gt;&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;🤨&lt;/strong&gt; Curious? &lt;a href="https://www.meticulous.ai?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q1&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Book in a time to learn more&lt;/a&gt;&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://planetscale.com" rel="noopener noreferrer"&gt;Ship faster with PlanetScale - Blazing fast managed Postgres and MySQL, built for applications of any scale&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;⚠️ &lt;a href="https://socket.dev/blog/tanstack-brandsquat-compromise" rel="noopener noreferrer"&gt;Malicious npm Package Brand-Squats TanStack to Exfiltrate Environment Variables&lt;/a&gt; - Make sure not to install the &lt;code&gt;tanstack&lt;/code&gt; npm package because it’s not owned by the TanStack organization.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tanstack.com/blog/who-owns-the-tree" rel="noopener noreferrer"&gt;Who Owns the Tree? RSC as a Protocol, Not an Architecture&lt;/a&gt; - The traditional RSC architecture – as found in Next.js – is server-driven. TanStack Start frames RSC as a protocol, enabling both server-owned and client-owned composition models.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://frontendmasters.com/blog/introducing-tanstack-form/" rel="noopener noreferrer"&gt;Introducing TanStack Form&lt;/a&gt; - A pragmatic intro to this strongly typed and flexible form library.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://dev.to/lazarv/time-to-yield-20m8"&gt;Time to Yield - An SSG benchmark across five React frameworks&lt;/a&gt; - The author’s solution uses generators and yields the static routes to render, making it possible to render the first page sooner.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://kittygiraudel.com/2026/05/02/nextjs-link-as-a-button/" rel="noopener noreferrer"&gt;Next.js Link as a Button&lt;/a&gt; - Still requires &lt;code&gt;&amp;lt;Link legacyBehavior&amp;gt;&lt;/code&gt; for now, but apparently a solution based on Fragment Refs is coming.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://brookslybrand.com/posts/react-miami-2026.html" rel="noopener noreferrer"&gt;React Miami 2026&lt;/a&gt; - Conf feedback by Brooks Lybrand. Also explains that interest in React features is at an all-time low, and clears up the confusion surrounding React Router and Remix.&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://certificates.dev/react?friend=TWIR" rel="noopener noreferrer"&gt;React Certification - Ready for a Senior role? Take the assessment: 135 minutes, 40 MCQs, and 2 Coding challenges. Get Senior Certified!&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/remotion-dev/remotion/releases/v4.0.455" rel="noopener noreferrer"&gt;Remotion 4.0.455 - New &lt;code&gt;&amp;lt;HtmlInCanvas&amp;gt;&lt;/code&gt; component&lt;/a&gt; - This component unlocks new impressive capabilities for the React programmatic video framework, letting you interleave regular HTML with fancy canvas-based effects using shaders (&lt;a href="https://github.com/remotion-dev/html-in-canvas" rel="noopener noreferrer"&gt;demos&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://remix.run/blog/remix-3-beta-preview" rel="noopener noreferrer"&gt;Remix 3 Beta Preview&lt;/a&gt; - The new version of Remix is now in beta preview. It’s not based on React nor React Router, but still relies on JSX. It uses a different component model where you explicitly trigger re-renders, Frames that you can reload, and doesn’t bundle your app.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7150" rel="noopener noreferrer"&gt;React Router 7.15 - Stabilizing APIs to prepare for React Router v8, Route matching optimizations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://trees.software/" rel="noopener noreferrer"&gt;Trees - File tree UI library, performant, flexible, with React or vanilla JS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://pracht.resynapse.dev/" rel="noopener noreferrer"&gt;Pracht - Preact framework with explicit routing, per-route render modes, cloud adapters&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://ui.shadcn.com/docs/changelog/2026-05-package-imports-target-aliases" rel="noopener noreferrer"&gt;shadcn CLI 4.7 - Package Imports and Target Aliases&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=PX3QlADinIE" rel="noopener noreferrer"&gt;Jack Herrington - 5 Ways To SSR/RSC on TanStack Start&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=KpoEflQ3u1A" rel="noopener noreferrer"&gt;Josef Bender - This &lt;code&gt;&amp;lt;Link preload&amp;gt;&lt;/code&gt; Trick Makes TanStack Start Blazing Fast!&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://podrocket.logrocket.com/nextjs-works-everywhere-now-jimmy-lai-tells-us-how" rel="noopener noreferrer"&gt;PodRocket - Next.js works everywhere now, Jimmy Lai tells us how&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;&lt;a href="https://crowdin.info/8YBpFxk" 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%2F41rzt6d5tgfdpofq6k07.jpg" alt="Lingui - Modern, Lightweight i18n for React" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://crowdin.info/8YBpFxk" rel="noopener noreferrer"&gt;Lingui - Modern, Lightweight i18n for React&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ship multilingual apps faster with Lingui - a lightweight i18n toolkit for React and React Native, with macros, message extraction, and production-ready localization.&lt;/p&gt;

&lt;p&gt;It fits naturally into modern stacks like React, Vite, TypeScript, TanStack Start, Remix, Astro, and Svelte, so teams can adopt it without changing their workflow. It also keeps messages clear for translators and works well with AI-assisted localization workflows.&lt;/p&gt;

&lt;p&gt;Lingui v6 modernizes the stack with ESM-only distribution, a smaller installation size (62 MB → 35 MB, dependencies 146 → 104), stronger TypeScript support, and configurable JSX placeholder names in the &lt;code&gt;&amp;lt;Trans&amp;gt;&lt;/code&gt; component.&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-may6" rel="noopener noreferrer"&gt;PostHog - The 7 best session replay tools for mobile apps&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://expo.dev/changelog/expo-go-and-app-store-may-2026" rel="noopener noreferrer"&gt;Expo Go and the App Store in May 2026&lt;/a&gt; - Update on the state of Expo Go support for SDK 55 being blocked by AppStore approval.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://expo.dev/changelog/gradle-cache" rel="noopener noreferrer"&gt;Gradle cache for Android builds&lt;/a&gt; - EAS builds now support Gradle caching with ~50% reduction in build times.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/the-real-cost-of-react-native-animations-benchmarking-every-approach" rel="noopener noreferrer"&gt;The real cost of React Native animations: benchmarking every approach&lt;/a&gt; - A look into how popular animation solutions run under the hood, how they perform on real devices, and why they differ in per-frame cost.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.callstack.com/blog/react-native-production-lessons-from-react-universe-meetup-x-zalando" rel="noopener noreferrer"&gt;React Native production lessons from React Universe Meetup x Zalando&lt;/a&gt; - Four practical patterns from Zalando: measuring brownfield migrations with Meaningful Render, stabilizing video feeds, using RN to bridge web API gaps, and handling on-device LLM hardware variance.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://blog.margelo.com/make-jsi-run-faster-2" rel="noopener noreferrer"&gt;Making JSI Faster with more Efficient Data Structures&lt;/a&gt; - Use proper tools for a given task as wrong data representation can make your code 30x slower. The article features concrete benchmarks across array shapes and string construction.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.peterp.me/articles/how-react-native-ease-runs-animations-with-no-javascript-loop/" rel="noopener noreferrer"&gt;How react-native-ease runs animations with no JavaScript loop&lt;/a&gt; - Analysis how the library takes a different approach than most RN animation libraries to avoid being tied to the JS thread.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://reactnavigation.org/blog/2026/04/27/building-custom-screen-transitions/" rel="noopener noreferrer"&gt;Building custom transitions with react-native-screen-transitions&lt;/a&gt; - How to make custom screen transitions to make your app experience stand out.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://blog.manikagnish.com/extending-expo-ui-with-swiftui-building-a-native-swipeactions-modifier" rel="noopener noreferrer"&gt;Extending Expo UI with SwiftUI: Building a Native swipeActions Modifier&lt;/a&gt; - Walkthrough of building a local Expo module to add SwiftUI's swipeActions modifier to @expo/ui.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.peterp.me/articles/legend-list-engine-simulator/" rel="noopener noreferrer"&gt;What's actually happening inside Legend List&lt;/a&gt; - Explains what formula does Legend List use to display items optimally and what role optimisation props play in it.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://swmansion.com/blog/expo-to-meta-quest-ai-powered-vr-development/" rel="noopener noreferrer"&gt;Expo to Meta Quest - AI-powered VR development&lt;/a&gt; - A migration skill that, combined with Meta's Horizon Debug Bridge MCP, enables an agentic dev loop for VR. Covers Expo workflow setup, resizable VR windows, and performance optimization.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/radon-ide/releases/tag/v1.17.0" rel="noopener noreferrer"&gt;Radon IDE 1.17 - Native View Hierarchy Inspector on iOS, Android Network Inspector now captures native traffic, RN 0.85 support, and clipboard sync between computer and device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/tddworks/baguette" rel="noopener noreferrer"&gt;Baguette - Headless iOS Simulator manager/farm + host-side input injection for iOS 26 — taps, swipes, multi-finger gestures, and 60 fps streaming&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/rozenite/releases/tag/v1.8.0" rel="noopener noreferrer"&gt;Rozenite 1.8 - Nitro traffic support in the network activity plugin, SQLite agent tools, and a Rozenite for Agents SDK&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/agent-cdp" rel="noopener noreferrer"&gt;Agent CDP - CLI for Chrome DevTools Protocol, debug targets, console, traces, heap snapshots, profiling for Chrome, Node.js, and React Native&lt;/a&gt; - Part of the agent-tools family from Callstack.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/agent-device/releases/tag/v0.14.0" rel="noopener noreferrer"&gt;Agent Device 0.14 - Android snapshot helper, skillgym tests, and replaces bulky skills with versioned CLI help&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/infinitered/reactotron/releases/tag/reactotron-core-server%403.3.0" rel="noopener noreferrer"&gt;Reactotron 3.3 - Adds an MCP server for Claude Code integration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-enriched/releases/tag/v0.7.0" rel="noopener noreferrer"&gt;RN Enriched 0.7 - EnrichedText component for HTML rendering and experimental web support&lt;/a&gt; - Now a complete rich-text solution where inputs and display text use the same format.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/jingjing2222/react-native-nitro-geolocation" rel="noopener noreferrer"&gt;Nitro Geolocation - Nitro-powered geolocation with a compat API for &lt;code&gt;@react-native-community/geolocation&lt;/code&gt;&lt;/a&gt; - Includes a Rozenite DevTools plugin for mocking locations and an Agent Skills migration playbook.&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=1o0pEjYGUWM" rel="noopener noreferrer"&gt;Beto - How React Native Builds Actually Work (APK, AAB, IPA, APP)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=IzrhMN94gEE" rel="noopener noreferrer"&gt;notJust.dev - Let's build a Podcast app for Fire TV using Vega OS &amp;amp; React Native&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://creators.spotify.com/pod/profile/dan-neciu/episodes/React-Native-at-Scale-with-Kadi-Kraman--Software-Developer-at-Expo--Mobile-Development--EAS--OTA-Updates-e3iqbdu" rel="noopener noreferrer"&gt;React Native at Scale with Kadi Kraman | Expo, Mobile Development, EAS, OTA Updates&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://piccalil.li/blog/the-end-of-responsive-images/" rel="noopener noreferrer"&gt;The end of responsive images&lt;/a&gt; - You don’t need to define explicit breakpoints anymore. With &lt;code&gt;&amp;lt;img loading=”lazy” sizes=”auto”&amp;gt;&lt;/code&gt;, all modern browsers will figure out the appropriate image size based on &lt;code&gt;srcset&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://ishadeed.com/article/range-syntax/" rel="noopener noreferrer"&gt;Media Queries Range Syntax&lt;/a&gt; - CSS range queries such as &lt;code&gt;@media (300px &amp;lt;= width &amp;lt;= 500px)&lt;/code&gt; are widely supported by all browsers.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://adventures.nodeland.dev/archive/why-trusted-publishing-can-t-save-us/" rel="noopener noreferrer"&gt;Why “Trusted Publishing” Can’t Save Us from Social Engineering&lt;/a&gt; - npm Trusted Publishing and provenance features do not protect against attackers publishing on behalf of a compromised maintainer.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://dev.to/aralroca/the-on2-bug-that-looked-like-clean-code-3556"&gt;The O(n^2) Bug That Looked Like Clean Code&lt;/a&gt; - Highlights several JS patterns that seem fine at first glance but lead to quadratic complexity.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://nodejs.org/en/blog/release/v26.0.0" rel="noopener noreferrer"&gt;Node.js 26.0&lt;/a&gt; - This major release unlocks exciting new APIs such as &lt;code&gt;Temporal&lt;/code&gt; and &lt;code&gt;Map.getOrInsert()&lt;/code&gt;. It also upgrades the HTTP client. Let’s take the opportunity to remind that &lt;a href="https://nodejs.org/en/blog/announcements/evolving-the-nodejs-release-schedule" rel="noopener noreferrer"&gt;the Node.js release schedule is evolving&lt;/a&gt; and dropping the even/odd distinction after this release: v27 will become LTS.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://franktisellano.github.io/datatype/" rel="noopener noreferrer"&gt;Datatype - Variable font that turns text into charts&lt;/a&gt; - A really cool idea, relying on font ligatures!. This might be an efficient way to show little inline charts in grid/list views.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://tsz.dev/" rel="noopener noreferrer"&gt;tsz - TypeScript compiler in Rust&lt;/a&gt; - WIP but nearly complete, faster than tsgo, drop-in replacement.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://astro.build/blog/astro-620/" rel="noopener noreferrer"&gt;Astro 6.2 - SVG optimizer, experimental Logger and &lt;code&gt;getFontFileURL()&lt;/code&gt; APIs&lt;/a&gt; - Also a sneak peek of Astro v7 now in alpha, including Vite 8 and stable Rust compiler.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;&lt;a href="https://x.com/NaturalNeonRain/status/2032937391485313152" 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%2Fhjcvs1ltghg0rzykcurb.jpg" alt="alt" width="800" height="1176"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/sebastienlorber/status/2051264162508996626" 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%2Fntl7j1x90tz16wpb0xpu.jpg" alt="alt" width="800" height="603"&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 #279 : Compiler, TSRX, StyleX, XState, Hook Form | SPM, SimCam, Enriched Markdown, Agent Device | pnpm, Aube, Fresh, Node.js</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Sat, 02 May 2026 22:10:39 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-279-compiler-tsrx-stylex-xstate-hook-form-spm-simcam-enriched-44g8</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-279-compiler-tsrx-stylex-xstate-hook-form-spm-simcam-enriched-44g8</guid>
      <description>&lt;p&gt;Hi everyone, &lt;strong&gt;Konrad and Kacper from &lt;a href="https://swmansion.com/?utm_source=thisweekinreact" rel="noopener noreferrer"&gt;Software Mansion&lt;/a&gt;&lt;/strong&gt; here! 👋&lt;/p&gt;

&lt;p&gt;A quiet week — no big headlines — but still a couple of solid articles and releases in the React ecosystem.&lt;/p&gt;

&lt;p&gt;On the React side, the WIP React Compiler in Rust is being tested at Meta. We also have a 18-month retrospective on the React Compiler, a deep dive into how React streams UI, and a step-by-step guide for migrating from Radix UI to Base UI. There's also a fresh batch of releases, including React Hook Form, Chakra UI, Mantine 9.1, and TanStack Query.&lt;/p&gt;

&lt;p&gt;On the React Native front, an RFC has landed proposing Swift Package Manager support to replace CocoaPods, and React Navigation v8 will gain a &lt;code&gt;retain&lt;/code&gt; API to keep screens mounted after going back. Don't miss the blog on making pure JSI code faster.&lt;/p&gt;

&lt;p&gt;Let's dive in!&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="800" 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%2Fcjdvmtgrmkc7ktvbp18m.jpg" alt="Still writing tests manually?" width="800" height="419"&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;Still writing tests manually?&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Notion, Dropbox, Wiz, and LaunchDarkly&amp;nbsp;have found a new testing paradigm - and they can't imagine working without it.&amp;nbsp;Built by &lt;a href="https://www.meticulous.ai?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q1&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;ex-Palantir engineers&lt;/a&gt;, Meticulous autonomously creates a continuously evolving suite of E2E UI tests that delivers &lt;a href="https://www.meticulous.ai?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q1&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;near-exhaustive coverage&lt;/a&gt; with &lt;em&gt;zero developer effort&lt;/em&gt; - impossible to deliver by any other means.&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;&lt;strong&gt;No maintenance (seriously)&lt;/strong&gt;&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;🤨&lt;/strong&gt; Curious? &lt;a href="https://www.meticulous.ai?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q1&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Book in a time to learn more&lt;/a&gt;&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://crowdin.info/V49bfMh" rel="noopener noreferrer"&gt;Crowdin - AI localization platform that automates your React app translations from code to deployment.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/facebook/react/pull/36173#issuecomment-4328422631" rel="noopener noreferrer"&gt;WIP port of React Compiler to Rust&lt;/a&gt; - Confirmed being internally tested at Meta.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://saschb2b.com/blog/react-compiler-year-in-review" rel="noopener noreferrer"&gt;The React Compiler at Eighteen Months: The Arc, the Debates, and What's Next&lt;/a&gt; - An overview of what happened since React Compiler was announced and predictions for the future.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://inside-react.vercel.app/blog/how-react-streams-ui-out-of-order" rel="noopener noreferrer"&gt;How React streams UI out of order and still manages to keep order&lt;/a&gt; - Deep dive into Suspense boundaries and DOM staging.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://certificates.dev/blog/accessibility-in-react-common-mistakes-and-how-to-fix-them" rel="noopener noreferrer"&gt;Accessibility in React: Common Mistakes and How to Fix Them&lt;/a&gt; - HTML elements, document structure, interactive elements labeling, connecting errors to labels, focus management, dynamic updates, ARIA.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://shadcnstudio.com/blog/migrate-from-radix-ui-to-base-ui" rel="noopener noreferrer"&gt;Migrating from Radix UI to Base UI: Step-by-Step Guide&lt;/a&gt; - Covers the main API differences: &lt;code&gt;asChild&lt;/code&gt; becomes a &lt;code&gt;render&lt;/code&gt; prop, &lt;code&gt;data-[state=*]&lt;/code&gt; attributes are replaced by ARIA attributes, and component-specific changes like Select now take an &lt;code&gt;items&lt;/code&gt; array.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://hackmd.io/@0u1u3zEAQAO0iYWVAStEvw/Hk2Jiv8T-l" rel="noopener noreferrer"&gt;Why TSRX isn't just your Favorite Templating Language&lt;/a&gt; - TSRX is an alternative to JSX. The article states that TSRX’s mechanics (static analyzability, stateful templates, hooks in conditionals) matter more than syntax.&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-apr29" 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-hook-form/react-hook-form/releases/tag/v7.74.0" rel="noopener noreferrer"&gt;React Hook Form 7.74 - &lt;code&gt;setValues&lt;/code&gt; update multiple fields at once&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/ReactTooltip/react-tooltip/releases/tag/v6.0.0" rel="noopener noreferrer"&gt;React Tooltip 6.0 - &lt;code&gt;portalRoot&lt;/code&gt; and &lt;code&gt;autoClose&lt;/code&gt; props, React 19 support, removed HTML string API&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/shadcn-ui/ui/releases/tag/shadcn%404.5.0" rel="noopener noreferrer"&gt;shadcn CLI 4.5 - Add --pointer option to cli&lt;/a&gt; - Re-enables &lt;code&gt;cursor: pointer&lt;/code&gt; on buttons.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/statelyai/xstate/releases/tag/xstate%405.31.0" rel="noopener noreferrer"&gt;XState 5.31 - Add &lt;code&gt;mapState(snapshot, mapper)&lt;/code&gt; and &lt;code&gt;maxIterations&lt;/code&gt; option&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://stylexjs.com/blog/v0.18" rel="noopener noreferrer"&gt;StyleX 0.18 - New &lt;code&gt;sx={}&lt;/code&gt; JSX prop, &lt;code&gt;stylex.env&lt;/code&gt; compile-time constants, &lt;code&gt;create-stylex-app&lt;/code&gt; CLI, DevTools extension, Bun support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/chakra-ui/chakra-ui/releases/tag/%40chakra-ui%2Freact%403.35.0" rel="noopener noreferrer"&gt;Chakra UI 3.35 - new release for: react, charts, cli, panda-presets and codemod packages&lt;/a&gt; - This release adds a Splitter component, React 19 support, and new CLI commands for docs/props.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/honojs/middleware/tree/main/packages/inertia" rel="noopener noreferrer"&gt;@hono/inertia - Inertia.js on Hono, render React from your routes&lt;/a&gt; - Skips the REST endpoints, client side router and the data fetching layer entirely with this new end-to-end type safe middleware.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/mantinedev/mantine/releases/tag/9.1.0" rel="noopener noreferrer"&gt;Mantine 9.1 - Added/modified: deduplicateInlineStyles, use-mask, MaskInput, Treemap, TimePicker, Heatmap, MonthPicker, YearPicker, use-roving-index, Tree, Slider, WeekView&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/TanStack/query/releases/tag/release-2026-04-23-1319" rel="noopener noreferrer"&gt;TanStack Query 5.100 - Added retryOnMount callback; internal Svelte test cleanup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=MjNHmFGqNWw" rel="noopener noreferrer"&gt;Josef Bender - Avoid These 3 Mistakes in TanStack Start&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=t9xB8xvySyo" rel="noopener noreferrer"&gt;Jack Herrington - Partial Page Caching Using React Server Components&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=ThisWeekInReact22Apr26" 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%2F8oblfaxw2tcgfz35u8gn.jpg" alt="No breakpoints, no console.log — just AI &amp;amp; time travel" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://wallabyjs.com/?referrer=ThisWeekInReact22Apr26" rel="noopener noreferrer"&gt;No breakpoints, no console.log — just AI &amp;amp; time travel&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;15x faster TypeScript and JavaScript debugging than with breakpoints and &lt;code&gt;console.log&lt;/code&gt;, while upgrading your AI agent into an expert debugger with real-time context.&lt;/p&gt;

&lt;p&gt;Wallaby.js runs your tests as you type, feeding your AI assistant live runtime values, code coverage, error details, and execution paths — all right next to your code. With &lt;a href="https://wallabyjs.com/blog/wallaby-v3.html?referrer=ThisWeekInReact22Apr26" rel="noopener noreferrer"&gt;Wallaby v3’s new engine&lt;/a&gt; 🚀, tests start instantly with cached results, prioritize active files, and stream updates in real time.&lt;/p&gt;

&lt;p&gt;Built for testing, Wallaby includes a &lt;strong&gt;Time Travel Debugger&lt;/strong&gt;, the ability to run only opened files, full-context AI integration, smart test runs, and more.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://wallabyjs.com/?referrer=ThisWeekInReact22Apr26" rel="noopener noreferrer"&gt;➡️ Learn More&lt;/a&gt;&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://maestro.dev/?utm_source=this-week-in-react#maestro-studio" rel="noopener noreferrer"&gt;Maestro Studio - A desktop app for automated React Native UI testing. Build tests by clicking directly on your app's UI. Free.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💬 &lt;a href="https://github.com/react-native-community/discussions-and-proposals/pull/994" rel="noopener noreferrer"&gt;RFC: Swift Package Manager support in React Native&lt;/a&gt; - Plan to replace CocoaPods with SPM on iOS, as CocoaPods has been in maintenance mode for a while.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/react-navigation/react-navigation/pull/13076" rel="noopener noreferrer"&gt;React Navigation PR - Add support for retaining screens in stack&lt;/a&gt; - A new &lt;code&gt;navigation.retain(true)&lt;/code&gt; API will keep a screen mounted after going back, similar to React's &lt;code&gt;&amp;lt;Activity&amp;gt;&lt;/code&gt;. JS stack only for now, but Native Stack support will come with RNScreens 5.&lt;/li&gt;
&lt;li&gt;📣 &lt;a href="https://developer.apple.com/news/upcoming-requirements/?id=02032026a" rel="noopener noreferrer"&gt;Starting on April 28, 2026 apps uploaded to App Store Connect must be built with Xcode 26&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://blog.margelo.com/make-jsi-run-faster" rel="noopener noreferrer"&gt;How to Make Pure JSI Code Faster in React Native&lt;/a&gt; - &lt;code&gt;HostFunction&lt;/code&gt; is about 5x faster than &lt;code&gt;HostObject&lt;/code&gt;, prefer stack buffers when size is known, avoid unnecessary temporary allocations, reduce JS ↔ C++ crossings.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://blog.margelo.com/react-native-qr-barcode-scanner-visioncamera-v5" rel="noopener noreferrer"&gt;QR and Barcode Scanning in React Native with VisionCamera V5&lt;/a&gt; - Overview of VisionCamera APIs for QR scanning with ranging purposes &amp;amp; levels of complexity.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://swmansion.com/blog/integrating-deferred-deep-linking-in-react-native-apps-1/" rel="noopener noreferrer"&gt;Integrating Deferred Deep Linking in React Native Apps&lt;/a&gt; - React Native Detour SDK walkthrough with Expo Router.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.callstack.com/blog/when-to-use-apple-foundation-models-on-mobile" rel="noopener noreferrer"&gt;When to Use Apple Foundation Models on Mobile&lt;/a&gt; - Hybrid approach where local models handle latency-sensitive tasks and cloud models handle complex reasoning. Use local first and escalate to cloud when needed.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://simcam.swmansion.com/" rel="noopener noreferrer"&gt;SimCam - Camera Testing for the iOS Simulator&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/margelo/react-native-quick-crypto/releases/tag/v1.1.0" rel="noopener noreferrer"&gt;Quick Crypto 1.1 - simdutf for faster string encoding/decoding, Buffer semantics now match Node.js semantics, OpenSSL-Universal CocoaPods dep&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion-labs/react-native-enriched-markdown/releases/tag/v0.5.0" rel="noopener noreferrer"&gt;Enriched Markdown 0.5 - Support macOS, web, &lt;code&gt;EnrichedMarkdownTextInput&lt;/code&gt;, spoiler elements, auto-link detection, VoiceOver/TalkBack improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/agent-device/releases/tag/v0.13.0" rel="noopener noreferrer"&gt;Agent Device 0.13 - React DevTools passthrough, parametrise .ad replay scripts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/joshuayoes/ios-simulator-mcp/releases/tag/1.6.0" rel="noopener noreferrer"&gt;iOS Simulator MCP 1.6 - Added &lt;code&gt;ui_find_element&lt;/code&gt; tool, &lt;code&gt;launch_app&lt;/code&gt; env variable and &lt;code&gt;record_video&lt;/code&gt; UDID support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/googlemaps/react-native-navigation-sdk/releases/tag/v0.15.0" rel="noopener noreferrer"&gt;Google Maps RN Navigation SDK 0.15 - Breaking changes to continueToNextDestination and mapStyle; various iOS/Android crash fixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/corasan/react-native-nitro-mlx/releases/tag/v0.5.0" rel="noopener noreferrer"&gt;Nitro MLX 0.5 - Expo 55 support, added Embeddings module, ChatSession API, and streaming downloads&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/arunabhverma/expo-paste-input/releases/tag/v0.2.0" rel="noopener noreferrer"&gt;Expo Paste Input 0.2 - Animated GIF stickers, preserve animation instead of converting to static images&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/GantMan/jail-monkey/releases/tag/v3.0.0" rel="noopener noreferrer"&gt;Jail Monkey 3.0 - New Architecture support, added iOS/Android mock location detection&lt;/a&gt; - Detect jailbroken/rooted device, mocked locations, and on Android apps running from external storage.&lt;/li&gt;
&lt;li&gt;🤖 &lt;a href="https://github.com/software-mansion-labs/skills/tree/main/skills/react-native-best-practices/references/jsi" rel="noopener noreferrer"&gt;Software Mansion React Native JSI Skills&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=kN8fuEPf20A" rel="noopener noreferrer"&gt;Beto - React Native UI Testing Without the Pain&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/62526" rel="noopener noreferrer"&gt;Node.js PR - Release v26.0&lt;/a&gt; - The release slipped from yesterday to next week. It upgrades the &lt;code&gt;fetch()&lt;/code&gt; client and unlocks new exciting APIs such as &lt;code&gt;Temporal&lt;/code&gt; and &lt;code&gt;Map.getOrInsert()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.joshwcomeau.com/animation/scroll-driven-animations/" rel="noopener noreferrer"&gt;Scroll-Driven Animations&lt;/a&gt; - Another great interactive article from Josh Comeau, explaining how you can now map a CSS keyframe to a scroll distance instead of a duration.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://nik.digital/posts/compositing-blending" rel="noopener noreferrer"&gt;Compositing &amp;amp; Blending&lt;/a&gt; - How the browser decides the final color of every pixel when stacking multiple elements and how it is applied in the real world.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://frontendmasters.com/blog/the-web-is-fun-again-first-experiments-with-html-in-canvas/" rel="noopener noreferrer"&gt;The Web Is Fun Again: First Experiments with HTML in Canvas&lt;/a&gt; - Showcases a new API, with its limitations and interesting ways to use it.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://web.dev/blog/web-platform-04-2026?hl=en" rel="noopener noreferrer"&gt;New to the web platform in April&lt;/a&gt; - &lt;code&gt;contrast-color()&lt;/code&gt;, animation-range, and &lt;code&gt;Math.sumPrecise&lt;/code&gt; became Baseline Newly Available, while Firefox and Chrome added various new APIs.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://pnpm.io/blog/releases/11.0" rel="noopener noreferrer"&gt;pnpm 11.0 - SQLite-backed store, supply-chain protection on by default, native publishing, ESM-only&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://aube.en.dev/" rel="noopener noreferrer"&gt;Aube - Drop-in Node.js package manager that reads existing lockfiles&lt;/a&gt; - Claims to be 9.2x faster than pnpm and 2.7x faster than Bun.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://deno.com/blog/fresh-2.3" rel="noopener noreferrer"&gt;Fresh 2.3 - Preact framework - Zero JS by default, View Transitions, and Temporal support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://syntax.fm/show/999/writing-maintainable-css" rel="noopener noreferrer"&gt;Syntax.fm 999 - Writing Maintainable CSS&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤭 Fun
&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%2Fj2xz39u43tse6j6ibqf3.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%2Fj2xz39u43tse6j6ibqf3.jpg" alt="alt" width="800" height="647"&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 #278 : React Email, TSRX, ESLint plugin, Rspack RSC, TanStack | Vision Camera, Expo, Nano Icons, ExecuTorch | TypeScript Go</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Fri, 24 Apr 2026 07:11:10 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-278-react-email-tsrx-eslint-plugin-rspack-rsc-tanstack-vision-camera-15m2</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-278-react-email-tsrx-eslint-plugin-rspack-rsc-tanstack-vision-camera-15m2</guid>
      <description>&lt;p&gt;Hi everyone, Krzysztof 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;Big releases anchor the week. React Email 6.0 consolidates a fragmented ecosystem into one package, unlocking an embeddable editor and more reliable HTML rendering across mailboxes.&lt;/p&gt;

&lt;p&gt;On mobile, Marc Rousavy shipped VisionCamera v5 with a full Nitro Modules rewrite, Worklets integration, pro controls, and a modular plugin architecture.&lt;br&gt;&lt;br&gt;
Heads up on the Vercel April 2026 incident: rotate your integration tokens if you use third-party integrations.&lt;/p&gt;

&lt;p&gt;Also inside: Expo’s Series B, Seth Webster joining Expo, the Doctolib WebView-to-Native migration, and fresh releases from TanStack, React Hook Form, ExecuTorch, TS Go beta, Rspack RSC, and more.&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="800" 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=26q1&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%2Fcjdvmtgrmkc7ktvbp18m.jpg" alt="Still writing tests manually?" width="800" height="419"&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=26q1&amp;amp;utm_content=2nd" rel="noopener noreferrer"&gt;Still writing tests manually?&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Notion, Dropbox and LaunchDarkly&amp;nbsp;have found a new testing paradigm - and they can't imagine working without it.&amp;nbsp;Built by &lt;a href="https://www.meticulous.ai?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q1&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;ex-Palantir engineers&lt;/a&gt;, Meticulous autonomously creates a continuously evolving suite of E2E UI tests that delivers &lt;a href="https://www.meticulous.ai?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q1&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;near-exhaustive coverage&lt;/a&gt; with &lt;em&gt;zero developer effort&lt;/em&gt; - impossible to deliver by any other means.&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;&lt;strong&gt;No maintenance (seriously)&lt;/strong&gt;&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;🤨&lt;/strong&gt; Curious? &lt;a href="https://www.meticulous.ai?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q1&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Book in a time to learn more&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;&lt;a href="https://resend.com/blog/react-email-6" 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%2Ft3p1c2rt5zy6u8g2kzvw.jpg" alt="React Email 6.0" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://resend.com/blog/react-email-6" rel="noopener noreferrer"&gt;React Email 6.0&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;React email matures with a major release that cleans up a fragmented ecosystem. It makes version management much easier and stops the CLI and components from getting out of sync.&lt;/p&gt;

&lt;p&gt;Key technical shifts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Embeddable Editor: You can use the preview tool as a React component to show users how their emails will look directly in your own app.&lt;/li&gt;
&lt;li&gt;Reliable HTML: The engine that turns React into email HTML handles more different mailboxes quirks.&lt;/li&gt;
&lt;li&gt;Faster HMR: Faster switching between templates and preview, even with complex layouts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Moving away from modularization into one big package is a big step toward making the library stable and more capable. While it might slightly increase bundle size, it enables complex features blocked before, like the embeddable preview and advanced layout transformations.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://sentry.io/resources/nextjs-may-workshop/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=nextjs-fy27q1-nextjsworkshop&amp;amp;utm_content=newsletter-react-link-register" rel="noopener noreferrer"&gt;Sentry - Stop flying blind in Next.js. This free workshop covers logs, tracing, and how to connect both in production. Register today.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🔐 &lt;a href="https://vercel.com/kb/bulletin/vercel-april-2026-security-incident" rel="noopener noreferrer"&gt;Vercel April 2026 security incident&lt;/a&gt; - A few environment variables were accidentally exposed because of a security breach linked to a third-party AI tool. Since some secrets are stored in plain text, it is recommended to rotate them manually as soon as possible.&lt;/li&gt;
&lt;li&gt;🗓️ &lt;a href="https://reactnorway.com/?utm_medium=social&amp;amp;utm_source=ThisWeekReact" rel="noopener noreferrer"&gt;React Norway&lt;/a&gt; - 🇳🇴 Oslo - 5 June. Check out the stellar lineup featuring Dominik Dorfmeister, Aurora Scharff, and Jack Herrington at the legendary Rockefeller music venue. -10% with code "TWIR".&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://frontendmasters.com/blog/building-a-blog-in-tanstack-part-1-of-2/" rel="noopener noreferrer"&gt;Building a Blog in TanStack&lt;/a&gt; - Building a markdown blog with TanStack Start, then going fully static via pre-rendering and static server functions to avoid Shiki's cold-start cost.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://developer.salesforce.com/blogs/2026/04/build-with-react-run-on-salesforce-introducing-salesforce-multi-framework" rel="noopener noreferrer"&gt;Build with React, Run on Salesforce: Introducing Salesforce Multi-Framework&lt;/a&gt; - A story about the benefits of React that convinced Salesforce to drop their custom solution in favor of React development on their platform. Currently in Beta.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://frontendmasters.com/blog/ai-generated-ui-is-inaccessible-by-default/" rel="noopener noreferrer"&gt;AI-Generated UI Is Inaccessible by Default&lt;/a&gt; - Common accessibility pitfalls in AI-generated code and ways to ensure correct standards through linting, testing and CI.&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://pscale.link/rw" rel="noopener noreferrer"&gt;PlanetScale - Faster apps start with a faster database. Get started with the fastest benchmarked Postgres and MySQL.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://tsrx.dev/" rel="noopener noreferrer"&gt;TSRX - A TypeScript language extension for building declarative UIs&lt;/a&gt; - A spiritual successor to JSX. A new framework-agnostic solution created by former React core team member Dominic Gannaway, can compile to React/Solid/Ripple.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://rspack.rs/blog/announcing-2-0" rel="noopener noreferrer"&gt;Rspack 2.0&lt;/a&gt; - The Rust bundler keeps improving on performance and features while remaining compatible with webpack. This new major also includes experimental React Server Components support, with plans to add support for TanStack RSC.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/TanStack/store/releases/tag/%40tanstack/react-store%400.11.0" rel="noopener noreferrer"&gt;TanStack Store 0.11 - New &lt;code&gt;useAtom&lt;/code&gt;, &lt;code&gt;useSelector&lt;/code&gt;, and &lt;code&gt;createStoreContext&lt;/code&gt; hooks&lt;/a&gt; - &lt;code&gt;useStore&lt;/code&gt; is now deprecated in favor of &lt;code&gt;useSelector&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/facebook/react/releases/tag/eslint-plugin-react-hooks%407.1.0" rel="noopener noreferrer"&gt;ESlint Plugin React Hooks 7.1 - Support for ESLint v10, performance and linting improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://lingui.dev/blog/2026/04/22/announcing-lingui-6.0" rel="noopener noreferrer"&gt;Lingui 6.0 - i18n for React, RN, and more - Technical improvements and modernization&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/react-hook-form/react-hook-form/releases/tag/v7.73.1" rel="noopener noreferrer"&gt;React Hook Form 7.73 - Memoized &lt;code&gt;submit&lt;/code&gt;, faster &lt;code&gt;deepEqual&lt;/code&gt;, enhanced type-safety for deeply nested fields&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=OlViBcLX-fA" rel="noopener noreferrer"&gt;Ankita Kulkani - Next.js finally has Page Transitions Now&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;&lt;a href="https://svar.dev/react/gantt/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=apr22" 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%2Fvi4hu596ro6mq6rgp0ke.jpg" alt="Build Gantt Charts in React – No JS Fluff" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://svar.dev/react/gantt/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=apr22" rel="noopener noreferrer"&gt;Build Gantt Charts in React – No JS Fluff&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Take control of your workflow with &lt;strong&gt;SVAR React Gantt&lt;/strong&gt;, a native React component for task scheduling. Add custom Gantt diagrams to your apps – from simple timelines to complex projects with thousands of tasks.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pure React architecture&lt;/strong&gt; for full customization&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Drag-and-drop&lt;/strong&gt; timeline and easy task editing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optimized rendering&lt;/strong&gt; for large datasets&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Easy integration&lt;/strong&gt; with Next.js and state libraries&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;MIT-licensed core. PRO Edition for critical path, baselines, export, and auto-scheduling.&lt;/p&gt;

&lt;p&gt;🛠️&amp;nbsp; &lt;a href="https://svar.dev/react/gantt/?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=apr22" rel="noopener noreferrer"&gt;Learn more &amp;amp; get started&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;&lt;a href="https://blog.margelo.com/whats-new-in-visioncamera-v5" 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%2Fbkoye4vyjy4trn2346bb.jpg" alt="Vision Camera v5" width="800" height="581"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://blog.margelo.com/whats-new-in-visioncamera-v5" rel="noopener noreferrer"&gt;Vision Camera v5&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Marc Rousavy has released a massive update for VisionCamera. This major upgrade to the camera module includes many new features and improvements. Let’s take a closer look at the main highlights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Nitro Modules Backend - The complete rewrite using Nitro Modules results in significant performance improvements.&lt;/li&gt;
&lt;li&gt;Worklets Integration: Now uses &lt;a href="https://docs.swmansion.com/react-native-worklets/" rel="noopener noreferrer"&gt;&lt;code&gt;react-native-worklets&lt;/code&gt;&lt;/a&gt; for smoother frame processing.&lt;/li&gt;
&lt;li&gt;Pro Camera Controls - Full manual support for Exposure, Focus, and White Balance, plus RAW format support.&lt;/li&gt;
&lt;li&gt;Depth &amp;amp; Multi-Cam - You can now stream LiDAR/ToF data and record with front and back cameras simultaneously.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This release comes with a new modular architecture - VisionCamera is no longer one giant package. You can now pick and choose only the plugins you need to keep your bundle size small:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/mrousavy/react-native-vision-camera/tree/main/packages/react-native-vision-camera-skia" rel="noopener noreferrer"&gt;&lt;code&gt;react-native-vision-camera-skia&lt;/code&gt;&lt;/a&gt; - Real-time filters and overlays&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mrousavy/react-native-vision-camera/tree/main/packages/react-native-vision-camera-barcode-scanner" rel="noopener noreferrer"&gt;&lt;code&gt;react-native-vision-camera-barcode-scanner&lt;/code&gt;&lt;/a&gt; - MLKit integration out of the box&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mrousavy/react-native-vision-camera/tree/main/packages/react-native-vision-camera-resizer" rel="noopener noreferrer"&gt;&lt;code&gt;react-native-vision-camera-resizer&lt;/code&gt;&lt;/a&gt; - GPU-accelerated resizing for ML tasks&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mrousavy/react-native-vision-camera/tree/main/packages/react-native-vision-camera-location" rel="noopener noreferrer"&gt;&lt;code&gt;react-native-vision-camera-location&lt;/code&gt;&lt;/a&gt; - Automatic EXIF tagging&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-apr22" rel="noopener noreferrer"&gt;PostHog - A beginner's guide to testing AI agents&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📣 &lt;a href="https://expo.dev/blog/what-expo-s-series-b-funding-means-for-you" rel="noopener noreferrer"&gt;Expo raised $45 million in a Series B funding round.&lt;/a&gt; They also &lt;a href="https://x.com/expo/status/2044808498765353113" rel="noopener noreferrer"&gt;hired Seth Webster&lt;/a&gt;, who previously led the React team and kickstarted the React Foundation. They are &lt;a href="https://thenewstack.io/expo-bets-big-on-react-natives-agentic-future/" rel="noopener noreferrer"&gt;betting on an agentic future&lt;/a&gt;, at a moment where the React Native ecosystem is expanding faster than ever.&lt;/li&gt;
&lt;li&gt;🐦 &lt;a href="https://x.com/wisniewskij514/status/2043720838646477185" rel="noopener noreferrer"&gt;The Reanimated team is working on pseudo-selector support for CSS animations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🐦 &lt;a href="https://x.com/tomekzaw_/status/2044690191072309360" rel="noopener noreferrer"&gt;The Hermes team is working on JSI support for TypedArrays&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🐦 Evan Bacon demod an &lt;a href="https://x.com/Baconbrix/status/2045207510039322668%20" rel="noopener noreferrer"&gt;iOS simulator running inside of Codex desktop&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🐦 &lt;a href="https://x.com/JI/status/2044887303890583953" rel="noopener noreferrer"&gt;The Codex Expo plugin is now available&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://blog.margelo.com/margelo-discord-react-native-performance" rel="noopener noreferrer"&gt;How Margelo Helped Discord Improve React Native's New Architecture Performance&lt;/a&gt; -
A deep dive into concrete low-level optimizations that made the Discord app. Some of these were upstreamed into Reanimated feature flags and the new Shared Animation Backend in React Native core.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://codewithbeto.dev/blog/building-expo-apps-locally" rel="noopener noreferrer"&gt;How to Build Your React Native App Locally (APK and .app)&lt;/a&gt; - A technical walkthrough for generating local iOS and Android artifacts (.app/.apk) directly from an Expo project using xcodebuild and gradlew.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://medium.com/doctolib/rebuilding-the-doctolib-homepage-from-webview-to-native-27937ea71801" rel="noopener noreferrer"&gt;Rebuilding the Doctolib Homepage from Webview to Native&lt;/a&gt; - Architectural migration from a WebView using a Backend for Frontend architecture. Time to Interactive dropped ~50% on both iOS and Android after the migration.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://swmansion.com/blog/on-device-ai-beats-cloud-for-tts-heres-why/" rel="noopener noreferrer"&gt;On-device AI vs Cloud TTS – Kokoro, react-native-executorch&lt;/a&gt; - How on-device AI can reduce the cost of TTS without sacrificing quality.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://swmansion.com/blog/deferred-deep-linking-for-mobile-developers-with-detour/" rel="noopener noreferrer"&gt;Deferred Deep Linking for Mobile Developers with Detour&lt;/a&gt; - An explanation of when deep linking is a relevant use case for your app and how Detour implements that concept.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion-labs/react-native-nano-icons" rel="noopener noreferrer"&gt;Nano Icons - Use any SVG as font. High-performance, build-time icon font generation for React Native &amp;amp; Expo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/argent" rel="noopener noreferrer"&gt;Argent - An agentic toolkit to control, debug, and profile iOS apps from Software Mansion&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-executorch/releases/tag/v0.8.0" rel="noopener noreferrer"&gt;React Native ExecuTorch 0.8 - Vision Camera v5 integration, Vision Language Models support, Whisper model up to 3x faster&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/maplibre/maplibre-react-native/releases/tag/v11.0.0" rel="noopener noreferrer"&gt;Maplibre 11.0 - Dropped legacy React architecture support; aligned API with MapLibre GL&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/margelo/react-native-graph/releases/tag/v1.2.0" rel="noopener noreferrer"&gt;Graph 1.2 - Support for latest RN, Reanimated &amp;amp; Skia&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/mdjastrzebski/test-renderer/releases/tag/v1.0.0" rel="noopener noreferrer"&gt;Test Renderer 1.0 - Successor to the deprecated react-test-renderer&lt;/a&gt; - Each minor version tracks React 19 line. 1.0.x for React 19.0, 1.1.x for 19.1 (Owner Stacks, CSS-safe useId), 1.2.x for 19.2 (&amp;lt;Activity&amp;gt;, useEffectEvent).&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/adnxy/rnsec/blob/main/NEW_RULES_v1.3.0.md" rel="noopener noreferrer"&gt;RNSec 1.3 - New security rules and native code vulnerability scanner&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/JubaKitiashvili/expo-pretext/releases/tag/v1.1.0" rel="noopener noreferrer"&gt;Expo Pretext 1.1 - Brings CSS &lt;code&gt;text-wrap: balance/pretty&lt;/code&gt; to RN&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-audio-api/releases/tag/0.12.0" rel="noopener noreferrer"&gt;Audio API 0.12 - Mac Catalyst support, Android ducking, universal resampler, rotating file writer for long recordings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=FXw9OoiddMg" rel="noopener noreferrer"&gt;Beto - Expo Router v55 Crash Course&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://infinite.red/react-native-radio/rnr-360" rel="noopener noreferrer"&gt;RNR 360 - TanStack Native Router with Tanner Linsley&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://frontendmasters.com/blog/building-a-ui-without-breakpoints/" rel="noopener noreferrer"&gt;Building a UI Without Breakpoints&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.debugbear.com/blog/shopify-speed-optimization" rel="noopener noreferrer"&gt;Shopify Speed Optimization: Fixing The Real Bottlenecks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://dev.to/sylwia-lask/most-apps-are-slower-than-they-need-to-be-heres-why-live-demo-2hh8"&gt;Most Apps Are Slower Than They Need to Be&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-beta/" rel="noopener noreferrer"&gt;TypeScript 7.0 Beta&lt;/a&gt; - The first beta of the Go rewrite is out! It has great compatibility with 6.0 and should be ~10x faster thanks to parallelization.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://nodejs.org/en/blog/release/v24.15.0" rel="noopener noreferrer"&gt;Node.js 24.15 - require(esm) marked as stable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://bun.com/blog/bun-v1.3.13" rel="noopener noreferrer"&gt;Bun 1.3.13 - Fast parallel and isolated tests, faster bun install&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://fast-check.dev/blog/2026/04/18/whats-new-in-fast-check-4-7-0/" rel="noopener noreferrer"&gt;Fast-Check 4.7 - Property-based testing framework&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/honojs/node-server/releases/tag/v2.0.0" rel="noopener noreferrer"&gt;Hono Node.js Adapter 2.0 - Up to 2.3x faster&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤭 Fun
&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%2Frcagaglxqh7swaxiwdw8.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%2Frcagaglxqh7swaxiwdw8.jpg" alt="alt" width="800" height="1076"&gt;&lt;/a&gt;&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftb0fahsf8sappyrjpbxk.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%2Ftb0fahsf8sappyrjpbxk.jpg" alt="alt" width="800" height="705"&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 #277: TanStack RSC, React2Dos, Next.js, MUI, Base UI | Pulsar, Nitro Fetch, Flow, Agent React DevTools | HTML-in-Canvas, Yuku</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Fri, 17 Apr 2026 12:29:16 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-277-tanstack-rsc-react2dos-nextjs-mui-base-ui-pulsar-nitro-fetch-4j82</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-277-tanstack-rsc-react2dos-nextjs-mui-base-ui-pulsar-nitro-fetch-4j82</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 finally have an experimental version of TanStack RSC! A new React DoS vulnerability affects Server Functions, so you probably need to upgrade React again. There are also important releases from the MUI team, and Styled Components is still alive!&lt;/p&gt;

&lt;p&gt;On the React Native side, we got a new universal Haptics library, and a much faster fetch alternative. We heard VisionCamera 5 is around the corner.&lt;/p&gt;

&lt;p&gt;Let's dive in!&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="800" height="373"&gt;&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;&lt;a href="https://planetscale.com" 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%2Fjw6wz791k1opimhm1f4n.png" alt="The fastest Postgres + MySQL database" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://planetscale.com" rel="noopener noreferrer"&gt;The fastest Postgres + MySQL database&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;PlanetScale Metal runs on blazing-fast NVMe in your favorite hyperscaler clouds. Get high-performance, reliability, and the best DX available for Postgres and MySQL.&lt;/p&gt;

&lt;p&gt;Companies like Cash App, Cursor, and MyFitnessPal trust PlanetScale for their Tier 0 databases.&lt;/p&gt;

&lt;p&gt;With PlanetScale, you get:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The best performance with local NVMe&lt;/li&gt;
&lt;li&gt;AI integration with our MCP, skills, and automatic schema recommendations&lt;/li&gt;
&lt;li&gt;Built-in query observability with Insights&lt;/li&gt;
&lt;li&gt;Pricing from $5/mo&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://planetscale.com/migrate" rel="noopener noreferrer"&gt;Migrate your database today&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;&lt;a href="https://tanstack.com/blog/react-server-components" 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%2Frs7iyicji4cpob6b73am.jpg" alt="TanStack - React Server Components Your Way" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://tanstack.com/blog/react-server-components" rel="noopener noreferrer"&gt;TanStack - React Server Components Your Way&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Two weeks ago, we covered the TanStack Start RSC sneak peek that Tanner offered us at React Paris. And now, they are available as an experimental feature!&lt;/p&gt;

&lt;p&gt;My highlights remain mostly the same:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Primitives&lt;/strong&gt;: RSCs are supported through 3 primitive APIs that permit to manipulate RSCs as any other stream of data, immediately compatible with existing tools such as React Query, TanStack Router loaders, localStorage, CDNs and HTTP caches. It is entirely opt-in and does not impose a server-first approach nor any framework convention, giving you total freedom on how to compose those primitives.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Composite Components&lt;/strong&gt;: The server renders a RSC with slots that get filled by the client. You don’t need &lt;code&gt;’use client’&lt;/code&gt; directives, although they are supported. This new concept creates an explicit boundary between the server and the client. It should be possible to co-locate client/server components in the same file this way.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No Server Actions&lt;/strong&gt;: A design decision for security reasons. Recent React CVEs affecting other RSC frameworks were due to Server Functions handling Flight payloads and don't apply to TanStack Start, as &lt;a href="https://www.youtube.com/watch?v=-dbvAMsRKi0" rel="noopener noreferrer"&gt;Jack Herrington explains in this video&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What strikes me is just how different this is from Next.js. It feels more like a library than a framework, and more in sync with the philosophy that initially attracted me to React.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-apr15" rel="noopener noreferrer"&gt;PostHog - How we built automatic clustering for LLM traces&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🔐 &lt;a href="https://www.imperva.com/blog/react2dos-cve-2026-23869-when-the-flight-protocol-crashes-at-takeoff/" rel="noopener noreferrer"&gt;React2DoS (CVE-2026-23869): When the Flight Protocol Crashes at Takeoff&lt;/a&gt; - A new Denial-of-Service vulnerability affects the React Flight Protocol when deserializing Server Functions payloads. If you use Server Functions, upgrade asap to React 19.2.5 or &lt;a href="https://github.com/vercel/next.js/releases/tag/v16.2.3" rel="noopener noreferrer"&gt;Next.js 16.2.3&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/vercel/next.js/pull/92252" rel="noopener noreferrer"&gt;Next.js PR - Node.js streams: Fork points&lt;/a&gt; - The SSR/RSC throughput is limited due to the use of standard Web Streams. The PR shows ongoing work to provide support for faster but non-standard Node.js streams, though the &lt;code&gt;experimental.useNodeStreams&lt;/code&gt; feature flag. Accordingly to this former &lt;a href="https://vercel.com/blog/we-ralph-wiggumed-webstreams-to-make-them-10x-faster" rel="noopener noreferrer"&gt;Vercel article about Web Streams&lt;/a&gt;, the outcome could be quite significant.&lt;/li&gt;
&lt;li&gt;🗓️ &lt;a href="https://www.dotjs.io/speak?utm_source=twir&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=CFP" rel="noopener noreferrer"&gt;dotJS 2026&lt;/a&gt;&amp;nbsp;-&amp;nbsp;🇫🇷 Paris - 18 September - Call For Papers for dotJS is open until April 28th 6 PM CET, submit now your talk proposals for the conference!&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://github.blog/engineering/architecture-optimization/the-uphill-climb-of-making-diff-lines-performant/" rel="noopener noreferrer"&gt;GitHub - The uphill climb of making diff lines performant&lt;/a&gt; - GitHub cut the rendering cost their React-based PR diff view. What worked includes using fewer DOM nodes and event handler, simpler CSS selectors, TanStack Virtual for large PRs, removing scattered useEffect, and more.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://valentinprugnaud.dev/posts/2026/04/if-you-cant-see-the-boundary-you-cant-reason-about-the-system" rel="noopener noreferrer"&gt;If You Can't See the Boundary, You Can't Reason About the System&lt;/a&gt; - Explains the need to visually see the boundary of Client/Server components on the current page, and introduces a Next.js App Router tool to highlight those boundaries.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://programmingarehard.com/2026/04/11/contributing-to-react-router.html/" rel="noopener noreferrer"&gt;Contributing Callsite Revalidation Opt-out to React Router&lt;/a&gt; - Explains how React Router and React Query behave differently regarding revalidation after a mutation, and motivations to contribute a new &lt;code&gt;unstable_defaultShouldRevalidate&lt;/code&gt; API to React Router.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tkdodo.eu/blog/the-vertical-codebase" rel="noopener noreferrer"&gt;The Vertical Codebase&lt;/a&gt; - Colocate files by vertical features to scale your React codebase.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://yurimutti.com/posts/logging-nextjs-loglayer-instrumentation-console-override-structured-logs" rel="noopener noreferrer"&gt;Logging in Next.js with LogLayer: Instrumentation, Console Override, and Structured Logs&lt;/a&gt; - Gives you one logging model across all runtimes.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://neciudan.dev/master-eslint-rules" rel="noopener noreferrer"&gt;Now more then ever, you need to master custom ESLint rules&lt;/a&gt; - Deep dive into writing custom ESLint rules, with concrete React-focused examples, such as preventing useEffect antipatterns).&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tigerabrodi.blog/next-js-use-cache-remote-a-distributed-cache-in-one-line" rel="noopener noreferrer"&gt;Next.js use cache: remote: A Distributed Cache in One Line&lt;/a&gt; - By default, the Cache Components feature works in memory, but it’s possible to cache data across serverless instances to increase cache hits.&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://certificates.dev/react?friend=TWIR&amp;amp;utm_source=twir&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=partner" rel="noopener noreferrer"&gt;Certificates.dev - Boost your skills with up to 6 live bootcamps led by Aurora Scharff and get React certified with our Mid &amp;amp; Senior bundles&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://mui.com/blog/introducing-mui-v9/" rel="noopener noreferrer"&gt;Material UI and MUI X 9.0&lt;/a&gt; - This large release re-aligns the versions of the core design system and the advanced components. MUI moves from v7 straight to v9, and introduces the first Base UI-backed primitives in the codebase with new &lt;code&gt;NumberField&lt;/code&gt; and &lt;code&gt;Menubar&lt;/code&gt; components. MUI X also received several improvements, adding new Chat and Scheduler components in alpha.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://base-ui.com/react/overview/releases/v1-4-0" rel="noopener noreferrer"&gt;Base UI 1.4 - One-Time Password field (preview), update a Toast, many bug fixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/unjs/unhead/releases/tag/v3.0.0" rel="noopener noreferrer"&gt;Unhead 3.0 - Streaming &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; component for any framework&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/orchetron/storm" rel="noopener noreferrer"&gt;Storm - Terminal UI framework based on React&lt;/a&gt; - This new TUI addresses limitations of Ink, with cell-level diffing and dual-speed rendering architecture.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/styled-components/styled-components/releases/tag/styled-components%406.4.0" rel="noopener noreferrer"&gt;Styled Components 6.4 - React Server Components support, performance optimizations, RN improvements, and more&lt;/a&gt; - The historical CSS-in-JS lib is in “maintenance mode” and yet it received a quite significant update!&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://react-aria.adobe.com/releases/v1-17-0" rel="noopener noreferrer"&gt;React Aria 1.17 - Expandable rows in Table, window scrolling in Virtualizer, dependency consolidation, sub-path imports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/millionco/isolet" rel="noopener noreferrer"&gt;Isolet - Package any component into a self-contained, isolated widget&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/kapishdima/remocn" rel="noopener noreferrer"&gt;Remocn - Production-ready animations, transitions, and scenes for Remotion&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://syntax.fm/show/995/next-js-vendor-lock-in-no-more" rel="noopener noreferrer"&gt;Syntax.fm 955 - Next.js Vendor Lock-in No More&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=26q1&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%2Fcjdvmtgrmkc7ktvbp18m.jpg" alt="Still writing tests manually?" width="800" height="419"&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=26q1&amp;amp;utm_content=2nd" rel="noopener noreferrer"&gt;Still writing tests manually?&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Notion, Dropbox and LaunchDarkly&amp;nbsp;have found a new testing paradigm - and they can't imagine working without it.&amp;nbsp;Built by &lt;a href="https://www.meticulous.ai?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q1&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;ex-Palantir engineers&lt;/a&gt;, Meticulous autonomously creates a continuously evolving suite of E2E UI tests that delivers &lt;a href="https://www.meticulous.ai?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q1&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;near-exhaustive coverage&lt;/a&gt; with &lt;em&gt;zero developer effort&lt;/em&gt; - impossible to deliver by any other means.&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;&lt;strong&gt;No maintenance (seriously)&lt;/strong&gt;&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;🤨&lt;/strong&gt; Curious? &lt;a href="https://www.meticulous.ai?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q1&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Book in a time to learn more&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;&lt;a href="https://docs.swmansion.com/pulsar/" 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%2Ft7aadbweme2wmhfmvczn.jpg" alt="Pulsar - Haptic Feedback Library" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://docs.swmansion.com/pulsar/" rel="noopener noreferrer"&gt;Pulsar - Haptic Feedback Library&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Meet Pulsar, a new library from Software Mansion that makes implementing haptic feedback much easier. Comes with SDKs for React Native, native iOS, and Android. See also the &lt;a href="https://www.youtube.com/watch?v=RAunnxSlvhM" rel="noopener noreferrer"&gt;intro video&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;150+ patterns to browse, filter, preview, and ship&lt;/li&gt;
&lt;li&gt;Live Preview Playground app for testing on a physical device&lt;/li&gt;
&lt;li&gt;Multiplatform SDKs&lt;/li&gt;
&lt;li&gt;Audio preview for testing in a simulator&lt;/li&gt;
&lt;li&gt;Pulsar Studio – coming later – will allow the design of custom haptic sequences&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://sentry.io/cookbook/debug-undefined-react-native/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=mobile-fy27q1-cookbook&amp;amp;utm_content=newsletter-rn-link-rn-logs-trysentry" rel="noopener noreferrer"&gt;Sentry - A tutorial to debugging undefined properties in React Native by correlating frontend and backend logs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/swc-project/swc/pull/11702" rel="noopener noreferrer"&gt;SWC PR - Complete Hermes Flow stripping parity&lt;/a&gt; - Currently, Babel is needed to strip non-TS code in React Native. The newly released &lt;a href="https://swc.rs/docs/usage/flow" rel="noopener noreferrer"&gt;Flow support in SWC&lt;/a&gt; could help you adopt an alternative toolchain, leading to build time improvements or faster unit tests.&lt;/li&gt;
&lt;li&gt;💬 &lt;a href="https://github.com/react-native-community/discussions-and-proposals/issues/993" rel="noopener noreferrer"&gt;React Native Proposal - Allow opting in to specific feature flags via public APIs&lt;/a&gt; - Community proposal to expose experimental feature flags for testing before broad rollout.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/how-to-keep-your-ota-updates-lean-and-fast" rel="noopener noreferrer"&gt;How to keep your OTA updates lean and fast&lt;/a&gt; - Why smaller updates matter, how to ship them effectively, and how to monitor your usage.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://reactnativecrossroads.com/posts/react-native-085-changelog-dive/" rel="noopener noreferrer"&gt;React Native 0.85 changelog dive&lt;/a&gt; - Analysis of 0.85's Shadow Tree commit branching, Animation Backend changes, and breaking changes for library authors.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://reactnativecrossroads.com/posts/uniwind-pro-1-release/" rel="noopener noreferrer"&gt;Zero re-renders on theme change: Introducing Uniwind Pro&lt;/a&gt; - A look into first stable release, the C++ Shadow Tree Engine, className Animations with Reanimated, Animated Theme Transitions, pricing, and more.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://themythicalengineer.com/the-complete-guide-to-react-native-build-optimization.html" rel="noopener noreferrer"&gt;The Complete Guide to React Native Build Optimization&lt;/a&gt; - How to improve build times with Gradle/Metro parallelization and C++ compiler caching.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/facebook/react-native/releases/tag/v0.85.1" rel="noopener noreferrer"&gt;RN 0.85.1 - Animation backend as experimental&lt;/a&gt; - Enables the new Shared Animation Backend in the &lt;a href="https://reactnative.dev/docs/releases/release-levels" rel="noopener noreferrer"&gt;experimental Release Level&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/margelo/react-native-nitro-fetch/releases/tag/v1.0.0" rel="noopener noreferrer"&gt;Nitro Fetch 1.0 - Fast networking library, drop-in replacement for fetch&lt;/a&gt; - This Margelo library supports HTTP/3, Prefetching, Steaming, FormData, WebSockets, worklets, and more. Demo on 🐦 &lt;a href="https://x.com/margelo_com/status/2043674988062859608" rel="noopener noreferrer"&gt;X&lt;/a&gt; shows the impressive performance impact on the Bluesky app.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://www.callstack.com/blog/agent-react-devtools-give-ai-agents-access-to-react-internals" rel="noopener noreferrer"&gt;Agent React DevTools - Give AI Agents Access to React Internals&lt;/a&gt; - New CLI from Callstack that exposes React component tree and profiling data to AI agents, enabling deeper debugging beyond UI trees.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/JubaKitiashvili/expo-pretext" rel="noopener noreferrer"&gt;Expo Pretext - Text layout primitive React Native&lt;/a&gt; - Add Pretext support to React Native, unlocking new layouts currently difficult to achieve with CSS or Skia.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/gideon-del/react-native-nitro-vector" rel="noopener noreferrer"&gt;Nitro Vector - C++ vector path engine powered by Nitro Modules&lt;/a&gt; - 104x faster bezier math, boolean ops, path analysis, and SVG parsing — all in C++ off the JS thread.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/steve228uk/metro-mcp" rel="noopener noreferrer"&gt;Metro MCP - MCP server for React Native debugging &amp;amp; automation&lt;/a&gt; - Plugin-based MCP server connecting to Metro via CDP — exposes console logs, network, Redux, components, test recording, and more. Works alongside Chrome DevTools.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/nandorojo/galeria/releases/tag/v3.0.0" rel="noopener noreferrer"&gt;Galeria 3.0 - New Architecture only, iOS 16+&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.62.0" rel="noopener noreferrer"&gt;CRNL 0.62 - RN 0.85, Expo SDK 55 support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/facebook/metro/releases/tag/v0.84.3" rel="noopener noreferrer"&gt;Metro 0.84.3 - TLS support, Fast Refresh heartbeat, optimized cache&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/react-native-harness/releases/tag/v1.1.0" rel="noopener noreferrer"&gt;Harness 1.1 - CI improvements, unified GitHub Action, plugin system&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/rozenite/releases/tag/v1.7.0" rel="noopener noreferrer"&gt;Rozenite 1.7 - Metro-backed agent workflow, SQLite plugin, Webpack web support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/AppAndFlow/react-native-ease/releases/tag/v0.7.0" rel="noopener noreferrer"&gt;React Native Ease 0.7 - Animated borderColor, shadow properties&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/voltra/releases/tag/v1.4.0" rel="noopener noreferrer"&gt;Voltra 1.4 - Android theme-aware widget colors, Android ongoing (persistent) notifications&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=J8hmOaA5uzc" rel="noopener noreferrer"&gt;Beto - 5 React Native Styles Your AI Is Getting Wrong&lt;/a&gt; - Linear Gradient (experimental), filter, boxShadow, gap, mixBlendMode, are available in RN, no need for external libraries.&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=99ESJ-_CeWg" rel="noopener noreferrer"&gt;Callstack - AI-Assisted Migrations to React Native: From Months to Days&lt;/a&gt; - Reducing migration using AI in real React Native workflows. Practical strategies for modernizing existing apps without starting from scratch.&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://infinite.red/react-native-radio/rnr-359-the-ai-apocalypse-the-past-present-and-future-of-software" rel="noopener noreferrer"&gt;RNR 359 - The AI Apocalypse? The past, present, and future of software&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.github.com/gh-stack/" rel="noopener noreferrer"&gt;GitHub Stacked PRs in private preview&lt;/a&gt; - A much-anticipated feature lets you break large changes into small, focused PRs that build on each other.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.inngest.com/blog/hanging-promises-for-control-flow" rel="noopener noreferrer"&gt;You can't cancel a JavaScript promise (except sometimes you can)&lt;/a&gt; - Using never-resolving promises to interrupt async functions.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://encore.dev/blog/rust-runtime" rel="noopener noreferrer"&gt;What We Learned Building a Rust Runtime for TypeScript&lt;/a&gt; - How Encore built a Rust runtime embedded in Node.js via napi-rs, moving infrastructure concerns (HTTP, DB, pub/sub) out of the JS event loop. Benchmarks show 9x Express throughput with 80% less latency.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://developer.chrome.com/blog/chrome-148-beta" rel="noopener noreferrer"&gt;Chrome 148 Beta - Name-only container queries in CSS, Prompt API, Web Serial API on Android, and more&lt;/a&gt; - Notably includes an origin trial for the &lt;a href="https://github.com/WICG/html-in-canvas" rel="noopener noreferrer"&gt;HTML-in-Canvas&lt;/a&gt; API that led to many impressive demos.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/yuku-toolchain/yuku" rel="noopener noreferrer"&gt;Yuku - High-performance JS/TS toolchain in Zig&lt;/a&gt; - Already full spec compliance, competitive with Oxc on raw parsing speed.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://webpack.js.org/blog/2026-04-08-webpack-5-106/" rel="noopener noreferrer"&gt;Webpack 5.106 - Plugin validation hooks, CSS runtime injection, smarter tree shaking, experimental Oxc parser&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://bun.com/blog/bun-v1.3.12" rel="noopener noreferrer"&gt;Bun 1.3.12 - WebView headless browser, Markdown in terminal, in-process Cron scheduler&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/JamieMason/syncpack/releases/tag/14.0.0" rel="noopener noreferrer"&gt;Syncpack 14.0 - CLI for managing npm dependency versions, rewritten in Rust&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://aejkatappaja.github.io/phantom-ui/" rel="noopener noreferrer"&gt;Phantom UI - Structure-aware skeleton loader for every framework, based on Web Component&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/ThisWeekInReact/status/2042171782195536326" 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%2Fdxv0yq3hdtcjf0vbt913.jpg" alt="alt" width="800" height="866"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/mrousavy/status/2044072110209819032" 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%2Fi0820zyctymng7dzhryc.jpg" alt="alt" width="800" height="606"&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 #276: Boneyard, Ink, MUI, React Router, Next.js | RN 0.85, ViewTransition, Skia, Windows | JSIR, Security, esbuild, Ky, Intl</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Fri, 10 Apr 2026 12:21:07 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-276-boneyard-ink-mui-react-router-nextjs-rn-085-viewtransition-skia-4inb</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-276-boneyard-ink-mui-react-router-nextjs-rn-085-viewtransition-skia-4inb</guid>
      <description>&lt;p&gt;Hi there, &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 brings a collection of smaller, yet still noteworthy, React releases and articles.&lt;/p&gt;

&lt;p&gt;On the React Native side, v0.85 just dropped with a new Shared Animation backend. Speaking of animations, we have a little sneak peek of exciting things coming, such as &lt;code&gt;&amp;lt;ViewTransition&amp;gt;&lt;/code&gt; and Skia Graphite.&lt;/p&gt;

&lt;p&gt;With the recent surge in npm supply chain attacks, it’s worth reviewing the &lt;a href="https://github.com/lirantal/npm-security-best-practices" rel="noopener noreferrer"&gt;npm Security Best Practices&lt;/a&gt; guide to secure your setup.&lt;/p&gt;

&lt;p&gt;Let's dive in!&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="800" 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=26q1&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%2Fcjdvmtgrmkc7ktvbp18m.jpg" alt="Still writing tests manually?" width="800" height="419"&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=26q1&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Still writing tests manually?&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Notion, Dropbox and LaunchDarkly&amp;nbsp;have found a new testing paradigm - and they can't imagine working without it.&amp;nbsp;Built by &lt;a href="https://www.meticulous.ai?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q1&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;ex-Palantir engineers&lt;/a&gt;, Meticulous autonomously creates a continuously evolving suite of E2E UI tests that delivers &lt;a href="https://www.meticulous.ai?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q1&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;near-exhaustive coverage&lt;/a&gt; with &lt;em&gt;zero developer effort&lt;/em&gt; - impossible to deliver by any other means.&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;&lt;strong&gt;No maintenance (seriously)&lt;/strong&gt;&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;🤨&lt;/strong&gt; Curious? &lt;a href="https://www.meticulous.ai?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=26q1&amp;amp;utm_content=1st" rel="noopener noreferrer"&gt;Book in a time to learn more&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;&lt;a href="https://boneyard.vercel.app/" 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%2F20mhwpgi2d3zjpe0kcul.jpg" alt="Boneyard - Auto-generated skeleton screens" width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://boneyard.vercel.app/" rel="noopener noreferrer"&gt;Boneyard - Auto-generated skeleton screens&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of manually creating skeleton screens for loading states, this innovative library snapshots your real UI at various breakpoints and captures skeleton "bones" - positioned, sized rectangles that mirror the layout exactly. It supports React, React Native, and other frameworks.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://cwb.sh/platano?r=seb" rel="noopener noreferrer"&gt;Platano - Ship a revenue-ready AI image app this weekend. You know React? That's all you need to launch on the App Store.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🗓 &lt;a href="https://reactsummit.com/?utm_source=thisweekinreact" rel="noopener noreferrer"&gt;React Summit&lt;/a&gt; - 🇳🇱 Amsterdam - 12 &amp;amp; 16 Jun. Catch the latest in React with inspiring talks, networking, and Amsterdam adventures. Save on tickets with promo code TWIR (-10%) !&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://aurorascharff.no/posts/the-precompute-pattern-encoding-dynamic-data-into-urls-in-nextjs/" rel="noopener noreferrer"&gt;The Precompute Pattern: Encoding Dynamic Data into URLs in Next.js&lt;/a&gt; - An advanced technique to maximize the ability for Next.js to pre-render pages. It works particularly well for low cardinality variants such as feature flags and auth status.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://developer.mozilla.org/en-US/blog/mdn-front-end-deep-dive/" rel="noopener noreferrer"&gt;Under the hood of MDN's new frontend&lt;/a&gt; - MDN launched a new frontend, replacing their old and difficult-to-maintain React CRA app for a new stack. They implemented their own Server Components system on top of Lit and Custom Elements, using Declarative Shadow DOM as a progressive enhancement.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://blog.railway.com/p/moving-railways-frontend-off-nextjs" rel="noopener noreferrer"&gt;Moving Railway's Frontend Off Next.js&lt;/a&gt; - Feedback on migrating a Page Router app with 200+ routes to TanStack Start in 2 PRs with zero downtime. Their app now builds faster, has a more explicit model, and layout composition is easier.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://neciudan.dev/you-really-really-dont-need-an-effect" rel="noopener noreferrer"&gt;You really, really, really don't need an effect! I swear!&lt;/a&gt; - And even when you need one (data fetching), someone already wrote that effect better than you will (React Query).&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tigerabrodi.blog/how-to-implement-spring-physics-buttons-with-framer-motion" rel="noopener noreferrer"&gt;How to implement spring physics buttons with Framer Motion&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://certificates.dev/react?friend=TWIR&amp;amp;utm_source=twir&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=partner" rel="noopener noreferrer"&gt;Certificates.dev - Go beyond tutorials. Get certified with real-world React coding exams prepped by Aurora Scharff. Trusted by 680 companies&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/vadimdemedes/ink/releases/tag/v7.0.0" rel="noopener noreferrer"&gt;Ink 7.0 - React renderer for CLIs&lt;/a&gt; - Unsurprisingly, this package has become quite popular with the rise of AI and terminal apps. This major version upgrades to Node 22, React 19.2, and adds many new hooks, features, and props.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://comark.dev/" rel="noopener noreferrer"&gt;Comark - Fast, streaming-ready Markdown parser with support for React and more&lt;/a&gt; - An interesting alternative to Streamdown or MDX, coming from the Nuxt team.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://docusaurus.io/blog/releases/3.10" rel="noopener noreferrer"&gt;Docusaurus 3.10 - Security, Docusaurus Faster stable, VCS API, Strict MDX, Site Storage stable&lt;/a&gt; - A milestone release to prepare for Docusaurus v4.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://shaders.com/" rel="noopener noreferrer"&gt;Shaders beta - The component library for creative WebGPU effects in the browser&lt;/a&gt; - A nice solution for modern creative web dev, coming with first-class React components. Commercial usage of React components is free, although there’s a paid offering.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/react-hook-form/react-hook-form/releases/tag/v7.72.0" rel="noopener noreferrer"&gt;React Hook Form 7.72 - Built-in form-level validation&lt;/a&gt; - Useful feature for cross-field validation.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/edmundhung/conform/releases/tag/v1.18.0" rel="noopener noreferrer"&gt;Conform 1.18 - Progressively enhance HTML forms with React&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7140" rel="noopener noreferrer"&gt;React Router 7.14 - Support for Vite 8, unstable RSC Framework Mode improvements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://ui.shadcn.com/docs/changelog/2026-04-shadcn-apply" rel="noopener noreferrer"&gt;shadcn CLI 4.2 - New &lt;code&gt;shadcn apply&lt;/code&gt; command to switch presets easily&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/mui/material-ui/releases/tag/v9.0.0" rel="noopener noreferrer"&gt;Material UI 9.0 - Accessibility improvements, sx prop performance, and cleanup of deprecated APIs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://mantine.dev/changelog/9-0-0/" rel="noopener noreferrer"&gt;Mantine 9.0 - New components: Scheduling, FloatingWindow, OverflowList, Marquee, and more&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/amannn/next-intl/releases/tag/v4.9.0" rel="noopener noreferrer"&gt;Next-Intl 4.9 - Support &lt;code&gt;&amp;lt;Link transitionTypes&amp;gt;&lt;/code&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=NBjycPpPHQQ" rel="noopener noreferrer"&gt;Web Dev Simplified - You Need To Start Using This Underrated React Hook - &lt;code&gt;useSyncExternalStore&lt;/code&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/playlist?list=PL53Z0yyYnpWhsizNWtlnyM7XWFUSw437J" rel="noopener noreferrer"&gt;React Paris 2026 - YouTube Playlist&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=ThisWeekInReact8Apr26" 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%2Fgt0zmf79i3ekjwvg3hmm.jpg" alt="No breakpoints, no console.log — just AI &amp;amp; time travel" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://wallabyjs.com/?referrer=ThisWeekInReact8Apr26" rel="noopener noreferrer"&gt;No breakpoints, no console.log — just AI &amp;amp; time travel&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;15x faster TypeScript and JavaScript debugging than with breakpoints and &lt;code&gt;console.log&lt;/code&gt;, while upgrading your AI agent into an expert debugger with real-time context.&lt;/p&gt;

&lt;p&gt;Wallaby.js runs your tests as you type, feeding your AI assistant live runtime values, code coverage, error details, and execution paths — all right next to your code. With &lt;a href="https://wallabyjs.com/blog/wallaby-v3.html?referrer=ThisWeekInReact8Apr26" rel="noopener noreferrer"&gt;Wallaby v3’s new engine&lt;/a&gt; 🚀, tests start instantly with cached results, prioritize active files, and stream updates in real time.&lt;/p&gt;

&lt;p&gt;Built for testing, Wallaby includes a &lt;strong&gt;Time Travel Debugger&lt;/strong&gt;, the ability to run only opened files, full-context AI integration, smart test runs, and more.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://wallabyjs.com/?referrer=ThisWeekInReact8Apr26" rel="noopener noreferrer"&gt;➡️ Learn More&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/04/07/react-native-0.85" 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%2Fdzetnmlk0m1jkm2l2nnj.jpg" alt="React Native 0.85" width="800" height="467"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;React Native 0.85 notably ships with a new Shared Animation Backend built in collaboration with Software Mansion, alongside a few other improvements and breaking changes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Shared Animation Backend&lt;/strong&gt;: This new internal engine will soon be enabled in React Native 0.85.1 and power both Animated and Reanimated. It enables performance benefits for Reanimated, and the core Animated API will finally animate layout props through the native driver!&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DevTools Improvements&lt;/strong&gt;: Multiple simultaneous CDP connections allow you to debug with DevTools, VS Code, and AI agents simultaneously without sessions dropping.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Metro TLS Support&lt;/strong&gt;: HTTPS and WSS during development for testing secure APIs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Breaking Changes&lt;/strong&gt;: Jest preset moved to &lt;code&gt;@react-native/jest-preset&lt;/code&gt;, dropped EOL Node versions, and removed &lt;code&gt;StyleSheet.absoluteFillObject&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-apr8" rel="noopener noreferrer"&gt;Product for Engineers - What we wish we knew about building AI agents&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/facebook/react/pull/35764" rel="noopener noreferrer"&gt;React PR - ViewTransition support for React Native Fabric&lt;/a&gt; - Behind a flag, not ready for prime time, but this is one of many PRs showing that &lt;code&gt;&amp;lt;ViewTransition&amp;gt;&lt;/code&gt; for React Native is being actively worked on!&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/Shopify/react-native-skia/pull/3813" rel="noopener noreferrer"&gt;React Native Skia - First Graphite pre-release&lt;/a&gt;- Google's next-gen Skia renderer (Vulkan/Metal/Dawn) comes to RN Skia, now available in the &lt;code&gt;@next&lt;/code&gt; distribution channel.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/expo-brownfield-how-to-add-expo-to-your-existing-native-app-without-a-rewrite" rel="noopener noreferrer"&gt;Expo brownfield: How to add Expo to your existing native app without a rewrite&lt;/a&gt; - SDK 55 introduced a new “isolated” approach to integrate Expo in an existing native app. The Expo app is built ahead of time and distributed as a native binary artifact&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://heartit.tech/react-native-jsi-deep-dive-part-1-the-runtime-you-never-see/" rel="noopener noreferrer"&gt;React Native JSI Deep Dive Series&lt;/a&gt; - Comprehensive 12-part series covering JSI internals, from C++ architecture to TurboModule integration.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.callstack.com/blog/how-we-optimized-agent-device-for-mobile-app-automation" rel="noopener noreferrer"&gt;How We Optimized Agent Device for Mobile App Automation&lt;/a&gt; - Deep dive on reducing LLM token usage by 50% for AI-driven mobile testing through accessibility snapshots and smarter context management.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://devblogs.microsoft.com/react-native/%F0%9F%9A%80react-native-windows-v0-82-is-here/" rel="noopener noreferrer"&gt;RN Windows 0.82 - Fabric-only, XAML UI Hosting&lt;/a&gt; - Community modules can now embed native XAML controls directly in Fabric. New accessibility override API gives third-party modules fine-grained control over screen reader behavior.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstack/react-native-builder-bob/releases/tag/create-react-native-library%400.60.0" rel="noopener noreferrer"&gt;Create React Native Library 0.60 - Experimental C++ TurboModule, Vite web support for examples&lt;/a&gt; - New templates can now scaffold experimental C++ TurboModules for native development. You can now test both native and web support without custom configuration.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://maestro.dev/blog/maestro-cli-2-4-0" rel="noopener noreferrer"&gt;Maestro CLI 2.4 - iOS 26 support, new &lt;code&gt;list-device&lt;/code&gt; commands for easier device selection&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://sheet.lodev09.com/blog/release-3-10" rel="noopener noreferrer"&gt;True Sheet 3.10 - iOS 26 scroll edge effects, grabber accessibility&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://nitroplayer.riteshshukla.in/" rel="noopener noreferrer"&gt;Nitro Player 1.0 - Audio player with playlist management, playback controls, and support for Android Auto and CarPlay&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/Shopify/react-native-skia/releases/tag/v2.6.0" rel="noopener noreferrer"&gt;Skia 2.6 - New immutable Path API&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v2.31.0" rel="noopener noreferrer"&gt;Gesture Handler 2.31 - Various bug fixes, fix unresponsive handlers&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://discourse.llvm.org/t/rfc-jsir-a-high-level-ir-for-javascript/90456" rel="noopener noreferrer"&gt;JSIR - A High-Level IR for JavaScript (RFC)&lt;/a&gt; - Google's new JavaScript IR (Intermediate Representation) proposal for static analysis. Already used internally for code analysis and deobfuscation, notably decompiling Hermes bytecode.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://socket.dev/blog/hidden-blast-radius-of-the-axios-compromise" rel="noopener noreferrer"&gt;The Hidden Blast Radius of the Axios Compromise&lt;/a&gt; - Last week, the popular &lt;code&gt;axios&lt;/code&gt; library got compromised through a &lt;a href="https://socket.dev/blog/axios-maintainer-confirms-social-engineering-behind-npm-compromise" rel="noopener noreferrer"&gt;sophisticated social engineering attack&lt;/a&gt;. Even if your app doesn’t depend on the library, you may still be affected through transitive dependencies or using &lt;code&gt;npx&lt;/code&gt; in critical CI workflows.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://frontendmasters.com/blog/what-to-know-in-javascript-2026-edition/" rel="noopener noreferrer"&gt;What To Know in JavaScript (2026 Edition)&lt;/a&gt; - Comprehensive roundup covering ES2025/2026 features, framework updates, runtime landscape, and build tools.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://polypane.app/blog/the-intl-api-the-best-browser-api-youre-not-using/" rel="noopener noreferrer"&gt;The Intl API: The best browser API you're not using&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://www.bram.us/2026/04/02/view-transitions-toolkit/" rel="noopener noreferrer"&gt;View Transitions Toolkit - Utility functions for View Transitions&lt;/a&gt; - Filling in gaps for advanced View Transitions patterns. Feature detection, animation optimization, playback control, and automatic navigation types.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://eslint.org/blog/2026/04/eslint-v10.2.0-released/" rel="noopener noreferrer"&gt;ESLint 10.2 - Language-aware rules, Temporal support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/evanw/esbuild/releases/tag/v0.28.0" rel="noopener noreferrer"&gt;esbuild 0.28 - Import Text proposal, integrity checks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/sindresorhus/ky/releases/tag/v2.0.0" rel="noopener noreferrer"&gt;Ky 2.0 - JavaScript HTTP client based on the Fetch 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/DavidKPiano/status/2041818750337348040" 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%2Fnh1bphr8o1z0clr5ap7i.jpg" alt="alt" width="800" height="224"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/sebastienlorber/status/2041927591288852595" 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%2F87816o9ec8qfkxp4y1x4.jpg" alt="alt" width="800" height="897"&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>
