← All reportsPublic report

react/react

The library for web and native user interfaces.

248k stars JavaScript View on GitHubprofiled 15d ago
Try GitZoid
63PRs this week
16Contributors
1500Deps scanned
0Issues found
01 · Repo overview

How react is put together

This is the React monorepo: the source for the React UI library and its ecosystem packages (react-dom, react-reconciler, react-server-dom-webpack, devtools, renderers), plus a separate React Compiler workspace written in Rust that compiles to a Node native module via napi. The primary language is JavaScript with Flow type annotations; TypeScript is used in newer areas such as eslint-plugin-react-hooks and compiler tooling. Packages live under packages/* as yarn workspaces and are bundled by custom Rollup scripts into multiple release channels (stable/experimental/www) and bundle types (NODE_DEV/NODE_PROD/ESM). There is no server application or datastore; data flow is library-internal: components reconcile through react-reconciler and render via host packages like react-dom.

Languages

JavaScript (Flow)TypeScriptRust

Frameworks

React (the product itself)Rollup (bundling)Babel (transpilation)Jest (testing)napi-rs (Rust-to-Node bindings)webpack (devtools builds)esbuild/tsup (compiler JS tooling)

Infrastructure

GitHub Actions CI (runtime_build_and_test.yml, compiler_typescript.yml badges)Node.js runtimenpm registry publishing scriptsCodeSandbox CI config (.codesandbox/ci.json)Chrome/Edge/Firefox browser extension targets (react-devtools-extensions)

Major components

react core (packages/react)

Defines the public React API (createElement, hooks entry points) consumed by all renderers.

react-dom / react-dom-bindings

DOM host renderer exposing client roots (client.js), server rendering entries (server.node/browser/edge/bun/static.*), and test utilities.

react-reconciler

The core reconciliation/fiber algorithm shared by every renderer.

React Server Components / Flight (react-client, react-flight-server-fb, react-server-dom-webpack/unbundled)

Serialization protocol and client/server runtimes for streaming React Server Components.

React Compiler (compiler/crates/*)

Rust workspace implementing the memoization compiler: AST, HIR, SSA, type inference, optimization, validation, exposed to JS via napi bindings.

eslint-plugin-react-hooks

ESLint plugin enforcing Rules of Hooks and React Compiler lint rules, now written in TypeScript.

DevTools suite (react-devtools, react-devtools-core/shared/inline/extensions/fusebox/cdt-mcp)

Browser extension, standalone app, and embeddable DevTools frontends/backends built with webpack.

Test infrastructure (internal-test-utils, jest-react, dom-event-testing-library, react-noop-renderer, fixtures/dom)

Shared Jest utilities, DOM event simulation, noop renderers, and fixture apps used across release channels.

Over the past five weeks the React team shipped a steady stream of fixes and polish for Fragment refs and event handling in the DOM layer, while also turning on experimental features like parallel transitions and a new browser() API. The React Compiler got several performance-focused improvements to reduce memory use and speed up code generation. Meanwhile, DevTools saw a redesign of its Profiler experience (retiring the old Timeline tab), and build/CI infrastructure was tuned to run faster by parallelizing downloads and sharding builds.

Week by week

2026-08-24The week focused on making CI builds faster through background work and smarter sharding, plus performance tuning inside the React Compiler.latest6 changes

Chore

Faster CI setup with background Java setup

The build pipeline now sets up Java tools in the background while other setup steps run, saving time.

Chore

Faster CI artifact downloads

Build artifacts are now downloaded in the background during job setup instead of blocking the pipeline.

Fix

Nested TypeScript 'this' parameter handling reverted

A change that made the Rust-based compiler bail out on nested TypeScript 'this' parameters was reverted after landing.

Refactor

Compiler avoids slow quadratic codegen

The React Compiler no longer deep-clones large chunks of code, eliminating a slowdown that grew quadratically with file size.

Refactor

Compiler reduces memory allocations

Internal compiler values are now shared rather than copied, cutting down on heap memory use during effect inference.

Chore

Build workers sharded by measured times

CI build workers are now split based on how long each bundle actually takes to build, balancing the workload better.

2026-08-17This was a smaller week centered on memory-management fixes in server rendering (Flight/Fizz) and a Fragment cleanup fix.5 changes

Feature

Flight dedupes repeated strings

Server-rendered output now outlines and reuses repeated strings instead of sending them multiple times.

Chore

Sizebot rebuilt on new token

The bot that reports bundle size changes on pull requests was rebuilt to use GitHub Actions credentials.

Fix

Cache signal aborts when debug objects retained

Server rendering now aborts the cache signal if debug objects keep references alive, preventing stale cached data.

Fix

Finished renders no longer retained by callers

Both Flight and Fizz were fixed so a completed render can be garbage-collected even if the caller still holds onto a signal.

Fix

Fragment refs detached during mutations

Fragment reference objects are now properly disconnected from the tree when elements are removed or changed.

2026-08-10A big week of hardening Fragment instance behavior in the DOM, with over a dozen fixes covering events, focus, scrolling, and edge cases, plus enabling parallel transitions.6 changes

Feature

Parallel transitions enabled

The experimental enableParallelTransitions flag is now turned on, allowing multiple transitions to run at once.

Fix

Fragment listeners scoped correctly

'once' event listeners on Fragments now fire once per Fragment rather than once per child element.

Fix

Fragment listeners attach to text children

Event listeners on a Fragment ref now also cover committed plain-text children.

Fix

Fragment focus blurs portaled targets

When content rendered into a portal loses its place in the tree, focus is properly blurred.

Fix

Fragment removeEventListener fixed

Removing an event listener from a Fragment no longer accidentally drops other tracked listeners.

Fix

Hidden Activity trees skip metadata hoisting

Metadata is no longer hoisted out of trees hidden by <Activity>, preventing incorrect behavior.

2026-08-03DevTools took center stage this week with a redesigned Profiler and removal of the legacy Timeline tab, alongside a new Fizz bailout option.6 changes

Feature

New onBrowserBailout option for Fizz

Server rendering gained an option to be notified when the client takes over rendering mid-stream.

Feature

Component search in Profiler commits

The Profiler's commit view now lets you search for specific components instead of scrolling manually.

Chore

Timeline profiler tab removed

The old Timeline tab was removed from DevTools, with users pointed toward React Performance tracks instead.

Refactor

Profiler empty states redesigned

Empty Profiler screens were redesigned around a clear primary action so users know what to do next.

Fix

Conditional use warning enabled experimentally

A warning for conditionally calling the use() hook is now enabled on the experimental release channel.

Fix

DevTools error reporting deduplicated

Duplicate error reports from DevTools are now collapsed so issues aren't reported multiple times.

2026-07-27This week introduced the new ReactDOM browser() API and a cache-based warning for conditional use(), along with fixes for hangs and Fragment focus handling.6 changes

Feature

New ReactDOM browser() API

React DOM gained a browser() API for detecting information about the current browser environment.

Feature

Warning for conditional use() based on cache

React now warns when the use() hook is called conditionally, using cache information to detect it.

Fix

Fixed hang updating dehydrated boundary in hidden tree

Updating a server-rendered boundary inside a hidden tree no longer causes the app to freeze.

Fix

Blur focused descendants in Fragment refs

When a focused element inside a Fragment goes away, focus is properly cleared.

Feature

Pending state added to Flight thenable protocol

The Flight protocol gained a 'pending_weak' state so consumers can tell when a chunk is still loading.

Chore

React Native updated for 0.87 Strict API

React Native's private imports were updated to match the new 0.87 strict API requirements.

03 · Security check

Dependencies and code review

1500 dependencies scanned

Dependency advisories

Security Watch

No known advisories across 1500 scanned dependencies.

No known advisories in the scanned dependencies.

Code review

No concrete code-level issues confirmed.

Get this report every week for your repos.

GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.

$19 a month, flat · First 10 outputs free · No card required