<?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.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 #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;. &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;. &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;. &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. &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 have found a new testing paradigm - and they can't imagine working without it. 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. &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 have found a new testing paradigm - and they can't imagine working without it. 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. &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 have found a new testing paradigm - and they can't imagine working without it. 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. &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;🛠️  &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; - 🇫🇷 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 have found a new testing paradigm - and they can't imagine working without it. 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. &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 have found a new testing paradigm - and they can't imagine working without it. 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. &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>
    <item>
      <title>This Week In React #275 : ⚛️ Next.js, TanStack RSC, React Compiler | 📱 ExecuTorch, Unistyles| 🔀 Pretext, Axios, Node</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Fri, 03 Apr 2026 12:51:32 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-275-nextjs-tanstack-rsc-react-compiler-executorch-unistyles-12ni</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-275-nextjs-tanstack-rsc-react-compiler-executorch-unistyles-12ni</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 news about popular React meta-frameworks. Next.js Adapters API should help host it anywhere without compromise. TanStack Start unveils a preview of its React Server Components. The React Compiler port to Rust is being actively worked on.&lt;/p&gt;

&lt;p&gt;No major announcement in the React Native world, but still many interesting releases. React Native v0.85 should be released next week.&lt;/p&gt;

&lt;p&gt;Axios has been compromised in a major supply chain attack. Stay safe and make sure to adopt security best practices!&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=11march&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="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=11march&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 have found a new testing paradigm - and they can't imagine working without it. Built by &lt;a href="https://www.meticulous.ai?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=11march&amp;amp;utm_content=2nd" 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=11march&amp;amp;utm_content=2nd" 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. &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=11march&amp;amp;utm_content=2nd" 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://nextjs.org/blog/nextjs-across-platforms" 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%2Ftbxgz9pzq9fpx4ee4u6m.jpg" alt="Next.js Across Platforms: Adapters, OpenNext, and Our Commitments" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://nextjs.org/blog/nextjs-across-platforms" rel="noopener noreferrer"&gt;Next.js Across Platforms: Adapters, OpenNext, and Our Commitments&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Next.js 16.2 now ships with a stable, typed, versioned Adapter API. It was built in collaboration with many partners: OpenNext, Netlify, Cloudflare, AWS Amplify, and Google Cloud. This helps ensure Next.js works well on every platform across all its features. There’s now a public test suite to verify your adapter, and Vercel also relies on it.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://nextjs.org/ecosystem-working-group" rel="noopener noreferrer"&gt;Next.js Ecosystem Working Group&lt;/a&gt; explains Vercel’s commitment. Partners will not participate in Next.js design decisions and roadmap, but can still impact it through feedback. They will be kept in the loop early, have time to adapt, and get direct support to fix adapter breakage.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://youtu.be/8XGcc-FRPuo?si=VnH91DpiPI35PFB4&amp;amp;t=1167" 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%2F557m9ffnarp63vz5ovss.jpg" alt="TanStart Start RSC preview" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🎥 &lt;strong&gt;&lt;a href="https://youtu.be/8XGcc-FRPuo?si=VnH91DpiPI35PFB4&amp;amp;t=1167" rel="noopener noreferrer"&gt;TanStart Start RSC preview&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Tanner Linsley gave a talk at React Paris last week. The 2nd part unveils for the first time what React Server Components will look like in TanStack Start, to be released very soon.&lt;/p&gt;

&lt;p&gt;My highlights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Primitives&lt;/strong&gt;: You have full flexibility to decide how to compose these RSC APIs, and can adopt them incrementally. RSC flight payloads are just streams of text; you can sync/cache/persist/manipulate these on your own terms.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Composite Components&lt;/strong&gt;: 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. I assume it should be possible to co-locate client/server components in the same file.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No Server Actions&lt;/strong&gt;: A design decision for security reasons, but you can use server functions with validation.&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 it seems more in sync with the philosophy that initially attracted me to React: you make your own decisions, even though sometimes more flexibility means more glue code and ways to shoot yourself in the foot. In any case, I agree with Tanner: we deserve another React meta-framework—one that’s less opinionated and innovates in a different direction.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://crowdin.info/AII2d2o" rel="noopener noreferrer"&gt;Lingui - Lightweight, developer-first i18n tooling for modern product teams&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/facebook/react/pull/36173" rel="noopener noreferrer"&gt;React Compiler PR - WIP port of React Compiler to Rust&lt;/a&gt; - As previously announced, the React Compiler is being ported to Rust through AI. The algorithm is the same, based on a Rust-based Babel AST, already passing 100% of the Babel integration fixture tests. The goal is to integrate nicely with Babel, SWC, and OXC.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/facebook/react/pull/35816" rel="noopener noreferrer"&gt;React PR - Enable Trusted Types integration&lt;/a&gt; - The browser Trusted Types API is now Baseline Newly Available, and React now integrates with it to prevent XSS and force you to sanitize unsafe inputs. For example, with &lt;code&gt;dangerouslySetInnerHTML={{__html: policy.createHTML(text)}}&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/vercel/next.js/pull/92012" rel="noopener noreferrer"&gt;Next.js PR - &lt;code&gt;experimental.useOffline with retries + hook to show offline indicator&lt;/code&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://github.com/TanStack/query/pull/10359" rel="noopener noreferrer"&gt;TanStack Query ESLint PR - Add &lt;code&gt;prefer-query-options&lt;/code&gt; rule&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🗓️ &lt;a href="https://www.dotjs.io/?utm_source=twir&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=EB" rel="noopener noreferrer"&gt;dotJS 2026&lt;/a&gt; -  🇫🇷 Paris - 18 September - Early bird tickets are available until April 14th 6 PM CET, save 100€ on the next price. dotJS comes with dotAI on September 17, book now your early bird ticket for each conference, or a combo to attend both.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tanstack.com/blog/tanstack-router-signal-graph" rel="noopener noreferrer"&gt;TanStack Router's New Reactive Core: A Signal Graph&lt;/a&gt; - They refactored the router state store, splitting it into many small stores using signals, leading to more efficient fine-grained subscriptions. The original &lt;code&gt;router.state&lt;/code&gt; is still a public API, but now derived from the smaller store.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tigerabrodi.blog/when-do-you-really-need-starttransition" rel="noopener noreferrer"&gt;When Do You Really Need startTransition?&lt;/a&gt; - When an update triggers expensive rendering.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://julesblom.com/writing/colocated-svg-defs" rel="noopener noreferrer"&gt;Hoistable SVG Defs in React&lt;/a&gt; - How to colocate SVG &lt;code&gt;&amp;lt;defs&amp;gt;&lt;/code&gt; with components instead of centralizing them.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://handlewithcare.dev/blog/making_react_prosemirror_really_really_fast/" rel="noopener noreferrer"&gt;Making React ProseMirror really, really fast&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://neciudan.dev/lets-build-dynamic-shimmer-skeletons" rel="noopener noreferrer"&gt;Build your own shimmer skeleton that never goes out of sync&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://inside-react.vercel.app/blog/how-does-react-fiber-render-your-ui" rel="noopener noreferrer"&gt;How Does React Fiber Render Your UI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-apr1" rel="noopener noreferrer"&gt;Product for Engineers - WTF does a product manager do? (and why engineers should care)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://laravel.com/blog/inertia-v3-whats-changed-since-the-first-beta" rel="noopener noreferrer"&gt;Inertia 3.0 - Build React/modern SPAs with server-based routers&lt;/a&gt; - This solution to integrate React and other frontend frameworks with traditional backends (optimized for Laravel) now comes with a Vite 8 plugin, SSR in dev, optimistic updates, and more.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://tanstack.com/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes" rel="noopener noreferrer"&gt;TanStack DB 0.6 - Persistence, Offline Support, and Hierarchical Data&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://astro.build/blog/astro-610/" rel="noopener noreferrer"&gt;Astro 6.1 - Improved image optimization, markdown config, expose i18n fallback routes&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&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%2Fvar1q37a7q0ocey8vbjz.jpg" alt="Atomic CRM: The Open-Source CRM Toolkit for Developers" width="800" height="395"&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-Native
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/software-mansion/react-native-executorch/releases/tag/v0.8.0" 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%2F4w1v7s9nmlmxmx7yedt5.jpg" alt="RN ExecuTorch 0.8" width="800" height="648"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/software-mansion/react-native-executorch/releases/tag/v0.8.0" rel="noopener noreferrer"&gt;RN ExecuTorch 0.8&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Software Mansion just dropped the biggest release to date for React Native ExecuTorch. Version 0.8 expands the library's capabilities far beyond its initial scope, introducing official support for bare React Native applications (no longer strictly tied to Expo) and deep integration with Vision Camera.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key callouts:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Vision Camera Integration:&lt;/strong&gt; You can now seamlessly run ExecuTorch models directly on camera frames in real-time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;New Computer Vision Models:&lt;/strong&gt; The release introduces powerful new CV hooks, such as &lt;code&gt;useInstanceSegmentation&lt;/code&gt; and &lt;code&gt;useSemanticSegmentation&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bare RN Support:&lt;/strong&gt; You can now use ExecuTorch in bare React Native apps by utilizing the bare React Native resource fetcher instead of the Expo one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Expanded NLP:&lt;/strong&gt; Continues to grow its Natural Language Processing suite with implementations for Speech-to-Text, Text-to-Speech, Text Embeddings, and more.&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://frontendmasters.com/courses/react-performance-v2/?utm_source=reactweekly&amp;amp;utm_medium=email&amp;amp;utm_campaign=reactperf" rel="noopener noreferrer"&gt;Make React apps fast where it actually matters. Learn how to diagnose real bottlenecks and fix slow, janky React apps using modern React 19 patterns.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;👀 &lt;a href="https://vue.lynxjs.org/" rel="noopener noreferrer"&gt;Lynx Vue&lt;/a&gt; - Vue + Lynx = Vue Native? An AI-powered attempt to bridge native development with a popular framework.&lt;/li&gt;
&lt;li&gt;🗓️ &lt;a href="https://appjs.co/?utm_source=thisweekinreact" rel="noopener noreferrer"&gt;App.js Conf&lt;/a&gt; - 🇵🇱 Kraków - 27-29 May - Join Charlie Cheever, William Candillon, Jay Meistrich, Perttu Lähteenlahti, and more! Prices increase in May—secure your seat now. Get a 15% discount with code "TWIR".&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/how-fig-keeps-millions-eating-safely-with-a-five-engineer-team-and-expo" rel="noopener noreferrer"&gt;Fig case study&lt;/a&gt; - How five engineers can scale to millions of users with Expo to provide crucial info about dietary needs.
📦 &lt;a href="https://github.com/RamboWasReal/react-native-preflight" rel="noopener noreferrer"&gt;Preflight - Simplify Maestro E2E testing for React Native&lt;/a&gt; - deep link to any screen, inject state, compare visual regressions with reports, router agnostic.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/AlirezaHadjar/react-native-fast-confetti/releases/tag/v2.0.0-beta.2" rel="noopener noreferrer"&gt;Fast Confetti 2.0&lt;/a&gt; - Rewritten composition API and physics engine, more customization and natural feeling animations.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://www.reactnative.run/" rel="noopener noreferrer"&gt;ReactNative.run&lt;/a&gt; - Run React Native in a browser, Metro bundler mapped to the web. Similar concept to Expo Snack.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/agent-device/releases/tag/v0.11.0%20" rel="noopener noreferrer"&gt;Agent Device 0.11&lt;/a&gt; - iOS Simulator no longer takes focus from the current window + lots of fixes and small features&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://www.callstack.com/blog/brownie-a-type-safe-shared-state-workflow-for-brownfield-react-native" rel="noopener noreferrer"&gt;Brownie 3.5 - Shared-State Workflow for Brownfield now with Android support.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/Guccio163/react-native-reshuffled" rel="noopener noreferrer"&gt;Reshuffled 0.2 - Nitro-powered grid layout - onDragEnd worklet callbacks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/infinitered/reactotron/releases/tag/reactotron-app%403.9.0" rel="noopener noreferrer"&gt;Reactotron 3.9 - MCP server integration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/pawicao/react-native-header-motion/releases/tag/v1.0.0" rel="noopener noreferrer"&gt;React Native Header Motion 1.0 - New context-first header API, explicit navigation bridging, better performance&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/jpudysz/react-native-unistyles/releases/tag/v3.2.0" rel="noopener noreferrer"&gt;Unistyles 3.2 - Add support for dropShadow, Suspense trees, RTL ShadowTree updates on Android&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/MeliValesca/react-native-morph-card" rel="noopener noreferrer"&gt;Morph Card - Native card-to-modal morph transition&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🤖 &lt;a href="https://github.com/software-mansion-labs/skills/tree/main/skills/react-native-best-practices" rel="noopener noreferrer"&gt;Software Mansion skills&lt;/a&gt; - Best practices, AI skills for animations, gestures, SVG, and libraries maintained by SWM.&lt;/li&gt;
&lt;li&gt;🤖 &lt;a href="https://github.com/react-navigation/skills" rel="noopener noreferrer"&gt;React Navigation AI skills&lt;/a&gt; - Official guidelines that help with migration to newer versions and static config.&lt;/li&gt;
&lt;li&gt;🤖 &lt;a href="https://www.callstack.com/blog/announcing-codex-plugins-for-react-native-development" rel="noopener noreferrer"&gt;Codex plugins for React Native development&lt;/a&gt; - Build and test RN apps in Codex.&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=t3rTRMDoev8" rel="noopener noreferrer"&gt;William Candillon - React Native WebGPU in 100 seconds&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=EWZZ-qekCW0" rel="noopener noreferrer"&gt;Beto - react-i18next in React Native &amp;amp; Expo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://infinite.red/react-native-radio/rnr-358-react-native-for-meta-quest-part-2-developer-friendly" rel="noopener noreferrer"&gt;React Native Radio 358 - React Native for Meta Quest Part 2: Developer Friendly&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




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

&lt;ul&gt;
&lt;li&gt;⚠️ &lt;a href="https://www.stepsecurity.io/blog/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan" rel="noopener noreferrer"&gt;axios Compromised on npm - Malicious Versions Drop Remote Access Trojan&lt;/a&gt; - &lt;code&gt;axios@1.14.1&lt;/code&gt; and &lt;code&gt;axios@0.30.4&lt;/code&gt; have been compromised for approximately 4 hours on 30 March, and you might have too if you installed dependencies during that time frame. Even if you don’t use it directly, it’s probably a transitive dependency in your projects. Make sure to follow the defensive measures, such as adding &lt;code&gt;min-release-age=7d&lt;/code&gt; to your &lt;code&gt;.npmrc&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://willybrauner.com/journal/signal-the-push-pull-based-algorithm" rel="noopener noreferrer"&gt;Signals, the push-pull based algorithm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/chenglou/pretext" rel="noopener noreferrer"&gt;Pretext - Text measurement and layout algorithm in pure TypeScript&lt;/a&gt; - This innovative lib went viral this week, with fun/impressive but useless demos everywhere. However, the lib unlocks real new possibilities that are impossible or inefficient to achieve with DOM/CSS, as explained in this related article: &lt;a href="https://denodell.com/blog/youre-looking-at-the-wrong-pretext-demo" rel="noopener noreferrer"&gt;You're Looking at the Wrong Pretext Demo&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://developer.chrome.com/blog/element-scoped-view-transitions" rel="noopener noreferrer"&gt;Chrome 147 - &lt;code&gt;Element.startViewTransition()&lt;/code&gt;&lt;/a&gt; - The first browser to ship element-scoped view transitions, enabling multiple view transitions to run simultaneously.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/microsoft/playwright/releases/tag/v1.59.0" rel="noopener noreferrer"&gt;Playwright 1.59 - Screencast recording, observability for agents, &lt;code&gt;await using&lt;/code&gt;&lt;/a&gt; - New features that could be helpful to give feedback to AI agents, and post review videos in PRs.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://vercel.com/blog/making-turborepo-ninety-six-percent-faster-with-agents-sandboxes-and-humans" rel="noopener noreferrer"&gt;Turborepo 2.9 - 96% faster with agents, sandboxes, and humans&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/huggingface/transformers.js/releases/tag/4.0.0" rel="noopener noreferrer"&gt;Transformers.js 4.0 - Machine Learning for the web - New WebGPU backend&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://nodejs.org/en/blog/release/v25.9.0" rel="noopener noreferrer"&gt;Node.js 25.9 - Test runner module mocking improvements, &lt;code&gt;using&lt;/code&gt; + AsyncLocalStorage, &lt;code&gt;stream/iter&lt;/code&gt; 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/rickyfm/status/2039340328050659803" 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%2Fqoy6y6w4ups9u4ms31b5.jpg" alt="alt" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/tannerlinsley/status/2021633622244299131" 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%2Fk9ae1xoal9o3ot0zmxri.jpg" alt="alt" width="800" height="554"&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 #274 ⚛️ Next.js, React Router, Storybook, HeroUI| 📱 Reanimated, Worklets, Nitro Fetch, Navigation | 🔀 TypeScript, Signals</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Fri, 27 Mar 2026 13:58:11 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-274-nextjs-react-router-storybook-heroui-reanimated-worklets-nitro-1l37</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-274-nextjs-react-router-storybook-heroui-reanimated-worklets-nitro-1l37</guid>
      <description>&lt;p&gt;Hi everyone, Seb here 👋!&lt;/p&gt;

&lt;p&gt;This week: a new Next.js release, a React Aria-based UI library, Remotion updates, Storybook MCP, and more.&lt;/p&gt;

&lt;p&gt;On React Native, multi-threading keeps improving (Worklets, Reanimated), and React Navigation v8 looks close.&lt;/p&gt;

&lt;p&gt;Sorry for the weird duplicate email last week, just a mistake 😅&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="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=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 have found a new testing paradigm - and they can't imagine working without it. Built by &lt;a href="https://www.meticulous.ai?utm_source=thisweekinreact&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=11march&amp;amp;utm_content=2nd" 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=11march&amp;amp;utm_content=2nd" 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. &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=11march&amp;amp;utm_content=2nd" 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://nextjs.org/blog/next-16-2" 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%2Foarfs0wudcgfo0agszaj.jpg" alt="Next.js 16.2" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://nextjs.org/blog/next-16-2" rel="noopener noreferrer"&gt;Next.js 16.2&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A great minor release that comes with significant performance improvements, but also impactful DX improvements and new interesting features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;~400% faster &lt;code&gt;next dev&lt;/code&gt; startup&lt;/li&gt;
&lt;li&gt;~50% faster rendering thanks to a React core RSC contribution&lt;/li&gt;
&lt;li&gt;Redesigned error page&lt;/li&gt;
&lt;li&gt;Server Function logging in dev&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;next dev --inspect&lt;/code&gt; to attach a Node.js debugger&lt;/li&gt;
&lt;li&gt;Link &lt;code&gt;transitionTypes&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Dev Overlay now renders &lt;code&gt;Error.cause&lt;/code&gt; and a hydration diff indicator to identify client/server&lt;/li&gt;
&lt;li&gt;Many new experimental features&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://nextjs.org/blog/next-16-2-ai" rel="noopener noreferrer"&gt;AI improvements&lt;/a&gt;: generates &lt;code&gt;AGENTS.md&lt;/code&gt; to read versioned docs for agents, browser log forwarding, agent devtools CLI.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://nextjs.org/blog/next-16-2-turbopack" rel="noopener noreferrer"&gt;Turbopack improvements&lt;/a&gt;: Faster builds, Server Fast Refresh, tree shaking of dynamic imports, PostCSS config, Subresource Integrity, inline loader config, and more.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;📜&lt;a href="https://aurorascharff.no/posts/implementing-nextjs-16-use-cache-with-next-intl-internationalization/" rel="noopener noreferrer"&gt;Implementing Next.js 16 'use cache' with next-intl Internationalization&lt;/a&gt; - Recently updated to include usage of the new &lt;code&gt;experimental.rootParams&lt;/code&gt; feature, letting cached components read the locale directly instead of receiving it as a prop.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://aurorascharff.no/posts/error-handling-in-nextjs-with-catch-error" rel="noopener noreferrer"&gt;Error Handling in Next.js with catchError&lt;/a&gt; - This new &lt;code&gt;unstable_catchError()&lt;/code&gt; API is a framework-aware alternative to &lt;code&gt;react-error-boundary&lt;/code&gt; that discards Next.js control flow errors and can refetch RSC data.&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=PXq6awYzfT8" rel="noopener noreferrer"&gt;Ankita Kulkarni - Next.js 16.2 Just Changed AI Coding Forever&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-mar25" rel="noopener noreferrer"&gt;Product for Engineers - WTF does a product manager do? (and why engineers should care)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://neciudan.dev/name-your-effects" rel="noopener noreferrer"&gt;Start naming your useEffect functions, you will thank me later&lt;/a&gt; - Advocates for giving an inline name to Effect functions to convey your intent, even if it’s encapsulated within a custom hook. If you can’t find a decent name, maybe the Effect does too much or should not exist.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://saschb2b.com/blog/use-hook-react" rel="noopener noreferrer"&gt;use(): The Hook That Breaks the Rules (On Purpose)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tkdodo.eu/blog/test-ids-are-an-a11y-smell" rel="noopener noreferrer"&gt;Test IDs are an a11y smell&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://raphaelbronsveld.com/blog/type-safety-in-react-router" rel="noopener noreferrer"&gt;Type Safety in React Router&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://pavi2410.com/blog/post-react-compiler-coding-guide/" rel="noopener noreferrer"&gt;Post-React Compiler React Coding Guide (For AI Agents)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://blog.sentry.io/setting-up-next-js-source-maps-sentry/?utm_source=thisweekinreact&amp;amp;utm_medium=paid-community&amp;amp;utm_campaign=nextjs-fy27q1-nextjs&amp;amp;utm_content=newsletter-link-blog-sourcemaps-learnmore" rel="noopener noreferrer"&gt;Sentry - Why your Next.js stack traces point to random chunks (and how to fix it)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7132" rel="noopener noreferrer"&gt;React Router 7.13.1 &amp;amp; 7.13.2&lt;/a&gt; - Recent patches introduced new unstable APIs such as the &lt;code&gt;getRequest()&lt;/code&gt; API for RSCs, and a future flag to access “pass-through” (un-normalized) &lt;code&gt;Request&lt;/code&gt; objects. The &lt;code&gt;&amp;lt;Link unstable_mask&amp;gt;&lt;/code&gt; makes it easier to implement URL masking, letting you replicate Instagram-like UX: open gallery images in a modal, and render them full screen on refresh.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://heroui.com/docs/react/releases/v3-0-0" rel="noopener noreferrer"&gt;HeroUI 3.0&lt;/a&gt; - We usually don’t feature most UI libraries, but this one, based on React Aria and Tailwind, has been cooking for a while, and looks more polished than the average UI lib. Although it’s not a cross-platform abstraction, it offers a React Native variant using similar composition patterns and design tokens.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/storybookjs/storybook/releases/tag/v10.3.0" rel="noopener noreferrer"&gt;Storybook 10.3 - MCP, Vite 8, Next.js 16.2, ESLint 10&lt;/a&gt; - There’s a dedicated article on the &lt;a href="https://storybook.js.org/blog/storybook-mcp-for-react/" rel="noopener noreferrer"&gt;Storybook MCP for React&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://lucide.dev/guide/version-1" rel="noopener noreferrer"&gt;Lucide Icons 1.0&lt;/a&gt; - Quite popular icon solution in React and shacn/ui.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/facebook/lexical/releases/tag/v0.42.0" rel="noopener noreferrer"&gt;Lexical 0.42 - Extensible text editor framework from Meta&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/ddoemonn/hiraki" rel="noopener noreferrer"&gt;Hiraki - Zero-dependency React drawer component&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/vercel-labs/json-render/pull/240" rel="noopener noreferrer"&gt;json-render Ink - Generative UI for the terminal, comes with 27 React components&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=EayVHo7XTEg" rel="noopener noreferrer"&gt;Jonny Burger - Remotion is getting even better!&lt;/a&gt; - Cool features landed recently in the React video creation tool, such as Light Leaks, Sound Effects, Rspack, and AI-related improvements. Let’s not forget the &lt;a href="https://www.youtube.com/watch?v=ppYO5COPGXk" rel="noopener noreferrer"&gt;integration with Vercel Sandbox&lt;/a&gt;: I wouldn’t be surprised if we could soon fully vibe-code videos directly in the cloud.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;&lt;a href="https://fandf.co/4cGtUp9" 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%2Fufhnyxo8pl341dgtcvr7.jpg" alt="React Native for Fire TV App Development" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://fandf.co/4cGtUp9" rel="noopener noreferrer"&gt;React Native for Fire TV App Development&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Your existing React Native codebase can now run on Fire TV with minimal changes, thanks to Amazon Developer’s new operating system, Vega. What’s included:   &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;40+ open-source libraries you already rely on, like reanimated  &lt;/li&gt;
&lt;li&gt;Reduced bundle size - React Native is built into the OS and dynamically linked  &lt;/li&gt;
&lt;li&gt;Vega Module Resolver Preset (VMRP) to automatically replace libraries with their Vega-platform ported equivalencies  &lt;/li&gt;
&lt;li&gt;Vega Studio, a VS code-extension, for building, testing, and optimizing Vega apps  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ready to reach new audiences? Check out our getting started guide.&lt;/p&gt;




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

&lt;p&gt;&lt;a href="https://github.com/software-mansion/react-native-reanimated/releases/tag/worklets-0.8.0" 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%2Fjxxwlr5gvvenpu0nwy35.jpg" alt="Worklets 0.8 - Shareable, Bundle mode improvements" width="800" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/software-mansion/react-native-reanimated/releases/tag/worklets-0.8.0" rel="noopener noreferrer"&gt;Worklets 0.8 - Shareable, Bundle mode improvements&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It’s now easier to use the Bundle mode, which unlocks running &lt;a href="https://x.com/swmansion/status/2036489933490110922" rel="noopener noreferrer"&gt;more complex things in background threads&lt;/a&gt;. Also read the dedicated article on &lt;a href="https://x.com/swmansion/status/2034667004297183312" rel="noopener noreferrer"&gt;Shareable – shared memory's missing piece&lt;/a&gt;, a runtime-bound shared memory primitive that was extracted from Reanimated, and that you can now use for non-animation use cases too!&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://frontendmasters.com/courses/react-performance-v2/?utm_source=reactweekly&amp;amp;utm_medium=email&amp;amp;utm_campaign=reactperf" rel="noopener noreferrer"&gt;Make React apps fast where it actually matters. Learn how to diagnose real bottlenecks and fix slow, janky React apps using modern React 19 patterns.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🔐 &lt;a href="https://www.aikido.dev/blog/glassworm-strikes-react-packages-phone-numbers" rel="noopener noreferrer"&gt;Glassworm Strikes Popular React Native Phone Number Packages in Supply Chain Attack&lt;/a&gt; - Affects &lt;code&gt;react-native-country-select&lt;/code&gt; and &lt;code&gt;react-native-international-phone-number&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://codewithbeto.dev/blog/glow-input-reanimated-css" rel="noopener noreferrer"&gt;Glow Effect on TextInput with Reanimated CSS Animations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/how-fieldy-adopted-expo-for-their-ai-wearable" rel="noopener noreferrer"&gt;From skeptic to convert: how Fieldy adopted Expo for their AI wearable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion/react-native-reanimated/releases" rel="noopener noreferrer"&gt;Reanimated 4.3 - CSS animations for SVG, Shared Values on multiple threads, typesafety&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/react-navigation/react-navigation/releases/tag/%40react-navigation%2Fcore%407.17.0" rel="noopener noreferrer"&gt;React Navigation 7.17 - New &lt;code&gt;.with()&lt;/code&gt; method on static config to add a wrapper around the navigator&lt;/a&gt; - Also available in v8.alpha. React Navigation &lt;a href="https://x.com/reactnavigation/status/2036819119194964031" rel="noopener noreferrer"&gt;wants us to use the Static API&lt;/a&gt; more. It unlocks automatic type inference and deep linking, and yet covers most dynamic use cases.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/googlemaps/react-native-navigation-sdk" rel="noopener noreferrer"&gt;React Native Navigation SDK&lt;/a&gt; - TIL that Google provides an official React Native library for Google Maps (in beta).&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://www.swift.org/blog/swift-6.3-released/" rel="noopener noreferrer"&gt;Swift 6.3 - C interop, module selectors, Swift Build preview, Android SDK, and more&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/margelo/react-native-nitro-fetch/releases/tag/v0.2.0" rel="noopener noreferrer"&gt;Nitro Fetch 0.2 - Add support for Streaming, formData, AbortController, RN 0.85&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/microsoft/react-native-windows/releases/tag/react-native-windows_v0.82.0" rel="noopener noreferrer"&gt;React Native Windows 0.82 - New-Architecture only&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/rozenite/releases" rel="noopener noreferrer"&gt;Rozenite 1.5 &amp;amp; 1.6 - DevTools for AI Agents, new File System plugin&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/mrousavy/react-native-mmkv/releases/tag/v4.3.0" rel="noopener noreferrer"&gt;MMKV 4.3 - MMKV upgrade, &lt;code&gt;compareBeforeSet&lt;/code&gt; optimization, configure default log level at build time&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/uni-stack/uniwind/releases/tag/v1.6.0" rel="noopener noreferrer"&gt;Uniwind 1.6 - Border curve utilities&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/wix/Detox/releases" rel="noopener noreferrer"&gt;Detox 20.48-50 - Support simulator launch &lt;code&gt;--arch&lt;/code&gt;, liquidGlass overlay&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/agent-device/releases/tag/v0.10.0" rel="noopener noreferrer"&gt;Agent Device 0.10 - Can control macOS apps&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=zUfPhL_EU2Y" rel="noopener noreferrer"&gt;Beto - React Navigation v8 Crash Course — Liquid Glass, Tabs &amp;amp; More&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=OwgUx22bU0U" rel="noopener noreferrer"&gt;notJust.dev - State of React Native - What's new in 2026&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://infinite.red/react-native-radio/rnr-357-react-native-082084-expo-55" rel="noopener noreferrer"&gt;RNR 357 - React Native 0.82–0.84 &amp;amp; Expo 55&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://shift.infinite.red/fix-flaky-jest-tests-in-ci-with-maxworkers-and-why-it-works-e3d3189f35a4" rel="noopener noreferrer"&gt;Fix Flaky Jest Tests in CI with maxWorkers (and why it works)&lt;/a&gt; - Tests parallelization can lead to timeouts, but you can fine-tune parameters to reduce test time and flakiness.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://adventures.nodeland.dev/archive/who-is-responsible-for-ai-generated-code/" rel="noopener noreferrer"&gt;Who Is Responsible for AI-Generated Code?&lt;/a&gt; - Will Node.js ban AI-generated code from its core, even when there’s a human in the loop?&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://43081j.com/2026/03/three-pillars-of-javascript-bloat" rel="noopener noreferrer"&gt;The Three Pillars of JavaScript Bloat&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/" rel="noopener noreferrer"&gt;TypeScript 6.0&lt;/a&gt; - A “bridge” release toward the 7.0 Go rewrite, which is almost complete. This release also changes defaults (&lt;code&gt;strict: true&lt;/code&gt;, &lt;code&gt;types: []&lt;/code&gt;...), improves subpath imports, adds types for Temporal and upsert, and more.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://jovidecroock.com/blog/mixed-signals/" rel="noopener noreferrer"&gt;Mixed Signals - Bridging the Server-Client Boundary with Signals&lt;/a&gt; - The Preact team is working on a new transport-agnostic solution in which the reactive signal graph spans the network boundary.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://wasmer.io/posts/edgejs-safe-nodejs-using-wasm-sandbox" rel="noopener noreferrer"&gt;Edge.js - Running Node apps inside a WebAssembly Sandbox&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://zero.rocicorp.dev/docs/release-notes/1.0" rel="noopener noreferrer"&gt;Zero 1.0 - Sync engine is now stable e&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://arrow-js.com/" rel="noopener noreferrer"&gt;ArrowJS - UI framework for the agentic era&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://valibot.dev/blog/valibot-v1.3-release-notes/" rel="noopener noreferrer"&gt;Valibot 1.3 - Smarter pipelines, result caching, and new validators&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/2036735446722527741" 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%2Fzpnluy13uhn4kodrqx5d.jpg" alt="alt" width="800" height="245"&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 #273 : ⚛️ RedwoodSDK, Next.js, TanStack, RSC | 📱 Expo UI, Ease, Expo APIs, Keyboard | 🔀 TC39, Temporal, Vite</title>
      <dc:creator>Sebastien Lorber</dc:creator>
      <pubDate>Fri, 20 Mar 2026 14:28:51 +0000</pubDate>
      <link>https://dev.to/sebastienlorber/this-week-in-react-273-redwoodsdk-nextjs-tanstack-rsc-expo-ui-ease-expo-apis-1gk3</link>
      <guid>https://dev.to/sebastienlorber/this-week-in-react-273-redwoodsdk-nextjs-tanstack-rsc-expo-ui-ease-expo-apis-1gk3</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, RedwoodSDK 1.0 dropped, and other meta-frameworks improved their SSR performance. A bunch of content related to Async React and the TanStack too!&lt;/p&gt;

&lt;p&gt;On the React Native side, Expo UI support for Jetpack Compose is quite exciting. A new animation library could also be an interesting alternative to Reanimated CSS transitions.&lt;/p&gt;

&lt;p&gt;Temporal has finally reached stage 4! We also have great announcements from the Vue.js conf that remain relevant for React developers, notably Vite 8.&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://coderabbit.link/twir" 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%2F0wbj5ok3bklh0wg25a5w.jpg" alt="Cut Code Review Time &amp;amp; Bugs in Half" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://coderabbit.link/twir" rel="noopener noreferrer"&gt;Cut Code Review Time &amp;amp; Bugs in Half&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Code reviews are critical but time-consuming. CodeRabbit acts as your AI co-pilot, providing instant Code review comments and potential impacts of every pull request.&lt;/p&gt;

&lt;p&gt;Beyond just flagging issues, CodeRabbit provides one-click fix suggestions and lets you define custom code quality rules using AST Grep patterns, catching subtle issues that traditional static analysis tools might miss.&lt;/p&gt;

&lt;p&gt;CodeRabbit reviews 1 million PRs every week across 3 million repositories and is used by 100 thousand Open-source projects.&lt;/p&gt;

&lt;p&gt;CodeRabbit is free for all open-source repo's.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://coderabbit.link/twir" rel="noopener noreferrer"&gt;Get Started Today&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;&lt;a href="https://rwsdk.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%2Fynni54z79pqb2mynsxn3.jpg" alt="RedwoodSDK 1.0" width="800" height="422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://rwsdk.com/" rel="noopener noreferrer"&gt;RedwoodSDK 1.0&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The former RedwoodJS meta-framework has &lt;a href="https://rwsdk.com/blog/redwoodjs-to-redwoodsdk" rel="noopener noreferrer"&gt;pivoted to RedwoodSDK&lt;/a&gt;, and it now has its first stable release. This time, it bets on Vite, React Server Components, and Cloudflare (using Durable Objects for its &lt;code&gt;useSyncedState()&lt;/code&gt; realtime feature). It promises explicit APIs for clarity (no convention, no magic behavior) through composable web-based primitives.&lt;/p&gt;

&lt;p&gt;The choice of being tightly coupled to Cloudflare might surprise you, but they explain it in this &lt;a href="https://rwsdk.com/blog/why-cloudflare-unified-platform" rel="noopener noreferrer"&gt;article&lt;/a&gt;. They are building abstractions on top of Cloudflare Bindings and Durable Objects to become service-agnostic while remaining platform-optimized. Similarly, Evan You has recently announced &lt;a href="https://void.cloud/" rel="noopener noreferrer"&gt;Void.cloud&lt;/a&gt; – a Vite-native deployment platform based on Cloudflare – and explained that &lt;a href="https://x.com/youyuxi/status/2032501581644497139" rel="noopener noreferrer"&gt;“the lock-in is what makes the DX possible”&lt;/a&gt;. Time will tell how this story compares to Next.js and OpenNext 🤪.&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://github.com/vercel/next.js/pull/90933" rel="noopener noreferrer"&gt;Next.js PR - Update vercel/og and Satori&lt;/a&gt; - This greatly improves the performance of &lt;code&gt;ImageResponse&lt;/code&gt; and unlocks new features.&lt;/li&gt;
&lt;li&gt;🗓 &lt;a href="https://react.paris/?utm_source=thisweekinreact" rel="noopener noreferrer"&gt;React Paris - Workshop Day&lt;/a&gt; - 🇫🇷 Paris - 25 Mar. Deep-dive into React Query and/or nuqs with industry experts. Limited seats available — get 50% off with code "TWIR_WS".&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.aha.io/engineering/articles/why-we-rolled-our-own-rsc-framework" rel="noopener noreferrer"&gt;Why we rolled our own React Server Components framework&lt;/a&gt; - The Aha! engineering team built their own customizable RSC framework. The Vite RSC plugin absorbs much of the complexity. This article shows how you can do it too, and when it could make sense to do so.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://x.com/alvinsng/status/2033969062834045089" rel="noopener noreferrer"&gt;Why we banned React's useEffect&lt;/a&gt; - The Factory team chose to forbid direct usage of &lt;code&gt;useEffect()&lt;/code&gt; through an ESLint rule, reducing bugs and complexity. Its usage often compensates for something React already gives better primitives for.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://dev.to/playfulprogramming/two-react-design-choices-developers-dont-like-but-cant-avoid-d6g"&gt;Two React Design Choices Developers Don’t Like—But Can’t Avoid&lt;/a&gt; - Ryan Carniato explains why React defers state updates and has an effect dependency array. While designing Solid 2.0, he realized that the Async world has constraints that even signal-based frameworks need to take into consideration.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://blog.platformatic.dev/react-ssr-framework-benchmark-tanstack-start-react-router-nextjs" rel="noopener noreferrer"&gt;React SSR Benchmark: TanStack, React Router, Next.js&lt;/a&gt; - A stress-test of popular React meta-frameworks that led framework authors to fix many performance bottlenecks.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://tanstack.com/blog/tanstack-start-5x-ssr-throughput" rel="noopener noreferrer"&gt;TanStack Start - 5x SSR Throughput after profiling SSR Hot Paths&lt;/a&gt; - Based on the benchmark above, the TanStack team explains the methodology used to uncover SSR bottlenecks and how they significantly improved the performance under heavy load.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.nonsoo.com/posts/async-react" rel="noopener noreferrer"&gt;From Fiber to Async React&lt;/a&gt; - An interactive deep dive into React Async features.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://inside-react.vercel.app/blog/making-sense-of-key-prop-in-react" rel="noopener noreferrer"&gt;Making sense of 'key' prop in React&lt;/a&gt; - A refresher on why keys matter and how &lt;code&gt;index&lt;/code&gt; or &lt;code&gt;Math.random()&lt;/code&gt; can break state and reconciliation.&lt;/li&gt;
&lt;li&gt;💸 &lt;a href="https://go.posthog.com/twir-mar18" rel="noopener noreferrer"&gt;Product for Engineers - The engineeringification of everything&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://nextjs.org/blog/next-16-2-ai" rel="noopener noreferrer"&gt;Next.js 16.2 - AI Improvements&lt;/a&gt; - Agents are asked to read versioned docs at &lt;code&gt;node_modules/next/dist/docs/&lt;/code&gt;, browser logs can be forwarded to the terminal, Dev Server lockfile, and a new experimental agent DevTools CLI.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/hakimel/reveal.js/releases/tag/6.0.0" rel="noopener noreferrer"&gt;Reveal.js 6.0 - Presentation Framework - New &lt;code&gt;@revealjs/react&lt;/code&gt; integration package&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://base-ui.com/react/overview/releases/v1-3-0" rel="noopener noreferrer"&gt;Base UI 1.3 - Drawer is stable, Label for Combobox/Select/Slider, and more&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://vercel.com/changelog/streamdown-2-5" rel="noopener noreferrer"&gt;Streamdown 2.5 - Inline KaTeX support, staggered streaming animations, and more&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://vercel.com/changelog/ai-elements-1-9" rel="noopener noreferrer"&gt;AI Elements 1.9 - New JSXPreview to render incomplete JSX, agent skills, and more&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/TanStack/query/releases/tag/%40tanstack/query-core%405.91.0" rel="noopener noreferrer"&gt;TanStack Query 5.91 - New &lt;code&gt;environmentManager&lt;/code&gt; API&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🕹️ &lt;a href="https://cant-maintain.saschb2b.com/" rel="noopener noreferrer"&gt;Can’t Maintain - React Component API Game&lt;/a&gt; - A fun interactive quiz to teach you component API design lessons.&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=9yI5cgFAhTw" rel="noopener noreferrer"&gt;Alem Tuzlak - TanStack AI Just Got a Huge Upgrade: Generation Hooks, Lazy Tools, Realtime &amp;amp; Middleware&lt;/a&gt; - On the &lt;a href="https://tanstack.com/blog" rel="noopener noreferrer"&gt;TanStack blog&lt;/a&gt;, you’ll find many updates about their AI packages. Not strictly about React, but you’ll learn about React-specific integrations such as a &lt;code&gt;useRealtimeChat()&lt;/code&gt; that hides the complexity of connecting directly to a voice AI provider, or generation hooks that integrate nicely with TanStack Start.&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=yti156CvGlc" rel="noopener noreferrer"&gt;Austin Davis - I Tried TanStack Form and I'm Not Going Back&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://syntax.fm/show/988/cloudflare-s-next-js-slop-fork" rel="noopener noreferrer"&gt;Syntax.fm 988 - Cloudflare’s Next.js Slop Fork&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/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.amazonaws.com%2Fuploads%2Farticles%2Fih364eay316fuw4smap0.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://expo.dev/blog/expo-ui-in-sdk-55-jetpack-compose-now-available-for-react-native-apps" 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%2Fzlswauk3mpqw53mf0qx5.jpg" alt="Expo UI in SDK 55" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://expo.dev/blog/expo-ui-in-sdk-55-jetpack-compose-now-available-for-react-native-apps" rel="noopener noreferrer"&gt;Expo UI in SDK 55 - Jetpack Compose now available&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Expo SDK 55 brings major updates to Expo UI, moving Jetpack Compose support to beta and refining SwiftUI APIs to match Apple's official conventions more closely. Instead of reimplementing native components in JavaScript, Expo UI exposes the native UI frameworks directly to React Native.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Jetpack Compose support:&lt;/strong&gt; now includes enough Material Design 3 components (like &lt;code&gt;LazyColumn&lt;/code&gt;, &lt;code&gt;ModalBottomSheet&lt;/code&gt;, and &lt;code&gt;DockedSearchBar&lt;/code&gt;) to build complete apps, which was validated by building a full Wikipedia clone.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SwiftUI: now it feels like SwiftUI:&lt;/strong&gt; renamed and restructured SwiftUI components to match their SwiftUI counterparts. &lt;code&gt;DateTimePicker&lt;/code&gt; is now &lt;code&gt;DatePicker&lt;/code&gt;, &lt;code&gt;Switch&lt;/code&gt; is now &lt;code&gt;Toggle&lt;/code&gt;, and &lt;code&gt;CircularProgress&lt;/code&gt; is now &lt;code&gt;ProgressView&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Familiar API surface:&lt;/strong&gt; It uses React's compound component pattern (e.g., &lt;code&gt;ListItem.Leading&lt;/code&gt;) to express Compose's composable lambdas in JSX, and aligns the modifier system so it works consistently across platforms.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI-Friendly:&lt;/strong&gt; Because the APIs intentionally mirror native Compose and SwiftUI documentation, AI assistants can easily generate correct Expo UI code relying on their existing native training data.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a href="https://github.com/AppAndFlow/react-native-ease" 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%2Fjkyqooo75gncghucwzu1.jpg" alt="React Native Ease - Lightweight declarative animations powered by platform APIs" width="800" height="229"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/AppAndFlow/react-native-ease" rel="noopener noreferrer"&gt;React Native Ease - Lightweight declarative animations powered by platform APIs&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;New animation library designed to handle simple transitions with maximum performance. While Reanimated is incredibly flexible, it runs JS on every frame on the UI thread, which can be overkill and cause flickering if the thread lags. &lt;code&gt;react-native-ease&lt;/code&gt; solves this by leveraging Core Animation on iOS and Animator on Android directly, resulting in zero JS overhead.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CSS-like API:&lt;/strong&gt; Offers a highly simplified, declarative API inspired by CSS transitions. You simply wrap elements in an &lt;code&gt;&amp;lt;EaseView&amp;gt;&lt;/code&gt; component and pass an &lt;code&gt;animate&lt;/code&gt; prop.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Built for the basics:&lt;/strong&gt; Perfect for non-layout properties like opacity, transforms, background color, and border radius. It prevents the need to create hundreds of shared values just for simple press animations in lists.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Migration Skill:&lt;/strong&gt; It includes an AI agent skill that can automatically scan your codebase, identify simple Animated/Reanimated implementations, and migrate them over to &lt;code&gt;react-native-ease&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;💸 &lt;a href="https://frontendmasters.com/courses/react-performance-v2/?utm_source=reactweekly&amp;amp;utm_medium=email&amp;amp;utm_campaign=reactperf" rel="noopener noreferrer"&gt;Make React apps fast where it actually matters. Learn how to diagnose real bottlenecks and fix slow, janky React apps using modern React 19 patterns.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://expo.dev/blog/the-next-generation-of-expo-apis-medialibrary-and-contacts" rel="noopener noreferrer"&gt;The next generation of Expo APIs: MediaLibrary and Contacts&lt;/a&gt; - Following the Filesystem update, Contacts and Media Library are getting the new object-oriented API treatment. The use of Shared Objects and Shared Refs offers better performance and simpler querying through deeper native module integration.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://www.callstack.com/blog/handling-navigation-in-react-native-brownfield-apps" rel="noopener noreferrer"&gt;Handling Navigation in React Native Brownfield Apps&lt;/a&gt; - Navigation for brownfield apps can be tricky. &lt;code&gt;@callstack/brownfield-navigation&lt;/code&gt; aims to simplify this process by wiring navigation in a clean, typed, and maintainable way.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://kirillzyusko.github.io/react-native-keyboard-controller/blog/chat-scroll-view" rel="noopener noreferrer"&gt;Keyboard Controller 1.2 - Chat Scroll View&lt;/a&gt; - Tackles layout thrashing during keyboard animations. This &lt;a href="https://medium.com/@iosemagno/how-we-eliminated-keyboard-animation-stutter-in-flutter-and-why-the-same-problem-haunts-react-2e15c37438b0" rel="noopener noreferrer"&gt;related article&lt;/a&gt; explains why Flutter and React Native suffer from the same keyboard animation stutter.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/jbroma/fast-flow-transform" rel="noopener noreferrer"&gt;Fast Flow Transform - Strip Flow types 20x faster than with Babel&lt;/a&gt; - This tool might help remove Babel entirely from your React Native pipeline and adopt a full Rust-based toolchain. Note that SWC is also working on &lt;a href="https://github.com/swc-project/swc/pull/11702" rel="noopener noreferrer"&gt;Flow types stripping&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/react-native-sandbox/releases/tag/v0.5.0" rel="noopener noreferrer"&gt;React Native Sandbox 0.5 - Now supports Android&lt;/a&gt; - Allows you to run multiple, isolated React Native instances within a single application&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/callstackincubator/agent-device/pull/214" rel="noopener noreferrer"&gt;Agent Device 0.8.4 - Screenshot diff support&lt;/a&gt; - CLI tool for pixel-level image comparison.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/software-mansion-labs/react-native-streamdown" rel="noopener noreferrer"&gt;React Native Streamdown - Markdown streaming for React Native&lt;/a&gt; - Can render incomplete Markdown documents, useful for streaming LLM chats.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/entropyconquers/react-native-reanimated-dnd" rel="noopener noreferrer"&gt;React Native Reanimated DnD 2.0 - Drag-and-drop library using Reanimated 4 and Gesture Handler&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://github.com/dannyhw/vite-plugin-rnw/releases/tag/v0.0.11" rel="noopener noreferrer"&gt;Vite Plugin RNW 0.0.11 - Vite 8 support for React Native Web&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=Z3FoZ4r_WY8" rel="noopener noreferrer"&gt;Simon Grimm - How to Build Smart TV Apps with React Native (Vega OS Guide)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎥 &lt;a href="https://www.youtube.com/watch?v=oAIqn44Y63c" rel="noopener noreferrer"&gt;Beto - This New React Native Animation Library Is Insane (Ease)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://www.youtube.com/watch?v=uI_8SP7awsA&amp;amp;list=PLSk21zn8fFZDX-LeaD7C3HjUr-R7a6-Kg" rel="noopener noreferrer"&gt;Software Mansion Podcast 1 - AI Made 20 Years of Learning Obsolete in 2 Months – Simon Grimm x Tomek Zawadzki&lt;/a&gt; - SWM is launching its new React Native podcast, while Rocket Ship is &lt;a href="https://podcast.galaxies.dev/episodes/why-i-m-pausing-the-rocket-ship-podcast-for-now" rel="noopener noreferrer"&gt;taking a break&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;🎙️ &lt;a href="https://infinite.red/react-native-radio/rnr-356-how-vercel-built-the-v0-app-with-react-native" rel="noopener noreferrer"&gt;React Native Radio 356 - How Vercel Built the v0 App with React Native&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://socket.dev/blog/tc39-advances-temporal-to-stage-4" rel="noopener noreferrer"&gt;TC39 Advances Temporal to Stage 4 Alongside Several ECMAScript Proposals&lt;/a&gt; - Great news for Temporal, being standardized in ECMAScript 2026. Import Text is also super useful and now stage 3.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://bloomberg.github.io/js-blog/post/temporal/" rel="noopener noreferrer"&gt;Temporal: The 9-Year Journey to Fix Time in JavaScript&lt;/a&gt; - From the origins of the Date API to the backstory of how Temporal got standardized. Remains to define how it will integrate with existing Web APIs, such as date inputs.&lt;/li&gt;
&lt;li&gt;📜 &lt;a href="https://blog.platformatic.dev/why-nodejs-needs-a-virtual-file-system" rel="noopener noreferrer"&gt;Why Node.js Needs a Virtual File System&lt;/a&gt; - A &lt;code&gt;node:vfs&lt;/code&gt; API should land as experimental in Node 24, and polyfills are already available for Node 22. Being able to load code generated at runtime can be quite useful!&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://vite.dev/blog/announcing-vite8" rel="noopener noreferrer"&gt;Vite 8.0 - Faster Rust-based Rolldown bundler&lt;/a&gt; - A major Vite release just dropped, based on the new unified Rust-based toolchain. The React plugin is also updated, and there’s a compatibility preset for the React Compiler.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://voidzero.dev/posts/announcing-vite-plus-alpha" rel="noopener noreferrer"&gt;Vite+ Alpha - The Unified Toolchain for the Web&lt;/a&gt; - The Void0 company finally decided that it will be free and under MIT license.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://oxc.rs/blog/2026-03-11-oxlint-js-plugins-alpha" rel="noopener noreferrer"&gt;Oxlint JS Plugins Alpha&lt;/a&gt; - Oxlint is already compatible with many ESLint rules, including React hooks and React Compiler rules. What’s most interesting is how they achieve good performance thanks to the low-level “raw transfer” mechanism.&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://vitest.dev/blog/vitest-4-1.html" rel="noopener noreferrer"&gt;Vitest 4.1 - Support for Vite 8, test tags, new &lt;code&gt;aroundEach/All&lt;/code&gt; hooks, and more&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;a href="https://bun.com/blog/bun-v1.3.11" rel="noopener noreferrer"&gt;Bun 1.3.11 - &lt;code&gt;Bun.cron&lt;/code&gt;, smaller on Linux, many bugfixes&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/AdamRackis/status/2033586304181502019" 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%2Fjcwy8mhf8el26ov9ehm9.jpg" alt="alt" width="800" height="894"&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>
