Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
8074 commits
Select commit Hold shift + click to select a range
f247eba
[Flight] Walk parsed JSON instead of using reviver for parsing RSC pa…
timneutkens Feb 19, 2026
38cd020
Don't outline Suspense boundaries with suspensey CSS during shell flu…
gnoff Feb 19, 2026
2ba3065
[Flight] Add support for transporting `Error.cause` (#35810)
eps1lon Feb 19, 2026
b16b768
[compiler] Feature flag cleanup (#35825)
josephsavona Feb 20, 2026
ab18f33
Fix context propagation through suspended Suspense boundaries (#35839)
acdlite Feb 21, 2026
8b6b11f
[compiler] Remove fallback compilation pipeline dead code (#35827)
josephsavona Feb 23, 2026
0dbb43b
[compiler] Add fault tolerance plan document (#35872)
josephsavona Feb 23, 2026
eca778c
[compiler] Phase 1: Add error accumulation infrastructure to Environm…
josephsavona Feb 23, 2026
426a394
[compiler] Phase 2+7: Wrap pipeline passes in tryRecord for fault tol…
josephsavona Feb 23, 2026
e3e5d95
[compiler] Phase 4 (batch 1): Update validation passes to record erro…
josephsavona Feb 23, 2026
9b2d801
[compiler] Phase 4 (batch 2), 5, 6: Update remaining passes for fault…
josephsavona Feb 24, 2026
59d7c27
[compiler] Phase 8: Add multi-error test fixture and update plan (#35…
josephsavona Feb 24, 2026
d6558f3
[compiler] Phase 3: Make lower() always produce HIRFunction (#35878)
josephsavona Feb 24, 2026
cebe42e
[compiler] Add fault tolerance test fixtures (#35879)
josephsavona Feb 24, 2026
8a33fb3
[compiler] Cleanup: consistent tryRecord() wrapping and error recordi…
josephsavona Feb 24, 2026
9075330
[compiler] Remove tryRecord, add catch-all error handling, fix remain…
josephsavona Feb 24, 2026
2e0927d
[compiler] Remove local CompilerError accumulators, emit directly to …
josephsavona Feb 24, 2026
011cede
[compiler] Rename mismatched variable names after type changes (#35883)
josephsavona Feb 24, 2026
c92c579
[compiler] Fix Pipeline.ts early-exit, formatting, and style issues (…
josephsavona Feb 24, 2026
b354bbd
[compiler] Update docs with fault tolerance summary, remove planning …
josephsavona Feb 24, 2026
bd76b45
[DevTools] Fix ReactDevToolsBackend module for AMD (#35891)
fullstackhacker Feb 24, 2026
c0060cf
[DevTools] Enable support for the React DevTools Client to connect to…
fullstackhacker Feb 24, 2026
e33071c
[compiler] Improved ref validation for non-mutating functions (#35893)
josephsavona Feb 24, 2026
074d96b
[flags] land `enableTrustedTypesIntegration` (#35816)
rickhanlonii Feb 25, 2026
a48e9e3
[RN] Fix timeStamp property of SyntheticEvent in React Native (#35912)
rubennorte Feb 26, 2026
98ce535
[RN] Expose event as a global variable during dispatch (#35913)
rubennorte Feb 26, 2026
6b113b7
[compiler] Deduplicate errors between ValidateExhaustiveDependencies …
josephsavona Feb 26, 2026
b4a8d29
fix: remove unused variable to fix linter (#35919)
hoxyq Feb 26, 2026
843d69f
[react-dom] Support `maskType` SVG prop (#35921)
sleitor Feb 27, 2026
e0cc720
[flags] Clean up `enableHiddenSubtreeInsertionEffectCleanup` (#35918)
hoxyq Feb 27, 2026
93a3935
[DevTools] Only schedule a single update per Supense when changing ti…
eps1lon Mar 3, 2026
aac12ce
[DevTools] chore: extract pure functions from fiber/renderer.js (#35924)
hoxyq Mar 3, 2026
4cc5b7a
Add support for event information in React scheduler tracks in React …
rubennorte Mar 3, 2026
e6f1c33
[Fiber] Don't warn when rendering data block scripts (#35953)
eps1lon Mar 3, 2026
9c0323e
Stabilize reactFragments host node handle (#35642)
jackpope Mar 3, 2026
4b568a8
[DevTools] Improve type coverage for extension runtime API (#35957)
eps1lon Mar 4, 2026
23b2d85
[DevTools] Don't connect to pages that are being prerendered (#35958)
eps1lon Mar 4, 2026
ee4699f
[noop] Fail tests on unasserted recoverable errors (#35948)
eps1lon Mar 4, 2026
5e42791
[noop] Typecheck `react-noop-renderer` against host config and render…
eps1lon Mar 4, 2026
3bc2d41
[noop] Fix `createContainer` argument order in the Fiber implementati…
eps1lon Mar 4, 2026
93882bd
[errors] s/form state/action state (#35790)
rickhanlonii Mar 4, 2026
4610359
[DevTools] Fix null ref crash in ContextMenu when items list is empty…
fresh3nough Mar 5, 2026
014138d
[DevTools] Fix a crash when rendering a new class Component when simu…
eps1lon Mar 10, 2026
7b5b561
[DevTools] Ignore new production renderers if we already use "worse" …
eps1lon Mar 11, 2026
b5f0178
Bump jws from 3.2.2 to 3.2.3 (#35373)
dependabot[bot] Mar 12, 2026
96005e4
Bump qs from 6.4.0 to 6.4.1 in /fixtures/packaging/webpack/prod (#35432)
dependabot[bot] Mar 12, 2026
bae6dd0
Bump qs from 6.4.0 to 6.4.1 in /fixtures/packaging/webpack-alias/dev …
dependabot[bot] Mar 12, 2026
a74302c
Bump undici from 6.21.2 to 6.23.0 in /compiler (#35512)
dependabot[bot] Mar 12, 2026
1e31523
Enable Fragment Ref flags across builds (#36026)
jackpope Mar 12, 2026
5e9eedb
[Flight] Clear chunk reason after successful module initialization (#…
unstubbable Mar 12, 2026
8f41506
[DevTools] fix: don't show empty suspended by section (#36011)
hoxyq Mar 12, 2026
c80a075
Fix focus set for delegated and already focused elements (#36010)
jackpope Mar 12, 2026
12ba7d8
[Flight Reply] Early bailout if backing entry for Blob deserializatio…
eps1lon Mar 17, 2026
3f0b9e6
Update CSS shorthand property list (#35636)
kidonng Mar 17, 2026
b4546cd
[enableInfiniteRenderLoopDetection] Warn about potential infinite loo…
hoxyq Mar 18, 2026
d594643
Turn on enableViewTransition for RN FB build (#36106)
jackpope Mar 19, 2026
6a04c36
Enables Basic View Transition support for React Native Fabric rendere…
zeyap Mar 19, 2026
8b2e903
[DevTools] chore: extract getInternalReactConstants (#35986)
hoxyq Mar 20, 2026
ed69815
[DevTools] feat: display subtree for Activity and dim in hidden mode …
hoxyq Mar 23, 2026
c0d218f
Fix useDeferredValue getting stuck (#36134)
gaearon Mar 24, 2026
c0c29e8
Fix typos in the documentation (#35439)
rahul24salunke Mar 24, 2026
3cb2c42
Add ReactFeatureFlags support to eprh (#35951)
jackpope Mar 25, 2026
ba833da
Fix typo: accomodate -> accommodate (#35623)
bodhisilberling Mar 27, 2026
2233b7d
Fix typos: explicitlyu->explicitly, intialized->initialized (#35621)
bodhisilberling Mar 27, 2026
677818e
Fix typos in tests and comments (#35627)
o-m12a Mar 27, 2026
f944b4c
Fix typos in comments (#35701)
pavan-sh Mar 27, 2026
9627b5a
[Fiber] Fix context propagation into Suspense fallbacks (#36160)
acdlite Mar 27, 2026
74568e8
[Flight] Transport `AggregateErrors.errors` (#36156)
eps1lon Mar 29, 2026
2c2fd9d
[compiler][playground] parse compiler configs using json5 (#36159)
mofeiZ Mar 30, 2026
044d56f
docs: fix typos and improve abbreviation usage in DESIGN_GOALS.md (#3…
alideniztartma Mar 30, 2026
80b1cab
Fix typos: occured->occurred, teh->the, accomodate->accommodate (#35616)
bodhisilberling Mar 31, 2026
1b45e24
Add Flight SSR benchmark fixture (#36180)
unstubbable Apr 2, 2026
0c44b96
[DevTools] Remove spurious warnings when creating Suspense timeline f…
eps1lon Apr 8, 2026
808e7ed
[compiler] Fix set-state-in-effect false negative with NewExpression …
sleitor Apr 8, 2026
404b38c
[Flight] Add more cycle protections (#36236)
eps1lon Apr 8, 2026
733d3aa
Fix FB_WWW eprh bundle dev guard (#36238)
jackpope Apr 8, 2026
705268d
Fix require('ReactFeatureFlags') in eslint-plugin-react-hooks www bui…
EugeneChoi4 Apr 9, 2026
fef12a0
fix: explicitly warn for infinite loops discovered only via enableInf…
hoxyq Apr 13, 2026
5682442
[react-native-renderer] EventTarget-based event dispatching (#36253)
rubennorte Apr 14, 2026
0418c8a
[RN] Move new event dispatching pipeline to RN (#36266)
rubennorte Apr 14, 2026
00f063c
[test] Make `enableSuspenseyImages` dynamic (#36274)
eps1lon Apr 15, 2026
56922cf
[react-native-renderer] Delete Paper (legacy) renderer (#36285)
rubennorte Apr 16, 2026
ea67920
[Fizz] prevent reentrant finishedTask from calling completeAll multip…
gnoff Apr 16, 2026
fe51601
Wire up startViewTransitionReadyFinished in Fabric (#36246)
zeyap Apr 16, 2026
f6fe427
Wire up createViewTransitionInstance and suspendOnActiveViewTransitio…
zeyap Apr 16, 2026
4b073f4
[Fizz] add additional task reentrancy protections (#36291)
gnoff Apr 16, 2026
77319e2
[eprh] Update changelog for 7.1.0 (#36292)
mofeiZ Apr 16, 2026
bf45a68
Remove legacy Paper renderer shim cleanup from artifact commit workfl…
zeyap Apr 17, 2026
23fcd7c
Minify prod error messages for all browser bundles (#36277)
eps1lon Apr 17, 2026
67e4759
[Fiber] Double invoke Effects in Strict Mode during Hydration (#35961)
eps1lon Apr 17, 2026
da9325b
[Fiber] Double invoke Effects in StrictMode after Fast Refresh (#35962)
eps1lon Apr 17, 2026
bc24980
[eprh] Add back a no-op for removed component-hook-factories rule (#3…
mofeiZ Apr 17, 2026
d1727fb
[eprh] Update changelog for 7.1.1 (#36308)
mofeiZ Apr 17, 2026
1ddff43
Add null check before calling fabricSuspendOnActiveViewTransition (#3…
zeyap Apr 17, 2026
3ee1fe4
Fix contributor attribution for ESLint v10 support
jackpope Apr 20, 2026
306a01b
Add credentialless as a recognized boolean attribute for iframes (#36…
vmx906 Apr 20, 2026
94643c3
Suggest correct casing for misspelled credentialless iframe attribute…
vmx906 Apr 21, 2026
142cfde
Fix FragmentInstance listener leak: normalize boolean vs object captu…
Dhakshin2007 Apr 22, 2026
561ed52
Fix formatting (#36332)
eps1lon Apr 23, 2026
ad5dfc8
Add react-flight-server-fb package for Meta's internal bundler (#36309)
imdreamrunner Apr 27, 2026
f4e0d4e
[enableInfiniteRenderLoopDetection] Add a flag to force throwing (#36…
hoxyq Apr 29, 2026
4f273bd
fix(devtools): clear highlight when mouse leaves DevTools panel (#36177)
petertdinh May 2, 2026
9635257
[DevTools] Preserve -Infinity in inspected values (#36347)
zxuhan May 2, 2026
dd45307
[FlightReply] Type hardening and performance improvements (#36425)
eps1lon May 6, 2026
d5736f0
[Fiber] track stylesheet preloads when explicitly preloaded (#36386)
gnoff May 7, 2026
8fc5763
fix[describeClassComponentFrame]: invoke constructor with new keyword…
hoxyq May 13, 2026
f6790c1
Add ViewTransition event callback unit tests (#36467)
jackpope May 14, 2026
b91823e
[FlightReply] Don't drop FormData entries in `decodeReplyFromBusboy` …
unstubbable May 14, 2026
008a6d4
[compiler] Don't emit spurious `import { c as _c }` for discarded fun…
poteto May 21, 2026
926fa85
[ci] Remove redundant node_modules caches (#36457)
eps1lon May 26, 2026
75b0945
Unified release process (#36456)
eps1lon May 26, 2026
37fa36c
[Fizz] Fix crash when capturing the callsite of a stalled use() of a …
lubieowoce May 26, 2026
cafd63b
Stop transpiling computed property names (#36542)
eps1lon May 26, 2026
c0cd4d5
Throw special error if rejected Promises are incorrectly instrumented…
eps1lon May 27, 2026
75ae73e
[ci] Allow CI on backport branches (#36551)
eps1lon May 27, 2026
c014813
[Flight] Fix stranded row content under Node stream backpressure (#36…
unstubbable May 27, 2026
6b5ea12
[ci] Create artifact attestations for builds on backport branches (#3…
eps1lon May 28, 2026
f0dfee3
[Flight] Avoid main-thread stalls from large debug strings (#36570)
unstubbable May 29, 2026
f1af67e
[Fizz] Do not allow abort reentrancy (#36574)
gnoff May 30, 2026
f39ed9f
[Fizz] Continue reporting aborted task errors after a fatal abort (#3…
gnoff May 30, 2026
05ca66a
[Fizz] model fb bundle's external work scheduling explicitly (#36576)
gnoff May 30, 2026
ddcb58f
[Fizz] Track abort state on Request (#36583)
gnoff May 31, 2026
de8e005
[Fizz] Fix aborts during resumed rendering (#36584)
gnoff May 31, 2026
3c882b4
[Fizz] Finish abort in a scheduled task (#36580)
gnoff Jun 1, 2026
557e28f
[Fizz] Abort tasks that suspend after aborting during render (#36585)
gnoff Jun 1, 2026
63e95c2
[flags] Cleanup `enableActivity` (#36603)
eps1lon Jun 3, 2026
43bcbf8
[Fizz] Allow Pending Work to Specialize Abort Reasons (#36586)
gnoff Jun 3, 2026
fbb1370
[flow] Bump flow to v0.307.1 (#36199)
SamChou19815 Jun 5, 2026
900ae09
[flow] Bump flow to v0.317.0 (#36701)
SamChou19815 Jun 5, 2026
03e7755
[compiler] Port React Compiler to Rust (#36173)
josephsavona Jun 9, 2026
7e71552
[rust-compiler] Add release profile: fat LTO, one codegen unit, strip…
poteto Jun 9, 2026
34b78a2
[rust-compiler] Drop the regex dependency from the napi binary (#36727)
poteto Jun 9, 2026
ae6fe8a
[rust-compiler] Return the compiled AST by value instead of JSON (#36…
poteto Jun 11, 2026
b49e041
[rust-compiler] Carry uninspected AST subtrees as raw JSON text (#36730)
poteto Jun 11, 2026
d3da200
[compiler] Remove OXC and SWC plugins in favor of them being handled …
mvitousek Jun 11, 2026
dbc3750
Update required references to GitHub repo (#36752)
eps1lon Jun 12, 2026
e730b5e
[flow] Update files synced to react-native to use modern flow syntax …
SamChou19815 Jun 12, 2026
bf76955
[DevTools] Extract getDispatcherRef and fork inspectHooks() to avoid …
hoxyq Jun 15, 2026
d915891
[Flight] Prune debug info when chunks error (#36782)
gnoff Jun 15, 2026
0038f63
[rust-compiler] Represent string values as JsString (WTF-16 aware) (#…
poteto Jun 16, 2026
ad78e25
[Flight] Resolve models before JSON.stringify (#36795)
mhart Jun 16, 2026
a7cce7b
[Fizz] Preserve referrerPolicy in image preload headers (#36803)
ulises-jeremias Jun 17, 2026
77df6e1
[react-devtools-facade] 1/ scaffold package + installFacade building …
hoxyq Jun 17, 2026
0ca9d20
[compiler] Count loop reassignments as the enclosing scope reassignin…
poteto Jun 17, 2026
560db51
[rust-compiler] Switch to hmac-sha256 and bump napi/similar (#36809)
Boshen Jun 17, 2026
b1786c3
[Fizz] Finalize postponed nextSegmentId after the prelude flush (#36779)
gaojude Jun 18, 2026
fb2cfa0
[react-devtools-facade] 2/ implement component tree tools (#36597)
hoxyq Jun 18, 2026
0653fcc
[react-devtools-facade] 3/ implement profiler tools (#36598)
hoxyq Jun 18, 2026
552037d
[react-devtools-facade] 4/ multi-root and multi-renderer tests (#36599)
hoxyq Jun 18, 2026
e92ecef
[react-devtools-facade] 5/ support an already-installed DevTools hook…
hoxyq Jun 18, 2026
247fbb4
[Fizz] Fix non-script modulepreload tracking (#36564)
fallintoplace Jun 22, 2026
53b5c3c
[react-devtools] Fix trailing percent sign in formatConsoleArguments …
UditDewan Jun 22, 2026
06b2a50
[rust-compiler] Use rustc-hash FxHasher for all maps and sets (#36811)
Boshen Jun 22, 2026
8a5274d
Cleanup enableEagerAlternateStateNodeCleanup feature flag (#35508)
javache Jun 23, 2026
99e8606
Avoid HTML injection in standalone errors (#36839)
fallintoplace Jun 23, 2026
39c2c1d
[Float] Support `fetchPriority` for module resources (#36835)
TheAlexLichter Jun 24, 2026
e2659d9
[Flight] Tailor the warning for binary data with a toJSON (Node Buffe…
unstubbable Jun 24, 2026
76caf32
[test] Assert aborted Replies reject Promises (#36862)
fallintoplace Jun 25, 2026
c5de85a
[scripts] Fix Linux benchmark xvfb startup (#36860)
fallintoplace Jun 25, 2026
1b7ae3a
[scripts] Fix release channel artifact cleanup for local builds (#36859)
fallintoplace Jun 25, 2026
3c3bcea
[react-devtools-facade] consolidate owner stack tools naming (#36871)
hoxyq Jun 25, 2026
52912a1
[DevTools] Add ignore-listed stack frame disclosure (#36828)
devjiwonchoi Jun 25, 2026
68631c0
[scripts] Fix missing VERSION_NATIVE_FB in commit artifacts (#36889)
javache Jun 26, 2026
6befd1a
[Float] Forward `nonce` option in `ReactDOM.preloadModule()` (#36851)
UditDewan Jun 29, 2026
cb71f2e
[test] Add coverage for multi-byte code units in stream APIs (#36900)
eps1lon Jun 29, 2026
92f4fda
[changelog] Add 19.0.x, 19.1.x, 19.2.x patch releases (#36898)
eps1lon Jun 29, 2026
d4e4454
[react-devtools-facade] Add includeHooks option to component lookup (…
hoxyq Jun 29, 2026
9c1f097
[compiler] Restore code frames in ESLint compiler error messages (#36…
javache Jun 30, 2026
82043d7
[test] Use awaited `serverAct` to drive task loop (#36908)
eps1lon Jun 30, 2026
3a620bb
[compiler] Ensure builds use the current checkout's compiler (#36881)
eps1lon Jun 30, 2026
d0d623d
[react-devtools-cdt-mcp] chrome-devtools-mcp integration (#36600)
hoxyq Jun 30, 2026
e273131
[react-devtools-facade] add host instance component lookup (#36820)
hoxyq Jun 30, 2026
2c8b735
[react-devtools-cdt-mcp] add DOM element component lookup (#36822)
hoxyq Jun 30, 2026
c3555f0
Fix: Treat incomplete tree as an error during recovery (#36911)
acdlite Jun 30, 2026
a1a6bc8
[Fizz] Stop firing `onAllReady` after the shell errored (#36903)
eps1lon Jul 1, 2026
7df975a
[react-devtools-cdt-mcp] add chrome-devtools E2E coverage (#36823)
hoxyq Jul 1, 2026
ec0fca3
Add parentEnter/parentExit props to ViewTransition (#36690)
jackpope Jul 1, 2026
7a7e893
[compiler] Fix failing Rust compiler test case for todo-locally-requi…
mvitousek Jul 2, 2026
6ca51ab
[react-devtools-cdt-mcp] run E2E tests in CI (#36824)
hoxyq Jul 2, 2026
7ce677d
[Fizz] Guard the shell-error callbacks instead of nulling them out on…
eps1lon Jul 2, 2026
3508aee
[react-devtools] add parent stack tool (#36825)
hoxyq Jul 2, 2026
e71a639
[Perf Tracks] Don't enumerate typed array props in dev (#36913)
UditDewan Jul 2, 2026
00bacde
[react-devtools] substitute %i and %f in console format strings (#36929)
anxkhn Jul 6, 2026
aa43b0f
[react-devtools] Keep console specifiers literal when no argument is …
anxkhn Jul 6, 2026
4f93894
docs: remove stale parentType param from validateChildKeys JSDoc (#36…
anxkhn Jul 6, 2026
4b5d1c9
[DevTools] Fix printOperationsArray decode of applied activity slice …
anxkhn Jul 6, 2026
5afc23a
[DevTools] Make component search results directly navigable (#36786)
Biki-das Jul 6, 2026
23def8f
fix[flow]: apply new type cast syntax (#36938)
hoxyq Jul 6, 2026
08725f2
[compiler]: add `useWindowVirtualizer` to known incompatible librarie…
gtkatakura Jul 6, 2026
fc08d76
[compiler] Fix JSX tags prefixed with `_` or `$` incorrectly treated …
sleitor Jul 7, 2026
91cd812
[DevTools] Fix WhatChanged scrolling out of view in profiler sidebar …
Kertsu Jul 7, 2026
b8f50c9
[Fiber] Don't set .innerHTML when it hasn't changed (#36949)
sophiebits Jul 7, 2026
129154c
[Fiber] Don't invoke effects on moved children in StrictMode (#36948)
sophiebits Jul 7, 2026
12a4bae
[compiler] Port JSX tag classification fix to Rust (not-lowercase is …
poteto Jul 7, 2026
eb343c7
[Fast Refresh] Remount correctly when an edit changes the component k…
sophiebits Jul 7, 2026
5a90a5a
[compiler] Bail out with Todo on using and await using declarations (…
poteto Jul 8, 2026
3039f5d
[Flight] Recognize Node 22+ V8 frames for Promise statics in debug in…
gaearon Jul 8, 2026
994ebf9
[Fixture] flight-ssr-bench: drain immediates between iterations to fi…
gaearon Jul 8, 2026
e3e813d
[test] Fix Error Proxy stack assignment in Node.js 21+ (#36967)
gaearon Jul 8, 2026
df4bd1b
[Fast Refresh] Unify hot reload type resolution (#36962)
sophiebits Jul 8, 2026
3b9b59f
[Fast Refresh] Derive the fiber tag from the resolved type when mount…
sophiebits Jul 8, 2026
4400d6c
[Fast Refresh] Make edits to a memo comparison function take effect (…
sophiebits Jul 8, 2026
5123b06
[Fast Refresh] Find and remount wrapper edits behind lazy() (#36965)
sophiebits Jul 8, 2026
c0c39a6
[Fiber] Update input.defaultValue for type=number too (#36980)
sophiebits Jul 10, 2026
7023f50
[DevTools] Don't reconnect proxy port while page is prerendering (#37…
Saransh-Jainbu Jul 14, 2026
b740af2
Clean up flag to enable microtasks in RN (#37021)
rubennorte Jul 15, 2026
71ecaf8
[test] Add Flight regression test for async debug info surviving Prom…
eps1lon Jul 16, 2026
0e516d3
[devtools] Document that Store consistency throws must not be worked …
eps1lon Jul 16, 2026
cec5a9b
Enable enableEffectEventMutationPhase everywhere (#37039)
hoxyq Jul 16, 2026
95f4603
[react-devtools-cdt-mcp] Throw on import from unsupported environment…
hoxyq Jul 16, 2026
58a6360
[Fiber] Fix false-positive hydration mismatch on `nonce` attributes (…
MaxwellCohen Jul 16, 2026
1135438
[react-devtools-cdt-mcp] Make registration idempotent (#36971)
hoxyq Jul 16, 2026
f598ec1
[react-devtools-cdt-mcp] Add explicit register entry (#36972)
hoxyq Jul 16, 2026
172742b
[react-devtools-cdt-mcp] Make it esm-only package (#36973)
hoxyq Jul 16, 2026
689a4fa
[Fizz] Extend stack overflow recovery to retries (#36977)
jackpope Jul 19, 2026
2ba07c6
[DOM] Scroll to text siblings of empty Fragments instead of the paren…
eps1lon Jul 19, 2026
8384090
[Fizz] Support nested enter/exit ViewTransition animations (#36917)
jackpope Jul 19, 2026
fa5212c
[DOM] Handle scrolling of empty Fragments below containers (#37061)
eps1lon Jul 20, 2026
2860e00
[Fiber] Detect useSyncExternalStore mutations missed while Activity t…
sophiebits Jul 21, 2026
862e275
[DOM] Handle blur on Fragments below `Document` (#37062)
eps1lon Jul 21, 2026
81e442e
[FlightReply] Performance improvements when decoding (#37090)
gnoff Jul 21, 2026
711c445
[Flight] Limit fake JSX call site stacks to 10 frames (#37086)
timneutkens Jul 22, 2026
32b1fba
[react-server-dom-turbopack] Support experimental array format for ch…
sampoder Jul 22, 2026
8d30cc9
[DevTools] Type EventEmitter error handling (#37048)
hoxyq Jul 23, 2026
218efce
[DevTools] Shut down standalone Bridge on socket close (#37076)
hoxyq Jul 23, 2026
fc08438
[DevTools] Harden Bridge and Wall lifecycle types (#37049)
hoxyq Jul 23, 2026
d87711f
[DevTools] Validate Store operation invariants (#37050)
hoxyq Jul 23, 2026
28cd4bb
[DevTools] Buffer Bridge messages during extension reconnects (#37075)
hoxyq Jul 23, 2026
b685b40
[Fiber] only remove properties from singletons on release (#37112)
gnoff Jul 24, 2026
dcd4ec2
[Bench] Add JSON output and declare missing dependency (#37127)
gaearon Jul 26, 2026
756fdd4
[Fiber] Don't reaquire HostSingletons during dev effect validation (#…
gnoff Jul 27, 2026
9ceb1e7
[Flight] Define Flight chunk `.then` with `Object.defineProperty` (#3…
eps1lon Jul 27, 2026
96fcba9
[RN] Update ReactPrivate and InitializeCore imports (0.87 Strict API)…
huntie Jul 28, 2026
9a81195
[Fiber] Fix hang when updating a dehydrated boundary inside a hidden …
gaearon Jul 28, 2026
1724e9c
[DOM] Blur focused descendants in Fragment refs (#37125)
fallintoplace Jul 29, 2026
6cb4322
[Flight] Port ReplyServer traversal guards to FlightClient (#37144)
eps1lon Jul 29, 2026
15f7cd6
Add ReactDOM `browser()` API (#37143)
gnoff Jul 30, 2026
c56a449
[DevTools] Remove FlowFixMe from extension lifecycle (#37152)
hoxyq Jul 30, 2026
7acf005
[DevTools] Create extension panels before React detection (#37151)
hoxyq Jul 30, 2026
0f42eac
[DevTools] Reset extension backend on pagehide (#37155)
hoxyq Jul 30, 2026
cbb046a
[Fiber] Warn for Conditional Use of use() Based on Cache (#37104)
hoxyq Jul 31, 2026
9b5b4d5
[Flight] Add 'pending_weak' to Flight thenable protocol (#37154)
acdlite Jul 31, 2026
3a717e4
[Fiber] Collect Host Singleton children of Fragments (#37063)
eps1lon Jul 31, 2026
35a0622
[DevTools] Deduplicate error reporting (#37137)
hoxyq Aug 3, 2026
0011363
[DevTools] Redesign the Profiler empty states around a primary action…
hoxyq Aug 3, 2026
c7cab66
[DevTools] Remove Timeline profiler tab, suggest React Performance tr…
hoxyq Aug 3, 2026
7dfc7cc
[DevTools] Remove the dead Timeline profiler code (#37187)
hoxyq Aug 3, 2026
11eddec
[Devtools] Added component search to the Profiler's commit view (#36944)
Biki-das Aug 5, 2026
1d4758e
[flags] Enable conditional use warning for experimental release chann…
eps1lon Aug 5, 2026
ec61f18
DevTools: Fix nested HOC name extraction in extractHOCNames (#37215)
Biki-das Aug 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
538 changes: 0 additions & 538 deletions .circleci/config.yml

This file was deleted.

46 changes: 46 additions & 0 deletions .claude/instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# React

**Scope**: All code EXCEPT `/compiler/` (compiler has its own instructions).

## Project Structure

| Directory | Purpose |
|-----------|---------|
| `/packages/` | Publishable packages (react, react-dom, scheduler, etc.) |
| `/scripts/` | Build, test, and development scripts |
| `/fixtures/` | Test applications for manual testing |
| `/compiler/` | React Compiler (separate sub-project) |

## Key Packages

| Package | Purpose |
|---------|---------|
| `react` | Core React library |
| `react-dom` | DOM renderer |
| `react-reconciler` | Core reconciliation algorithm |
| `scheduler` | Cooperative scheduling |
| `react-server-dom-*` | Server Components |
| `react-devtools-*` | Developer Tools |
| `react-refresh` | Fast Refresh runtime |

## Requirements

- **Node**: Must be installed. Stop and prompt user if missing.
- **Package Manager**: Use `yarn` only.

## Verification

**IMPORTANT**: Use `/verify` to validate all changes before committing.

## Commands

| Command | Purpose |
|----------|----------------------|
| `/fix` | Lint and format code |
| `/test` | Run tests |
| `/flow` | Type check with Flow |
| `/flags` | Check feature flags |

## Building

Builds are handled by CI. Do not run locally unless instructed.
44 changes: 44 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"hooks": {
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "if [[ \"$PWD\" != */compiler* ]]; then cat .claude/instructions.md 2>/dev/null || true; fi"
}
]
}
]
},
"permissions": {
"allow": [
"Skill(extract-errors)",
"Skill(feature-flags)",
"Skill(fix)",
"Skill(flags)",
"Skill(flow)",
"Skill(test)",
"Skill(verify)",
"Bash(yarn test:*)",
"Bash(yarn test-www:*)",
"Bash(yarn test-classic:*)",
"Bash(yarn test-stable:*)",
"Bash(yarn linc:*)",
"Bash(yarn lint:*)",
"Bash(yarn flow:*)",
"Bash(yarn prettier:*)",
"Bash(yarn build:*)",
"Bash(yarn extract-errors:*)",
"Bash(yarn flags:*)"
],
"deny": [
"Bash(yarn download-build:*)",
"Bash(yarn download-build-for-head:*)",
"Bash(npm:*)",
"Bash(pnpm:*)",
"Bash(bun:*)",
"Bash(npx:*)"
]
}
}
12 changes: 12 additions & 0 deletions .claude/skills/extract-errors/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
name: extract-errors
description: Use when adding new error messages to React, or seeing "unknown error code" warnings.
---

# Extract Error Codes

## Instructions

1. Run `yarn extract-errors`
2. Report if any new errors need codes assigned
3. Check if error codes are up to date
79 changes: 79 additions & 0 deletions .claude/skills/feature-flags/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
name: feature-flags
description: Use when feature flag tests fail, flags need updating, understanding @gate pragmas, debugging channel-specific test failures, or adding new flags to React.
---

# React Feature Flags

## Flag Files

| File | Purpose |
|------|---------|
| `packages/shared/ReactFeatureFlags.js` | Default flags (canary), `__EXPERIMENTAL__` overrides |
| `packages/shared/forks/ReactFeatureFlags.www.js` | www channel, `__VARIANT__` overrides |
| `packages/shared/forks/ReactFeatureFlags.native-fb.js` | React Native, `__VARIANT__` overrides |
| `packages/shared/forks/ReactFeatureFlags.test-renderer.js` | Test renderer |

## Gating Tests

### `@gate` pragma (test-level)

Use when the feature is completely unavailable without the flag:

```javascript
// @gate enableViewTransition
it('supports view transitions', () => {
// This test only runs when enableViewTransition is true
// and is SKIPPED (not failed) when false
});
```

### `gate()` inline (assertion-level)

Use when the feature exists but behavior differs based on flag:

```javascript
it('renders component', async () => {
await act(() => root.render(<App />));

if (gate(flags => flags.enableNewBehavior)) {
expect(container.textContent).toBe('new output');
} else {
expect(container.textContent).toBe('legacy output');
}
});
```

## Adding a New Flag

1. Add to `ReactFeatureFlags.js` with default value
2. Add to each fork file (`*.www.js`, `*.native-fb.js`, etc.)
3. If it should vary in www/RN, set to `__VARIANT__` in the fork file
4. Gate tests with `@gate flagName` or inline `gate()`

## Checking Flag States

Use `/flags` to view states across channels. See the `flags` skill for full command options.

## `__VARIANT__` Flags (GKs)

Flags set to `__VARIANT__` simulate gatekeepers - tested twice (true and false):

```bash
/test www <pattern> # __VARIANT__ = true
/test www variant false <pattern> # __VARIANT__ = false
```

## Debugging Channel-Specific Failures

1. Run `/flags --diff <channel1> <channel2>` to compare values
2. Check `@gate` conditions - test may be gated to specific channels
3. Run `/test <channel> <pattern>` to isolate the failure
4. Verify flag exists in all fork files if newly added

## Common Mistakes

- **Forgetting both variants** - Always test `www` AND `www variant false` for `__VARIANT__` flags
- **Using @gate for behavior differences** - Use inline `gate()` if both paths should run
- **Missing fork files** - New flags must be added to ALL fork files, not just the main one
- **Wrong gate syntax** - It's `gate(flags => flags.name)`, not `gate('name')`
17 changes: 17 additions & 0 deletions .claude/skills/fix/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: fix
description: Use when you have lint errors, formatting issues, or before committing code to ensure it passes CI.
---

# Fix Lint and Formatting

## Instructions

1. Run `yarn prettier` to fix formatting
2. Run `yarn linc` to check for remaining lint issues
3. Report any remaining manual fixes needed

## Common Mistakes

- **Running prettier on wrong files** - `yarn prettier` only formats changed files
- **Ignoring linc errors** - These will fail CI, fix them before committing
39 changes: 39 additions & 0 deletions .claude/skills/flags/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
name: flags
description: Use when you need to check feature flag states, compare channels, or debug why a feature behaves differently across release channels.
---

# Feature Flags

Arguments:
- $ARGUMENTS: Optional flags

## Options

| Option | Purpose |
|--------|---------|
| (none) | Show all flags across all channels |
| `--diff <ch1> <ch2>` | Compare flags between channels |
| `--cleanup` | Show flags grouped by cleanup status |
| `--csv` | Output in CSV format |

## Channels

- `www`, `www-modern` - Meta internal
- `canary`, `next`, `experimental` - OSS channels
- `rn`, `rn-fb`, `rn-next` - React Native

## Legend

✅ enabled, ❌ disabled, 🧪 `__VARIANT__`, 📊 profiling-only

## Instructions

1. Run `yarn flags $ARGUMENTS`
2. Explain the output to the user
3. For --diff, highlight meaningful differences

## Common Mistakes

- **Forgetting `__VARIANT__` flags** - These are tested both ways in www; check both variants
- **Comparing wrong channels** - Use `--diff` to see exact differences
30 changes: 30 additions & 0 deletions .claude/skills/flow/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: flow
description: Use when you need to run Flow type checking, or when seeing Flow type errors in React code.
---

# Flow Type Checking

Arguments:
- $ARGUMENTS: Renderer to check (default: dom-node)

## Renderers

| Renderer | When to Use |
|----------|-------------|
| `dom-node` | Default, recommended for most changes |
| `dom-browser` | Browser-specific DOM code |
| `native` | React Native |
| `fabric` | React Native Fabric |

## Instructions

1. Run `yarn flow $ARGUMENTS` (use `dom-node` if no argument)
2. Report type errors with file locations
3. For comprehensive checking (slow), use `yarn flow-ci`

## Common Mistakes

- **Running without a renderer** - Always specify or use default `dom-node`
- **Ignoring suppressions** - Check if `$FlowFixMe` comments are masking real issues
- **Missing type imports** - Ensure types are imported from the correct package
46 changes: 46 additions & 0 deletions .claude/skills/test/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
name: test
description: Use when you need to run tests for React core. Supports source, www, stable, and experimental channels.
---

Run tests for the React codebase.

Arguments:
- $ARGUMENTS: Channel, flags, and test pattern

Usage Examples:
- `/test ReactFiberHooks` - Run with source channel (default)
- `/test experimental ReactFiberHooks` - Run with experimental channel
- `/test www ReactFiberHooks` - Run with www-modern channel
- `/test www variant false ReactFiberHooks` - Test __VARIANT__=false
- `/test stable ReactFiberHooks` - Run with stable channel
- `/test classic ReactFiberHooks` - Run with www-classic channel
- `/test watch ReactFiberHooks` - Run in watch mode (TDD)

Release Channels:
- `(default)` - Source/canary channel, uses ReactFeatureFlags.js defaults
- `experimental` - Source/experimental channel with __EXPERIMENTAL__ flags = true
- `www` - www-modern channel with __VARIANT__ flags = true
- `www variant false` - www channel with __VARIANT__ flags = false
- `stable` - What ships to npm
- `classic` - Legacy www-classic (rarely needed)

Instructions:
1. Parse channel from arguments (default: source)
2. Map to yarn command:
- (default) → `yarn test --silent --no-watchman <pattern>`
- experimental → `yarn test -r=experimental --silent --no-watchman <pattern>`
- stable → `yarn test-stable --silent --no-watchman <pattern>`
- classic → `yarn test-classic --silent --no-watchman <pattern>`
- www → `yarn test-www --silent --no-watchman <pattern>`
- www variant false → `yarn test-www --variant=false --silent --no-watchman <pattern>`
3. Report test results and any failures

Hard Rules:
1. **Use --silent to see failures** - This limits the test output to only failures.
2. **Use --no-watchman** - This is a common failure in sandboxing.

Common Mistakes:
- **Running without a pattern** - Runs ALL tests, very slow. Always specify a pattern.
- **Forgetting both www variants** - Test `www` AND `www variant false` for `__VARIANT__` flags.
- **Test skipped unexpectedly** - Check for `@gate` pragma; see `feature-flags` skill.
24 changes: 24 additions & 0 deletions .claude/skills/verify/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: verify
description: Use when you want to validate changes before committing, or when you need to check all React contribution requirements.
---

# Verification

Run all verification steps.

Arguments:
- $ARGUMENTS: Test pattern for the test step

## Instructions

Run these first in sequence:
1. Run `yarn prettier` - format code (stop if fails)
2. Run `yarn linc` - lint changed files (stop if fails)

Then run these with subagents in parallel:
1. Use `/flow` to type check (stop if fails)
2. Use `/test` to test changes in source (stop if fails)
3. Use `/test www` to test changes in www (stop if fails)

If all pass, show success summary. On failure, stop immediately and report the issue with suggested fixes.
15 changes: 9 additions & 6 deletions .codesandbox/ci.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
{
"packages": ["packages/react", "packages/react-dom", "packages/scheduler"],
"buildCommand": "build --type=NODE react/index,react-dom/index,react-dom/server,react-dom/test-utils,scheduler/index,scheduler/tracing",
"packages": ["packages/react", "packages/react-dom", "packages/react-server-dom-webpack", "packages/scheduler"],
"buildCommand": "download-build-in-codesandbox-ci",
"node": "20",
"publishDirectory": {
"react": "build/node_modules/react",
"react-dom": "build/node_modules/react-dom",
"scheduler": "build/node_modules/scheduler"
"react": "build/oss-experimental/react",
"react-dom": "build/oss-experimental/react-dom",
"react-server-dom-webpack": "build/oss-experimental/react-server-dom-webpack",
"scheduler": "build/oss-experimental/scheduler"
},
"sandboxes": ["new"]
"sandboxes": ["new"],
"silent": true
}
2 changes: 0 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,9 @@ indent_size = 2
indent_style = space
insert_final_newline = true
max_line_length = 80
trim_trailing_whitespace = true

[*.md]
max_line_length = 0
trim_trailing_whitespace = false

[COMMIT_EDITMSG]
max_line_length = 0
Loading