react/react
The library for web and native user interfaces.
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
Frameworks
Infrastructure
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.
The week focused on making CI builds faster through background work and smarter sharding, plus performance tuning inside the React Compiler.
5 weeksWeek of 2026-08-24
Week of 2026-08-24latest
The week focused on making CI builds faster through background work and smarter sharding, plus performance tuning inside the React Compiler.
Week of 2026-08-17
This was a smaller week centered on memory-management fixes in server rendering (Flight/Fizz) and a Fragment cleanup fix.
Week of 2026-08-10
A 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.
Week of 2026-08-03
DevTools took center stage this week with a redesigned Profiler and removal of the legacy Timeline tab, alongside a new Fizz bailout option.
Week of 2026-07-27
This week introduced the new ReactDOM browser() API and a cache-based warning for conditional use(), along with fixes for hangs and Fragment focus handling.
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.
Dependencies and code review
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