Next.js 16.2, TypeScript 6.0, and the Post-Compiler React World

Published on 25.03.2026

bash — 80×24$pnpm dev▶ ready on localhost:3000$git commit -m "feat: og images"$npx tsc --noEmit✓ 0 errorsCODING

Next.js 16.2

TLDR: Next.js 16.2 delivers a roughly four-hundred percent faster dev startup, fifty percent faster rendering through a React core contribution, and a redesigned error experience with hydration diffs, server function logging, and a new default error page.

Next.js 16.2

Next.js 16.2: AI Improvements

TLDR: Next.js 16.2 treats AI coding agents as first-class development tools, adding AGENTS.md to create-next-app, browser log forwarding to the terminal, and an experimental CLI that gives agents access to React DevTools without a browser.

Next.js 16.2: AI Improvements

Turbopack: What's New in Next.js 16.2

TLDR: Turbopack ships Server Fast Refresh with sixty-seven to one hundred percent faster application refresh, Subresource Integrity support, tree shaking for dynamic imports, and over two hundred bug fixes.

Turbopack: What's New in Next.js 16.2

Implementing Next.js 16 'use cache' with next-intl Internationalization

TLDR: The new use cache directive in Next.js 16 conflicts with next-intl because the library reads locale from headers, but Next.js 16.2 ships root params that solve this without prop drilling.

Implementing Next.js 16 'use cache' with next-intl

Error Handling in Next.js with catchError

TLDR: The new unstable_catchError from Next.js 16.2 replaces the workarounds needed for react-error-boundary in Server Components, correctly propagating framework errors and providing a retry function that re-fetches server data.

Error Handling in Next.js with catchError

Start Naming Your useEffect Functions

TLDR: Replacing anonymous arrow functions in useEffect with named function expressions makes components scannable, improves stack traces, and often reveals effects that do too much or should not exist at all.

Start naming your useEffect functions

use(): The Hook That Breaks the Rules (On Purpose)

TLDR: React 19's use hook eliminates the useState-useEffect-loading-error boilerplate for data fetching by integrating directly with Suspense and Error Boundaries, and it is the first hook that can be called conditionally.

use(): The Hook That Breaks the Rules (On Purpose)

Test IDs Are an a11y Smell

TLDR: Using data-testid for element selection in tests hides accessibility problems because users cannot see test IDs. Role-based selectors simultaneously make tests more readable and enforce accessible markup.

Test IDs are an a11y smell

Type Safety in React Router

TLDR: React Router now generates route types automatically, introduces the useRoute hook for type-safe loader data anywhere in the tree, and provides an href function that breaks at compile time when routes change.

Type Safety in React Router

Post-React Compiler Coding Guide

TLDR: With React Compiler handling memoization automatically, the new coding standard is to write components as pure functions, derive values inline, avoid manual useMemo and useCallback, and trust the compiler to optimize.

Post-React Compiler Coding Guide

TypeScript 6.0

TLDR: TypeScript 6.0 is the bridge release to TypeScript 7.0's native Go compiler, introducing strict-by-default, ES2025 target defaults, Temporal types, and deprecating ES5, AMD, UMD, baseUrl, and moduleResolution node.

Announcing TypeScript 6.0

Glassworm Strikes React Native Phone Number Packages

TLDR: Two popular React Native npm packages were backdoored on March 16 with identical install-time malware that fetches a multi-stage Windows credential and crypto stealer via Solana blockchain memos and Google Calendar indirection.

Glassworm Strikes React Native Phone Number Packages

Storybook MCP for React

TLDR: Storybook 10.3 ships an MCP server that gives AI coding agents access to component metadata, live story previews in chat, and self-healing test loops where the agent runs tests and fixes its own issues.

Storybook MCP for React

Bridging the Server-Client Boundary with Signals

TLDR: The mixed-signals library extends Preact Signals across network boundaries, letting you define reactive models on the server that automatically synchronize to client-side proxy signals over any transport.

Bridging the Server-Client Boundary with Signals

The Three Pillars of JavaScript Bloat

TLDR: JavaScript dependency bloat comes from three sources: older runtime support with realm safety, atomic package architecture, and ponyfills that overstayed their welcome. The e18e community provides tools and data to systematically address all three.

The Three Pillars of JavaScript Bloat