π¨ #297: DevTools, Motion, Apollo, React Router, Hook Form, shadcn lint | Shopify, Expo 58 beta, ExecuTorch, Screenmap, Voltra, SPM, Stim, Lynx, Metro, AI | pnpm, oj, Zod, Devframe, Safari, Webpack
Hi everyone, Seb and Jan here π!
Following the React v19.3 release, DevTools v8 is now officially published. Motion shipped a ViewTransition wrapper. React Router optimized re-renders. Apollo Client finally has custom scalars.
On mobile, we have a lot of releases. RN 0.88 will use React v19.3. Shopify is moving away from React Native!
Let's dive in!
As always, thanks for supporting us on your favorite platform:
- π¦ Bluesky
- βοΈ X / Twitter
- π LinkedIn
- π½ Reddit
Don't miss the next email!

πΈ Sponsorβ
Live Workshop Series: Debugging AI Agents
Your agent returns something odd. Was it the prompt, a tool call that timed out, or output your code could not parse? Without traces, you are guessing.
On October 7, Serge from Sentry instruments three agents with Agent Tracing: a chatbot in an e-commerce store, a custom Slack agent, and a GitHub Action that reviews PRs. You'll see bad tool calls, unexpected output, and token spend per run.
On October 14, Ryan and Serge show how Sentry engineers debug their own agents and find the failures worth investigating across large volumes of production traces.
Both sessions are free. Register for the series.

βοΈ Reactβ
- πΈ build mode - 2030-shaped software
- π React DevTools 8.0 on the Chrome Web Store - If you use Chrome, you probably got the new version automatically. You should now see a new
Elements > βοΈReact Elementpane when inspecting elements in Chrome DevTools, and also a new top-levelβοΈSuspensetab. - π StyleX RFC - Add compile-time CSS enums and exhaustive matching
- π The Cost of Abstraction for Humans and AI Agents - The author created the same React app with different levels of abstraction, then measured the cost of editing each app with Sonnet 5. He estimates that an over-abstracted codebase costs 30% more in AI agent bill and time. Also includes 6 abstraction patterns often seen in React codebases that you can probably inline.
- π React Server Functions Are More Than Mutations - An interactive exploration of using Server Functions for reads via HTTP QUERY, then streaming values, while working on an Effect-based RSC framework.
- π SolidJS, Itβs the Little Things - Walks through 6 small Solid 2.0 DX details, from
isPending()to optimistic stores, each compared side by side with the React equivalent. - π Fixing INP in a Massive React Dropdown - Opening a MultiSelect with ~1,200 options mounted at once blocks the main thread. Since all rows share the same height, a custom 90-line virtualization hook is enough to bring INP from 1,256ms down to 96ms.
- π TSRX - Removing lazy destructuring - Preparing for v1.0, TSRX dropped its
&{}destructuring syntax. This reflects its positioning as a JSX extension, rather than a new language that humans and LLMs would have to learn. - π° Theβ―Amazon Developer Hackathon:β―Win up to $40k forβ―theβ―Fire TVβ―track!β―8β―weeksβ―toβ―build and explore newβ―agenticβ―tools. Register now!
- π¦ Motion 13.4 - New
<AnimateView>component - Wraps React's<ViewTransition>, adding support for spring support, dynamic targets, animation controls, and a simple props API. Interesting to see the lib pushing back on React docs' claims about View Transition performance compared to layout animations. - π¦ shadcn lint - An agent-first linter for Tailwind design systems - Since
classNameis just a string, design system rules are hard to enforce with types. This ESLint/Oxlint plugin lets you define per-component rules and emit actionable errors to guide your agents. - π¦ Oxlint 1.83 - Update lint rules for React 19.3 - This fixes false-positive lint errors you may get by adopting React 19.3 features such as Fragment refs or newly supported DOM props.
- π¦ React Router 8.4 - Fewer re-renders, faster route matching (unstable) - The internal router state has been split into 4 contexts, so hooks like
useLocation()will re-render less. - π¦ Apollo Client 4.3 - Custom scalars, type-safety improvements - The GraphQL client finally ships built-in custom scalar support, its most requested feature: parse/serialize values like
Datein one place - π¦ React Hook Form 7.88 - Built-in
<ErrorMessage>component - This lets you render one or many validation error messages for a given field. - π¦ Astryx 0.6 - Responsive theme rules, adaptable selection, reworked Neutral palette
Don't miss the next email!

πΈ Sponsorβ
Your first React Native OTA can be a diff
Revopush OTA reuses the hermes bundle and assets already in your IPA and APK.
Even the first OTA after a native release can contain only the changes.
In one production release, an 18 Mb full package became 100 to 500 Kb patches.
After the switch, the team released more often. Update downloads increased, yet egress fell π°.
- SDK compatible with React Native and Expo
- Binary diff updates from the first OTA release
- Enterprise-grade security, with SOC 2 Type II
- Advanced release analytics

π± React-Nativeβ
Shopify is moving away from React Native to native
An unexpected announcement from Shopify shook the React Native ecosystem. Theyβre moving away from React Native to native Swift and Kotlin!
So whatβs their reason? Not because RN failed, but because coding agents changed the economics. Building twice no longer costs twice.
They started with a 12-week case study to migrate their flagship Shop app to native with 6 engineers, leading to the following improvements:
- improve startup time - iOS startup 3200ms β 2466ms (-23%), Android 4433ms β 2233ms (-50%)
- session stability - 99.5% β 99.95% (10x reduction)
- runtime performance on Android - 120 FPS on a Pixel device
Itβs important to note that the app was π not using the New Architecture, which was built to fix those problems.
Does it mean React Native is dead? Does not seem so. A shared application and UI layer remains useful, and React Native still has major benefits such as Over-The-Air updates and good foundations for server-driven UI, useful for the agentic era.

- πΈ Crisp - Customize your in-app support experience with our React Native SDK and flexible integration options
- π React Native 0.88 RC.1 cherry-picked React 19.3 - Stable ViewTransition, Fragment refs, browser(), Trusted Types - This upgrade doesnβt look like a major change for RN devs on its own, but ViewTransitions and Fragment refs are React core features and may become supported on the RN side? π€«
- π You don't need a Mac to develop iOS apps anymore - EAS runs iOS simulators in the cloud, letting you test and build apps from any OS or browser. Android is also supported.
- π Legend State: The Fastest React State Library Youβre Probably Not Using - React's built-in state management can often be a source of performance problems. State managers such as Legend State help reduce re-renders thanks to
observables. - π How Does KMP with SwiftUI Scale on iOS? - Sharing logic in Kotlin sounds ideal. The problem? iOS consumes one static framework. Does this cause a full rebuild on every change? Fortunately, no, but there's still a cost.
- π Is Your App Ready for iPhone Duo? - A new mobile form factor is coming to iOS. Taking care of screen edges, safe areas, and adaptive layout is more important than ever.
- π What It Actually Takes to Migrate Discord to React Native's New Architecture - Migrating a complex app to the New Architecture is not just a flip of a switch. Thereβs a long tail of issues and assumptions that need to be taken care of.
- πΈ Codemagic Patch - The easiest way to run your own OTA update server, complete with dashboard and fingerprinting
- π¦ ExecuTorch 0.10 - Ground-up rewrite, TS pipelines, Core ML/MLX/Vulkan acceleration - Orchestration moves to inspectable TypeScript with Core API for custom models without C++, worklets support for VisionCamera live streams, on-demand native binaries to trim bundle size, and a legacy entrypoint for gradual migration.
- π¦ Expo SDK 58 Beta - iOS 27 support, RN 0.88 RC, Expo Modules 2.0 beta, App Intents alpha, agent CLI, Android widgets, stable Expo Router data loaders and native tabs, and more - Another exciting Expo release that weβll cover in depth once stable in 3-4 weeks!
- π¦ Screenmap - Visual navigation maps for Expo / React Native apps - A promising tool to add to your CI workflows: takes a screenshot of every app screen and posts a map to your mobile PRs, highlighting what has changed.
- π¦ Screens 4.28 - Android Tabs/Stack fixes, tab bar layout, and MenuItem IDs - Small bugfix release, but hereβs a π sneak peek of upcoming support for iPhone Duo
- π¦ Swift 6.4 - Swift Build is now the default in SPM. Improved language, Foundation, and standard library. Improved C++ and Java interoperability.
- π¦ Metro 0.87 - Scheme resolvers, babel-runtime resolution, Watcher memory cuts
- π¦ Nitro ZXing - Barcode scanner for VisionCamera written in C++, up to 10x faster than MLKit, and 2.6x faster for live camera frames
- π¦ Lynx 4.0 - AI docs for agents, generative UI using AI2UI renderer and OpenUI skill, dynamic elements, unified debug metadata, media queries
- π¦ WebGPU 0.10 - Chrome 154, SPM support, implicit device sync by default
- π¦ Gesture Handler 3.3 - Swipeable, Drawer, ScrollView and button press fixes
- π¦ Skia 2.12 - SPM support, handle invalid SVG parse results
- π¦ Boost 2.0 - Metro plugin replaces Babel, Animated/ActivityIndicator/StyleSheet/Platform optimizers, Uniwind support
- π¦ Screen Choreography 0.5 - defineTransition recipes, native forward preparation, live shared content
- π¦ Harness 1.5 - Windows platform support,
harness cicommands, Metro config enhancer - π¦ Voltra 2.3 - Server-driven Dynamic Widgets, configurable Android widgets, experimental Dynamic Live Activities
- π¦ Radon IDE 1.19 - Share booted devices with AI agents via Argent
- π¦ Argent 0.25 - WebView DOM in describe on Android, external device providers, script steps in flows
- π¦ Agent Device 0.21 - scroll-until finder, in-place iOS web sign-in, Maestro evalScript, 27β40% faster iOS opens, human takeover of remote sessions
- π¦ Stim 1.0 - Run several coding agents in parallel on RN apps, with build optimizations across worktrees
- π¦ Nitro Wakeword - On-device wake word detection for React Native, using the openWakeWord pipeline with ONNX Runtime
- π¦ Face Detector 2.1 - Auto-mode scaling fix for any frame/screen resolution
- π¦ Nitro Fetch 1.7 - Fix reject aborted requests when native finishes before cancel, multipart encoding, React Query/RTK examples
- π₯ Code with Beto - How Marc Rousavy Turned Open Source Into a β¬20M+ Agency
- ποΈ RNR 373 - Real Life React Native: Chime

π Otherβ
- π De-phantoming the npm ecosystem - Using Nub to find phantom (undeclared) dependencies in the top 10k npm packages.
- π New Things You Should Know About HTML Here in Mid 2026 - Good overview of modern HTML from Chris Coyier.
- π¦ pnpm 12.4 - Support for Rust and Python dependencies, new
pnpm pipelinetask runner - Bold move: pnpm expands beyond JS and can now install Cargo crates and PyPI packages alongside npm deps. The ability to run cached task graphs makes it a lightweight Turborepo/Nx alternative. - π¦ Safari 27 - Fix top-level await,
import defer, customizable<select>,ariaNotify(), CSS improvements,ReadableStreamimprovements, MCP server, JSPI, and more - Major release! The ES module loader has been entirely rewritten, fixing long-standing top-level await bugs. JSPI (JavaScript Promise Integration for WebAssembly) is now available in all major browsers: an important primitive letting synchronous code compiled to Wasm (C++, Rustβ¦) call async JS APIs. You can now connect your AI agent to Safari through the new MCP server. - π¦ Modern Web Types - TIL TypeScript only types DOM APIs shipped in 2+ browser engines. This lib lowers the threshold to 1 engine, letting you use the newest APIs as progressive enhancements without losing type-safety.
- π¦ oj - The Vite dev server reimplemented in Rust - This alternative offers different trade-offs. Will soon power the Lovable sandbox previews, resulting in 4x better memory usage and 2x faster cold starts.
- π¦ Devframe - Framework for building pluggable, extensible, and playful DevTools - It powers Vite DevTools and Nuxt DevTools v4, and thereβs a Next.js DevTools prototype.
- π¦ Zod 4.6 -
z.validate(),z.properties(),z.iban(),z.fromJSONSchema()improvements - The newz.validate()method fails fast, returns false on error, up to 35x faster thanz.safeParse(). - π¦ Webpack 5.111 - Stable ESM output,
output.copyfor static files, CSS minimizer improvements

π€ Funβ
See ya! π









