RSC Explorer, React 19.2 Async Shift, Vercel AI SDK 6, Base UI v1, shadcn/create, Next.js notFound() Bug
Welcome back! 🎊 Hope you recharged over the holidays. Let’s jump into this week’s updates
Introducing RSC Explorer
Dan Abramov released RSC Explorer, a tool that lets you inspect how React Server Components work under the hood. See how JSX is streamed, how Suspense works, and how client and server code reference each other. It runs in the browser, uses the React RSC packages, and is fully open source
Intro to Performance of React Server Components
Nadia Makarevich breaks down how Client-Side Rendering, SSR, and React Server Components affect performance using clear metrics and simple examples.
⚡️ Sponsor
Arcjet - Painless security for developers
Implement bot protection and signup spam protection natively in code.
📙 Articles, Tutorials
The worst thing to happen to React and Next.js: React2Shell
You might think hackers won't bother with your small portfolio site or demo project. That was the author's first reaction to the recent security warnings, until her own demo site compromised by the CVE-2025-55182 vulnerability started redirecting users to a crypto scam
How to Fix Next.js notFound() Returning 200 OK with App Router and Suspense
Explains how Next.js streaming commits response headers too early, resulting in a "200 OK" for non-existent pages. The post also outlines the SEO risks and offers five potential workarounds to mitigate the problem
Rate-limiting Server Actions in Next.js
I wrote a guide on how to implement IP-based rate-limiting for your Server Actions using next/headers since Actions don't give you the raw Request object
Coding Agents & Complexity Budgets
Lee Robinson shares the story of how he moved the Cursor website from a headless CMS back to plain Next.js code and Markdown. What he thought would take weeks was done in a weekend using coding agents, costing about $260 in tokens. The result was less complexity, faster builds, lower CDN costs, and easier changes through Git
🇫🇷 React Paris 2026
React Paris just announced its full speaker lineup, featuring top names like Una Kravets, Tanner Linsley, Mark Erikson, Daishi Kato, Kitze, and Tejas Kumar, focusing on cutting-edge React, AI, and web dev, with the event happening March 26-27, 2026
📦 Projects / Packages / Tools
Base UI v1
The first stable release of Base UI is here with 35 headless components. Breaking change: the package moved from @base-ui-components/react to @base-ui/react. Version 1 also comes with several fixes and improvements
AI SDK 6
This release focuses on agents you can reuse across your app. Define an agent once and use it in APIs, background jobs, and UIs. It also adds safer tool execution, better debugging with new DevTools and MCP support
Better Auth Harmony
A better-auth plugin for email and phone normalization that also blocks temporary email domains
shadcn/create
A new tool that helps you build a custom version of shadcn/ui. You can choose the component library, colors, fonts, spacing, and style, and the tool generates code that matches your setup
⚡️ Sponsor
Immutable by Design: The Deep Tech Behind Tigris Bucket Forking
Think “instant DB clones” but for object storage. Sounds impossible — until you see the architecture. 👉 Peek under the hood.
🌈 Related
vercel.ts: Programmatic project configuration
You can now use a TypeScript file instead of the static vercel.json to configure your Vercel projects. This brings type safety, the ability to use environment variables, and dynamic logic directly into your configuration. It works for routing, cron jobs, and caching rules
React 19.2: The async shift is finally here
Jack Herrington writes about how React 19.2 rebuilds async handling from the ground up with use(), useTransition(), and View Transitions.
Engineering Our Engineering Blog: From Webflow to Payload
A behind‑the‑scenes look at how an engineering blog was migrated from Webflow to a self‑hosted setup using Next.js and Payload CMS. It explains why Webflow started to feel limiting, how Payload works as a code‑first CMS, and what was gained from the move
Logging sucks.
The article explains, in simple terms, why string-based logs and grep don’t work anymore, why high‑cardinality context actually matters, and how to log one rich, structured event per request instead of dozens of useless lines.
Have a link you want to share? Send me an email at erfan@nextjsweekly.com
All submissions are appreciated.
👋 See you next week!