Skip to content
Closed

Mr #36364

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
846 commits
Select commit Hold shift + click to select a range
2cb08e6
[compiler] Fix bug w functions depending on hoisted primitives (#35284)
josephsavona Dec 5, 2025
c0b7c0d
[scripts] Remove `perf-counters` (#35308)
eps1lon Dec 6, 2025
4174533
Run CI for backport releases (#35313)
eps1lon Dec 7, 2025
380778d
[test] Cleanup stack assertions in tests mixing React Server and Clie…
eps1lon Dec 7, 2025
ec9cc00
[compiler][poc] Reuse ValidateExhaustiveDeps for effect dep validatio…
josephsavona Dec 8, 2025
3640f38
[compiler] Add enableVerboseNoSetStateInEffect to suggest options to …
poteto Dec 8, 2025
55480b4
[playground] Downgrade Next.js to a secure version (#35317)
eps1lon Dec 8, 2025
61331f3
Fix ViewTransition crash in Mobile Safari (#35337)
gaearon Dec 9, 2025
734f1bf
[eprh] Enable enableUseKeyedState and enableVerboseNoSetStateInEffect…
poteto Dec 9, 2025
d763f31
[Devtools] Navigating commits performance panel hotkey (#35238)
emily8rown Dec 10, 2025
eade0d0
Attach instance handle to DOM in DEV for enableInternalInstanceMap (#…
jackpope Dec 10, 2025
5d80124
fix[devtools]: still show overlay, if getClientRects is not implement…
hoxyq Dec 10, 2025
5a97093
fix[devtools]: feature-check structure stack trace methods (#35293)
hoxyq Dec 10, 2025
37bcdcd
fix[devtools]: feature-check document with typeof instead of direct r…
hoxyq Dec 11, 2025
d3eb566
[compiler] Fix VariableDeclarator source location (#35129)
nathanmarks Dec 11, 2025
894bc73
[Flight] Patch Promise cycles and toString on Server Functions (#35345)
sebmarkbage Dec 11, 2025
80cb7a9
Revert "[compiler] Fix VariableDeclarator source location (#35129)" (…
sebmarkbage Dec 11, 2025
b45bb33
[Flight] Add extra loop protection (#35351)
sebmarkbage Dec 11, 2025
b85cf6a
[compiler] Fix VariableDeclarator source location (#35348)
nathanmarks Dec 11, 2025
38a6f4e
[compiler] Only run validations with env.logErrors on outputMode: 'li…
jorge-cab Dec 12, 2025
b061b59
Upgrade nextjs for compiler playground (#35353)
jackpope Dec 12, 2025
ba5b843
[test] Exclude repository root from assertions (#35361)
eps1lon Dec 15, 2025
bcf97c7
Devtools disable log dimming strict mode setting (#35207)
emily8rown Dec 15, 2025
88ee1f5
Add reporting modes for react-hooks/exhaustive-effect-dependencies an…
jackpope Dec 15, 2025
b731fe2
Improve cyclic thenable detection in ReactFlightReplyServer (#35369)
cvan20191 Dec 17, 2025
f93b9fd
Skip hydration errors when a view transition has been applied (#35380)
sebmarkbage Dec 17, 2025
454fc41
[test] Add tests for cyclic arrays in Flight and Flight Reply (#35347)
unstubbable Dec 17, 2025
65eec42
Use `FormData` `submitter` parameter (#29028)
jenseng Dec 18, 2025
0e18014
[ci] Separate DevTools test-build into dedicated job with fewer shard…
poteto Jan 7, 2026
00908be
[ci] Increase DevTools test shards and bump timeout (#35459)
poteto Jan 7, 2026
d6cae44
[ci] Add size-balanced test sequencer for better shard distribution (…
poteto Jan 7, 2026
5aec1b2
[DevTools] Attach async info in filtered fallback to parent of Suspen…
eps1lon Jan 10, 2026
8a83073
[test] Fix DevTools regression tests (#35501)
eps1lon Jan 13, 2026
583e200
[DevTools] Enable minimal support in pages with `sandbox` Content-Sec…
mochiya98 Jan 13, 2026
c186624
[Fiber] Correctly handle replaying when hydrating (#35494)
gnoff Jan 13, 2026
3e1abcc
[tests] Require exact error messages in assertConsole helpers (#35497)
rickhanlonii Jan 13, 2026
4a3d993
Add the suffix to cancelled view transition names (#35485)
sebmarkbage Jan 14, 2026
53daaf5
Improve the detection of changed hooks (#35123)
blazejkustra Jan 15, 2026
fae15df
[DevTools] Add React Element pane to browser Elements panel (#35240)
eps1lon Jan 15, 2026
bb8a76c
[DevTools] Show fallback in inspected element pane when no element is…
eps1lon Jan 15, 2026
f0fbb0d
[Fiber] fix useId tracking on replay (#35518)
gnoff Jan 16, 2026
4028aaa
Commit the Gesture lane if a gesture ends closer to the target state …
sebmarkbage Jan 16, 2026
35a81ce
Entangle Gesture revert commit with the corresponding Action commit (…
sebmarkbage Jan 16, 2026
eac3c95
Defer useDeferredValue updates in Gestures (#35511)
sebmarkbage Jan 16, 2026
4cf9063
Optimize gesture by allowing the original work in progress tree to be…
sebmarkbage Jan 16, 2026
db71391
[Fiber] Instrument the lazy initializer thenable in all cases (#35521)
gnoff Jan 16, 2026
cbc4d40
Typecheck React DevTools extension main script (#35519)
eps1lon Jan 16, 2026
01c4d03
[DevTools] Clear element inspection if host element not owned by any …
eps1lon Jan 16, 2026
bef88f7
[DevTools] Stop setting unused global variables (#35532)
eps1lon Jan 16, 2026
6baff7a
[Flight] Allow cyclic references to be serialized when unwrapping laz…
unstubbable Jan 16, 2026
3926e24
Fix ViewTransition null stateNode with SuspenseList (#35520)
jackpope Jan 16, 2026
23e5edd
[flags] clean up enableUseEffectEventHook (#35541)
rickhanlonii Jan 17, 2026
be3fb29
[internal] revert change merged accidentally (#35546)
rickhanlonii Jan 17, 2026
d87298a
[tests] add silent reporter (#35547)
rickhanlonii Jan 18, 2026
195fd22
[tests] Fix flaky flight tests (#35513)
rickhanlonii Jan 18, 2026
41b3e9a
[Fizz] Push a stalled use() to the ownerStack/debugTask (#35226)
eps1lon Jan 19, 2026
4bcf67e
Support onGestureEnter/Exit/Share/Update events (#35556)
sebmarkbage Jan 20, 2026
a49952b
Properly clean up gesture Animations (#35559)
sebmarkbage Jan 20, 2026
c55ffb5
Add Clean Up Callbacks to View Transition and Gesture Transition Even…
sebmarkbage Jan 20, 2026
1ecd99c
Temporarily Mount useInsertionEffect while a Gesture snapshot is bein…
sebmarkbage Jan 20, 2026
d343c39
Remove Gesture warning when cloning the root (#35566)
sebmarkbage Jan 20, 2026
d290875
Cancel animation when a custom Timeline is used (#35567)
sebmarkbage Jan 20, 2026
7fccd6b
[DevTools] Fix console links not being openable (#35229)
eps1lon Jan 21, 2026
b546603
[Fiber] getNearestMountedFiber should consider fibers with alternates…
sebmarkbage Jan 21, 2026
cdbd55f
Type `react-devtools-hook-installer` and `react-devtools-hook-setting…
eps1lon Jan 21, 2026
03ee29d
[eslint-plugin-react-hooks] Skip compilation for non-React files (#35…
josephsavona Jan 21, 2026
6a0ab4d
Add worktree script (#35593)
josephsavona Jan 22, 2026
2d8e7f1
[flags] Remove enableHydrationLaneScheduling (#35549)
rickhanlonii Jan 22, 2026
94913cb
[flags] cleanup renameElementSymbol (#35600)
hoxyq Jan 23, 2026
24d8716
Gitignore local Claude files (#35610)
eps1lon Jan 23, 2026
2af6822
[compiler] Claude file/settings (#35523)
josephsavona Jan 23, 2026
03613cd
[compiler] Improve snap usability (#35537)
josephsavona Jan 23, 2026
2c8725f
[compiler] snap fails if nothing compiled, unless @expectNothingCompi…
josephsavona Jan 23, 2026
a688a3d
worktree script improvements (#35603)
josephsavona Jan 23, 2026
006ae37
[compiler] Collapse CompilerError.{invariant,simpleInvariant} (#35614)
josephsavona Jan 23, 2026
c3b95b0
[compiler] Improve snap workflow for debugging errors (#35539)
josephsavona Jan 23, 2026
870cccd
[compiler] Summaries of the compiler passes to assist agents in devel…
josephsavona Jan 23, 2026
a056625
[repo] init claude config (#35617)
rickhanlonii Jan 24, 2026
2c30ebc
[DevTools] Update inspected element on component filter changes (#35599)
eps1lon Jan 26, 2026
3e319a9
[DevTools] Apply component filters on initial load (#35587)
eps1lon Jan 26, 2026
699abc8
[flags] make enableComponentPerformanceTrack static everywhere (#35629)
hoxyq Jan 26, 2026
1068027
[Flight] Add more DoS mitigations to Flight Reply, and harden Flight …
unstubbable Jan 26, 2026
8c34556
[Flight] Fix react-markup types for server references (#35634)
eps1lon Jan 26, 2026
e66ef64
[tests] remove withoutStack from assertConsole helpers (#35498)
rickhanlonii Jan 28, 2026
ff191f2
[Perf Tracks] Handle arrays with bigints in deep objects (#35648)
eps1lon Jan 28, 2026
87ae75b
[Perf Tracks] Use minus (`-`) instead of en dash for removed props (#…
eps1lon Jan 28, 2026
c0c3706
[Flight] Restore original function name in dev, server callstacks ser…
eps1lon Jan 28, 2026
d4d099f
[flags] make `enableTrustedTypesIntegration` dynamic (#35646)
hybrist Jan 28, 2026
875b064
Add text node support to FragmentInstance operations (#35630)
jackpope Jan 28, 2026
90b2dd4
Add additional fixtures for FragmentInstance text node support (#35631)
jackpope Jan 28, 2026
230772f
[tests] Fix ReactDOMAttribute-test (#35654)
rickhanlonii Jan 28, 2026
da64117
[Perf Tracks] Handle function names that aren't strings (#35659)
eps1lon Jan 29, 2026
64b4605
[compiler] fix source location for return statements (#35660)
nathanmarks Jan 30, 2026
ed4bd54
[Flight] Warn once if `eval` is disabled in dev environment (#35661)
eps1lon Feb 2, 2026
b8a6bfa
[compiler] Support optional/logical/etc within try/catch (#35606)
josephsavona Feb 2, 2026
dcab44d
[react-dom] Fire onReset when automatically resetting forms (#35176)
eps1lon Feb 2, 2026
7b023d7
[react-dom] Include `submitter` in `submit` events (#35590)
eps1lon Feb 2, 2026
d4a325d
[compiler] Add snap subcommand to minimize a test input (#35663)
josephsavona Feb 3, 2026
748ee74
Use modern JSX runtime in Flight fixture (#35677)
eps1lon Feb 3, 2026
5dad2b4
[DevTools] Fix commit index reset when switching profiler roots (#35672)
hoxyq Feb 3, 2026
b1533b0
[Flight] Allow overriding `request.timeOrigin` via `options.startTime…
lubieowoce Feb 3, 2026
3419420
[flags] Cleanup `enableActivity` (#35681)
eps1lon Feb 3, 2026
3e00319
[Flight] allow context providers from client modules (#35675)
rickhanlonii Feb 3, 2026
e32c126
[flags] Turn on `enableAsyncDebugInfo` everywhere (#35683)
eps1lon Feb 3, 2026
6853d7a
[Perf Tracks] Prevent crash when accessing `$$typeof` (#35679)
eps1lon Feb 3, 2026
cd0c487
[compiler] Fix `for` loops in try/catch (#35686)
josephsavona Feb 3, 2026
3ce1316
[compiler][snap] Fixes to relative path resolution; compile subcomman…
josephsavona Feb 4, 2026
c9ff56e
[DevTools] Disable Activity slices by default (#35685)
eps1lon Feb 4, 2026
f84ce5a
[flags] Turn on `enableViewTransition` in OSS `react-test-renderer` (…
eps1lon Feb 4, 2026
90c6d1b
[compiler][snap] More minimization improvements (#35689)
josephsavona Feb 4, 2026
22a20e1
[compiler] Fix setState-in-effect for React.useEffect namespace calls…
AntonChesnokov Feb 4, 2026
c137dd6
Fix exhaustive deps bug with flow type casting. (#35691)
jorge-cab Feb 4, 2026
cf993fb
[Flight] Fix stack overflow in `visitAsyncNode` with deep async chain…
unstubbable Feb 4, 2026
6913ea4
[flags] Add `enableParallelTransitions` (#35392)
rickhanlonii Feb 4, 2026
087a346
[test] add activity test with gSBU and enableViewTransition bugfix (#…
rickhanlonii Feb 4, 2026
3aaab92
[flags] add enableEffectEventMutationPhase (#35548)
rickhanlonii Feb 4, 2026
bb53387
[DevTools] Shrink/Deshrink Owners breadcrumbs on any resizes (#35694)
eps1lon Feb 5, 2026
b932350
[DevTools] Throw an error when attempting to clone non-existent node …
hoxyq Feb 5, 2026
95ffd6c
Disable parallel transitions in canary (#35709)
rickhanlonii Feb 5, 2026
8b276df
[DevTools] Avoid scrollbars in Suspense breadcrumbs (#35700)
eps1lon Feb 5, 2026
1c66ac7
[DevTools] Separate breadcrumbs with `»` (#35705)
eps1lon Feb 5, 2026
9a5996a
[flags] Cleanup `enableHalt` (#35708)
eps1lon Feb 6, 2026
2a879cd
[DevTools] Fix broken commit tree builder for initial operations (#35…
eps1lon Feb 6, 2026
65db100
[test] Move profilingCommitTreeBuilder to versioned renderer (#35711)
eps1lon Feb 6, 2026
2dd9b7c
[Flight] Fix debug channel flag in Node.js server renderToPipeableStr…
feedthejim Feb 8, 2026
b07aa7d
[Flight] Fix `encodeReply` for JSX with temporary references (#35730)
unstubbable Feb 9, 2026
272441a
[Flight] Add `unstable_allowPartialStream` option to Flight Client (#…
unstubbable Feb 9, 2026
eab523e
[Fiber] Avoid duplicate debug info for array children (#35733)
eps1lon Feb 9, 2026
24f215c
[DevTools] Fix false-positive re-render reports for filtered nodes (#…
hoxyq Feb 9, 2026
4c9d62d
[DevTools] Fix crash when revealing stable, filtered `<Activity>` chi…
eps1lon Feb 9, 2026
6a939d0
[DevTools] Allow renaming Host Component props (#35735)
eps1lon Feb 9, 2026
c6bb26b
[DevTools] Don't capture durations for disconnected subtrees when pro…
hoxyq Feb 9, 2026
49c3b27
[test] Include `uniqueSuspenders` in Suspense tree snapshots (#35736)
eps1lon Feb 10, 2026
f23aa1d
[DevTools] Fix memory leak when unmounting hoistables (#35741)
eps1lon Feb 10, 2026
70890e7
Consistent handling of work tags for rename, delete, and overriding s…
eps1lon Feb 10, 2026
57b79b0
[DevTools] Only block child Suspense boundaries if the parent has all…
eps1lon Feb 10, 2026
e49335e
[DevTools] Display `React.optimisticKey` in key positions (#35760)
eps1lon Feb 10, 2026
78f5c50
Notify FragmentInstance of added/removed text (#35637)
jackpope Feb 11, 2026
cd515d7
Minor DOM FragmentInstance refactors (#35641)
jackpope Feb 11, 2026
892c686
[fiber] bugfix - don't show <Offscreen> in error message. (#35763)
rickhanlonii Feb 11, 2026
8374c2a
[DevTools] Remove experimental __IS_INTERNAL_MCP_BUILD__ flag and rel…
hoxyq Feb 11, 2026
705055d
[DevTools] Enable Suspense tab by default (#35768)
eps1lon Feb 12, 2026
6066c78
[DevTools] Dedicated empty state for roots that aren't suspended by a…
eps1lon Feb 12, 2026
03ca38e
[DevTools] Check suspense child node presence in parentSuspense.child…
hoxyq Feb 13, 2026
e8c6362
[eslint-plugin-react-hooks] Add ESLint v10 support (#35720)
azat-io Feb 13, 2026
47d1ad1
[Flight] Skip `transferReferencedDebugInfo` during debug info resolut…
unstubbable Feb 16, 2026
4ac4753
[compiler] Track locations for dependencies (#35794)
josephsavona Feb 17, 2026
61db53c
[Native] Add RCTSelectableText as a recognized Text component (#35780)
NickGerleman Feb 18, 2026
4842fbe
[react-dom] Add support for `onFullscreenChange` and `onFullscreenErr…
chirokas Feb 18, 2026
3a2bee2
[DevTools] Fix alignment of breadcrumbs separator (#35817)
eps1lon Feb 18, 2026
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
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
  •  
  •  
  •  
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.
2 changes: 1 addition & 1 deletion .codesandbox/ci.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"packages": ["packages/react", "packages/react-dom", "packages/react-server-dom-webpack", "packages/scheduler"],
"buildCommand": "download-build-in-codesandbox-ci",
"node": "18",
"node": "20",
"publishDirectory": {
"react": "build/oss-experimental/react",
"react-dom": "build/oss-experimental/react-dom",
Expand Down
3 changes: 3 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,6 @@ packages/react-devtools-shared/src/hooks/__tests__/__source__/__untransformed__/
packages/react-devtools-shell/dist
packages/react-devtools-timeline/dist
packages/react-devtools-timeline/static

# Imported third-party Flow types
flow-typed/
Loading
Loading