Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
458 commits
Select commit Hold shift + click to select a range
8beb46d
Remove unnecessary ReactInstanceManagerInspectorTarget files (#54663)
cortinico Nov 25, 2025
13da82a
Remove unnecessary BridgeDevSupportManager (#54683)
cortinico Nov 25, 2025
d593026
delete flag disableFabricCommitInCXXAnimated (#54664)
sammy-SC Nov 25, 2025
e9d5e2f
Apply categories to changelog (#54689)
cipolleschi Nov 25, 2025
f7145dc
Sort Changelog entries by tag (#54688)
cipolleschi Nov 25, 2025
f472ef9
Allow Heif/Heic Assets (#54640)
anthonybajoua Nov 25, 2025
69b131c
Clear out mTagToSynchronousMountProps on surface stop (#54693)
javache Nov 25, 2025
20550c4
Fix exception in codegen when dependency is not found (#54665)
tido64 Nov 26, 2025
7c95d68
Enable Network Panel on Android and cocoapods (#54670)
cipolleschi Nov 26, 2025
7163033
Update `generate-artifacts-executor` script to account for optional o…
kitten Nov 26, 2025
e23e9ad
Fix 'hermes-compiler' not being resolved correctly (#54667)
tido64 Nov 26, 2025
6793f5c
Fix RCTDevLoadingView crash when adding button constraints (#54690)
emily8rown Nov 26, 2025
04ee02b
FrameTiming module to subscribe to Inspector tracing lifecycle (#54633)
hoxyq Nov 26, 2025
ec92f12
Clarify HostTracingProfile and HostTraceRecordingState (#54677)
hoxyq Nov 26, 2025
d6ee54f
Introduce TimeWindowedBuffer (#54679)
hoxyq Nov 26, 2025
e651563
Keep tracing time window on TraceRecordingState (#54673)
hoxyq Nov 26, 2025
5b7d92f
Define FrameTimingSequence (#54674)
hoxyq Nov 26, 2025
f469aa3
Define an endpoint on HostTarget to capture frame timings (#54672)
hoxyq Nov 26, 2025
57973fa
Extract frame trace events construction logic (#54675)
hoxyq Nov 26, 2025
587d360
Define serializers for frame timings as part of HostTargetTracingProf…
hoxyq Nov 26, 2025
26ff069
Propagate Frames data through Host (#54671)
hoxyq Nov 26, 2025
9ba4ce6
Cleanup no longer used jni layer for frame timings (#54678)
hoxyq Nov 26, 2025
97ad18a
Backout "[rn] Expose frame events on PerformanceTracer" (#54680)
hoxyq Nov 26, 2025
f0cbc93
Backout "[rn] Add CDP frame events" (#54676)
hoxyq Nov 26, 2025
2ac5488
Fix: loading bundle using `debug_http_host` preferences (#54687)
coado Nov 26, 2025
ac31e96
Fixed symbol mapping to slices (#54641)
chrfalch Nov 26, 2025
336042c
Fix RCTDevLoadingView dismiss button not appearing (#54696)
emily8rown Nov 26, 2025
d6c5772
Improve error when calling TM with too many args (#54691)
javache Nov 26, 2025
a540b90
Remove RCTTurboModuleSyncVoidMethodsEnabled feature flag and related …
javache Nov 26, 2025
2b76371
Add tests for ReactAccessibilityDelegate (#54697)
cortinico Nov 26, 2025
1bdd2a0
Remove unnecessary `OnBatchCompleteListener` (#54685)
cortinico Nov 26, 2025
b37023c
Reset zoomscale to 1 in Fabric RCTScrollViewComponentView (#54668)
johankasperi Nov 26, 2025
9ec4177
Fix isClickable state for TextViews based on onClickListener (#54709)
fabriziocucci Nov 26, 2025
cf3af8b
Fix isClickable state for TextViews after recycling (#54708)
fabriziocucci Nov 26, 2025
2b09ae8
Remove unnecessary `LazyReactPackage` (#54705)
cortinico Nov 26, 2025
1bd3691
Cleanup and inline CallbackImpl (#54703)
cortinico Nov 26, 2025
f60789a
emit scroll event once on overscrolled (#54656)
zeyap Nov 26, 2025
06786a8
fix(a11y): android prevent redundant double screen reader focus step …
mdjastrzebski Nov 26, 2025
f973543
Fix RCTDevLoadingView banner window sizing and interaction (#54702)
emily8rown Nov 26, 2025
8b8ccea
Fix RCTDevLoadingView banner interaction (#54706)
emily8rown Nov 26, 2025
5e95f18
include <cstdint>
Nov 26, 2025
7c603ee
Invalidate displayLink & deallocate RCTAnimatedModuleProvider before …
zeyap Nov 26, 2025
1493a0a
Extract TurboModuleManager from ReactHost (#54651)
javache Nov 27, 2025
7ba231d
Back out "Expose adding handlers API from `RCTDevSettings`" (#54719)
robhogan Nov 27, 2025
dba18bb
Remove unnecessary `ReactCxxErrorHandler` (#54704)
cortinico Nov 27, 2025
e073ca8
Add lib defs for Node.js fs.glob, etc. (#54695)
robhogan Nov 28, 2025
4982061
translation auto-update for batch 4/61 on master
Nov 29, 2025
e02990c
translation auto-update for batch 4/61 on master
Nov 29, 2025
c3a7ce3
Back out + fix of Back out "[react-native][PR] Expose adding handlers…
vzaidman Dec 1, 2025
0b09e6f
Remove unnecessary classes inside `com.facebook.react.uimanager.layou…
cortinico Dec 1, 2025
d49e07a
RCTTurboModule nits (#54692)
javache Dec 1, 2025
47c4568
Fix NullPointerException in PromiseImpl.reject by allowing nullable c…
ramanverse Dec 1, 2025
5884ec3
Remove stale references to removed jni target (#54746)
hoxyq Dec 1, 2025
b0e754b
VirtualView: Ship `enableVirtualViewClippingWithoutScrollViewClipping…
yungsters Dec 1, 2025
52186a3
Fix screenshot typo (#54742)
sbuggay Dec 2, 2025
57c29fc
Add optional screenshot argument to FrameTimingSequence (#54743)
sbuggay Dec 2, 2025
e167faa
Implementation of transform, border radius, and background color prop…
coado Dec 2, 2025
49267d4
Cleanup unnecessary logging on ReactHostImpl
cortinico Dec 2, 2025
0b1f862
Update debugger-frontend from 7f25433...4631a6d (#54741)
hoxyq Dec 2, 2025
ae01be8
Enable RNDT standalone shell by default (#54754)
huntie Dec 2, 2025
064a385
Fix gitignore paths for debugger-frontend (#54756)
huntie Dec 2, 2025
257f036
Add ISerialization interface (#52624)
tsaichien Dec 2, 2025
a5e6add
Remove feature flag cxxNativeAnimatedRemoveJsSync (#54740)
zeyap Dec 2, 2025
4bb24e2
Rename jsi/hermes.h to jsi/hermes-interfaces.h (#54569)
lavenzg Dec 3, 2025
b447d26
Frame screenshot event generation (#54744)
sbuggay Dec 3, 2025
41eace0
Replace `glob@^7.0.0` with `tinyglobby@^0.2.15` (#54737)
kitten Dec 3, 2025
5bb3a6d
fix: Use FQCN to avoid collisions in PackageList.java (#54736)
riteshshukla04 Dec 3, 2025
f3c9a8d
Frame screenshots capture implementation (#54745)
sbuggay Dec 4, 2025
9221772
BeginDrawing: INTENDED_VSYNC_TIMESTAMP -> VSYNC_TIMESTAMP (#54765)
hoxyq Dec 4, 2025
31a0c9a
Add frames category (#54768)
hoxyq Dec 4, 2025
cd055e9
Specify correct category for SetLayerTreeId event (#54769)
hoxyq Dec 4, 2025
3084224
Add changelog for v0.83.0-rc.4 (#54767)
huntie Dec 4, 2025
0874746
Fix remaining missing debugger build flags for open source builds (#5…
huntie Dec 4, 2025
5634e8a
fix(iOS): Respect cancelsTouchesInView in RCTSurfaceTouchHandler (#54…
intmain Dec 4, 2025
d23502b
Add a feature flag for (#54777)
cortinico Dec 4, 2025
a3a890f
Deploy 0.292.0 to xplat (#54788)
SamChou19815 Dec 4, 2025
284d841
Remove deprecated NativeKind class from React Native Android (#54773)
mdvacca Dec 4, 2025
1a28d9e
Update debugger-frontend from 4631a6d...40e2a7d (#54780)
sbuggay Dec 4, 2025
95cc1e7
Add support for Unions in react-native-codegen & Compat Checker (#54489)
arushikesarwani94 Dec 5, 2025
253fdf4
Update Android's adjustsFontSizeToFit algorithm (#54715)
j-piasecki Dec 5, 2025
c800503
Exclude legacy Hermes targets from single host assertion (#54784)
huntie Dec 5, 2025
d7ef651
Pass families to Native Animated (#54613)
Dec 5, 2025
d04e152
Introduce `AnimationBackendCommitHook` (#54138)
Dec 5, 2025
ade19e8
small bugs fixes in C++ Animated that were not observed in production…
sammy-SC Dec 5, 2025
d2b065f
Fix CQS signal readability-braces-around-statements in xplat/jsi/jsi …
Dec 5, 2025
a9a0268
Mark virtual text view descendants clickable
Dec 5, 2025
63b0aef
Clean up weird comment in ReactScrollView (#54807)
joevilches Dec 6, 2025
6be156e
Deploy 0.293.0 to xplat (#54810)
gkz Dec 6, 2025
e4a5a56
Reduce the screenshots size (#54800)
hoxyq Dec 6, 2025
d176e09
translation auto-update for batch 7/61 on master
Dec 7, 2025
8347cc4
Fix text clipping on Android 15+ due to useBoundsForWidth change (#54…
chrfalch Dec 8, 2025
2efa274
Fix outdated XHRExampleBinaryUpload example (#54803)
huntie Dec 8, 2025
38513f7
Fix multipart/form-data request payload previews on Android (#54804)
huntie Dec 8, 2025
dc73ec4
fix: RNGP using node invocation non-compatible with Gradle Compilatio…
tjzel Dec 8, 2025
f97b9a5
fix(types): add missing standard properties to URL and URLSearchParam…
Dec 8, 2025
9011316
Enable `fixTextClippingAndroid15useBoundsForWidth` in Experimental (#…
cortinico Dec 9, 2025
64bb0d5
Hold lock while changing atomic running_ in TaskDispatchThread (#54817)
Dec 9, 2025
b1b2cab
Back out "fix: RNGP using node invocation non-compatible with Gradle …
cortinico Dec 9, 2025
d0e9b9c
feat: Export usePressability hook as public API (#54813)
natew Dec 9, 2025
602a2d2
Fix action labels on iOS, fixes #53496 (#54286)
maxencehenneron Dec 9, 2025
7bee31c
Implement onStateChange in TracingStateListener jni interface (#54824)
hoxyq Dec 9, 2025
4d6a450
PerfMonitor to subscribe to InspectorTarget tracing events (#54825)
hoxyq Dec 9, 2025
814a2cd
Hide Performance Monitor when tracing in RNDT (#54828)
hoxyq Dec 9, 2025
3e9083b
nullcheck result of getAnimatedNode in NativeAnimatedNodesManager::up…
zeyap Dec 9, 2025
7cecf15
expose if there are any connected devices to dev middleware and addin…
vzaidman Dec 10, 2025
5e81ac9
make the default debugger-shell spawn command unset ELECTRON_RUN_AS_N…
vzaidman Dec 10, 2025
1c282d7
move default React Native DevTools launching params downstream (#54528)
vzaidman Dec 10, 2025
753c1e1
fixed node types for style text "validateStream" (#54778)
vzaidman Dec 10, 2025
c36665f
Fix hash generation for declare const types in API snapshot #54818 (#…
emily8rown Dec 10, 2025
e7f5618
Fix JS API breaking change detection to compare against merge base (#…
emily8rown Dec 10, 2025
c31a5a8
Add support for shadow props to AnimationBackend (#54728)
coado Dec 10, 2025
41c50fd
Fix build issues when RCT_REMOVE_LEGACY_ARCH is turned on internally …
cipolleschi Dec 10, 2025
dd1f83e
fix: RNGP CCache compatibility (#54829)
tjzel Dec 10, 2025
700d320
fix hit test for components using legacy module interop (#54802)
kruczy Dec 10, 2025
2ce3686
fix(test): fix RNTester iOS unit and integration tests (#53848)
artus9033 Dec 10, 2025
f9b0cf8
Add changelog for 0.83.0 (#54844)
huntie Dec 10, 2025
17b3c1c
ReactDelegate: make onBackPressed return correct status
RSNara Dec 10, 2025
80e384a
Add listener API to OverrideColorScheme for dynamic dark mode updates…
alanleedev Dec 10, 2025
6bf4840
translation auto-update for batch 6/61 on master
Dec 11, 2025
37bf285
fix: add missing experimental_ types in manual .d.ts (#54797)
tjzel Dec 11, 2025
ac8fa25
fix: reset listenerCount when invalidating RCTEventEmitter (#54809)
brainbicycle Dec 11, 2025
31a9eee
Add missing props to AnimatedPropsRegistry
j-piasecki Dec 11, 2025
d67fc70
Fix jni aborts when turbomodule creation throws (#54849)
RSNara Dec 11, 2025
28d6ba1
Move state of PackagerConnectionSettings to companion object (#54852)
cortinico Dec 11, 2025
18ebab6
remove ELECTRON_RUN_AS_NODE instead of setting it to empty string (#5…
vzaidman Dec 11, 2025
5c3bfda
Add optional props generation support (#54724)
Dec 11, 2025
05599d0
Add fixtures for optional props generation (#54725)
Dec 11, 2025
e581fa4
Implement optional object props generation (#54726)
Dec 11, 2025
dd390db
Add fixtures for optional object generation (#54727)
Dec 11, 2025
7d2a7c9
Deploy 0.294.0 to xplat (#54862)
marcoww6 Dec 12, 2025
cc9164c
Move JavaScript exports rewrites to publishConfig/prepack (#54857)
huntie Dec 12, 2025
b7ca048
Remove Perf and Network tabs from Element Inspector (#54868)
huntie Dec 12, 2025
72097f0
Remove repeat checkout step from diff-js-api-changes (fix CI) (#54865)
huntie Dec 12, 2025
41380f3
Deprecate XHRInterceptor and WebSocketInterceptor APIs (#54869)
huntie Dec 12, 2025
0fabe26
Make image prefetch JNI batching thread-safe (#54861)
Dec 12, 2025
c4c587e
DevSupport - fix small bugs with Host change dialog (#54855)
cortinico Dec 12, 2025
07bd24e
Align default transform profile Babel preset with legacy Hermes - dro…
robhogan Dec 12, 2025
b9ac408
chore(ci): update GitHub Actions to latest versions with Node.js 24 s…
salmanmkc Dec 15, 2025
076e6a1
Use prebuilt Hermes by default when building Android (#54707)
j-piasecki Dec 15, 2025
66d1ec0
Use nightly Hermes by default when building iOS in OSS (#54864)
j-piasecki Dec 15, 2025
cd4744c
Add support for margin and padding props to AnimationBackend (#54738)
coado Dec 15, 2025
9931aeb
Add support for position props (#54752)
coado Dec 15, 2025
c16eb23
make run-ci-javascript-tests.js use `flow full-check` (#54883)
panagosg7 Dec 15, 2025
c400b88
Add ResourceReceivedData trace event for Performance timeline (#54870)
emily8rown Dec 16, 2025
2abbd47
Fix type of constantsToExport arg (#54718)
javache Dec 16, 2025
1e1a81f
Update debugger-frontend from 40e2a7d...c85f7e9 (#54896)
huntie Dec 16, 2025
498514d
Fix diff-js-api-changes CI job (#54900)
huntie Dec 16, 2025
a22ab42
Loosen JS API breaking change detection, improve Danger message (#54901)
huntie Dec 16, 2025
73d3429
fixed issue with xcconfig being overwritten (#54838)
chrfalch Dec 16, 2025
0c947c8
Fix diffApiSnapshot-test (#54903)
huntie Dec 16, 2025
296f580
Remove checkout the PR sha from danger-pr.yml (#54904)
cipolleschi Dec 16, 2025
f9346fb
translation auto-update for batch 7/61 on master
Dec 17, 2025
4e0b923
Fix prototype check in AnimatedObject.js (#54820)
maman Dec 17, 2025
df9d31b
Use precompipled binaries by default (#54895)
cipolleschi Dec 17, 2025
ca2fc14
Fix mask-based clipping for < API 27 (#54914)
Abbondanzo Dec 17, 2025
ec7b41f
Sync RCTNativeSampleTurboModuleSpec (#54918)
javache Dec 17, 2025
782dc0e
Add support for border width props to AnimationBackend (#54753)
coado Dec 17, 2025
e744329
Add support for filter props to Animation Backend (#54890)
coado Dec 17, 2025
4de9242
Add support for outline props to the AnimationBackend (#54897)
coado Dec 17, 2025
d25af38
Fix backwards-compat for ModuleConstants<::Builder> (#54919)
javache Dec 17, 2025
1ce9946
Rollout useShadowNodeStateOnClone in featureflag config (#54921)
javache Dec 17, 2025
9692e64
Fix binary FormData uploads on Android (#54917)
huntie Dec 17, 2025
33005a4
Gate requestBody processing behind BuildConfig.DEBUG (#54920)
huntie Dec 17, 2025
c7f433a
Remove the legacy arch by default (#54894)
cipolleschi Dec 17, 2025
3bf7a09
Support ReadonlyArray in react-native-codegen (#54924)
marcoww6 Dec 18, 2025
a6b76c0
Support Readonly in react-native-codegen (#54925)
marcoww6 Dec 18, 2025
9c840bf
create fantom benchmark test for animated with and without animation …
zeyap Dec 18, 2025
ee0ff63
Deploy 0.295.0 to xplat (#54939)
panagosg7 Dec 19, 2025
68b0c2a
Fix the build for `unknown` annotation (#54941)
marcoww6 Dec 19, 2025
f41f3bf
Transform all Flow legacy utility types (`$NonMaybeType`) to TypeScri…
marcoww6 Dec 19, 2025
33b2d6d
Add support for flex props to AnimationBackend (#54898)
coado Dec 19, 2025
d35904d
Updating frontend assets to add header for open-in-editor sources pan…
emily8rown Dec 19, 2025
62c567f
Add changelog for 0.83.1 (#54928)
huntie Dec 19, 2025
84e408c
Use dynamic for updates in Animated with Animation Backend (#54872)
Dec 19, 2025
3650ae3
Add support for max/min width/height props to Animation Backend (#54945)
coado Dec 19, 2025
00eba55
Upgrade node-forge to v1.3.2 (#54949)
zeyap Dec 19, 2025
8bc6214
Add test for width, height and opacity (#54873)
Dec 22, 2025
c52d30e
Add synchronous updates to the AnimatedPropsRegistry (#54878)
Dec 22, 2025
6270051
Add fallback value for request body previews (#54961)
huntie Dec 22, 2025
bdcda15
Add error log when failing to convert CDP messageStr (#54962)
huntie Dec 22, 2025
c00173f
add debug statements to debugger shell launching path (#54929)
vzaidman Dec 22, 2025
c8e09e9
Add support for gzipped request body previews (#54963)
huntie Dec 22, 2025
2624e2f
Transform mixed to unknown in xplat/js (#54955)
marcoww6 Dec 22, 2025
894a1f1
Transform mixed to unknown in xplat/js (#54954)
marcoww6 Dec 22, 2025
dc06a71
Add Flow lib defs for Node's zlib zstd support (#54616)
robhogan Dec 23, 2025
391fc3c
Add default case to EventEmitterH generator switch statement (#54950)
alanleedev Dec 23, 2025
75c00c3
translation auto-update for batch 0/61 on master
Dec 24, 2025
17cba6e
Back out "add debug statements to debugger shell launching path" (#54…
cipolleschi Dec 24, 2025
2b74f98
Add Flow lib defs for Node.js streams fromWeb/toWeb (#54615)
robhogan Dec 26, 2025
e6923dd
React 19.2.3 sync int React Native OSS (#54966)
cipolleschi Dec 29, 2025
0fe23d7
Fix modal hover interception to call the correct super method (#54991)
MegaManSec Dec 29, 2025
53944ea
Make TurboModuleBinding constructor private
RSNara Dec 29, 2025
84c8106
Make TurboModuleBinding accept a provider with a runtime
RSNara Dec 29, 2025
7a6a6ae
Stop storing runtime ptr in turbomodule provider
RSNara Dec 29, 2025
e4eb64d
Refactor: Read interop flag directly from feature flags (#54973)
RSNara Dec 29, 2025
cb3015d
Refactor: Clean up bindings installation
RSNara Dec 29, 2025
1c3a5e1
Compile out UIWindowLevelStatusBar usage (#54985)
sbuggay Dec 29, 2025
fef5b84
fix(android): re-enable mBackPressedCallback after invokeDefaultOnBac…
anferrat Dec 29, 2025
eb1c4c1
Compile out UIInterfaceOrientation (#54997)
sbuggay Dec 30, 2025
61a838d
Compile out RCTUIStatusBarManager (#54998)
sbuggay Dec 30, 2025
c98494b
Add Flow lib defs for newer Node.js fs APIs (#54992)
robhogan Dec 30, 2025
50f310d
translation auto-update for batch 4/61 on master
Dec 31, 2025
07d2255
Align Flow lib defs for Node.js path with v24 (#55006)
robhogan Dec 31, 2025
dee203b
translation auto-update for batch 6/61 on master
Jan 2, 2026
83b21bb
Align Flow lib defs for Node.js crypto with v24 (#55009)
robhogan Jan 2, 2026
8084fe6
Align Flow lib defs for Node.js os with v24 (#55014)
robhogan Jan 2, 2026
e73ab78
Enable Network Inspection flags by default (#55015)
huntie Jan 2, 2026
f5c1126
Align Flow lib defs for Node.js util with v24 (#55016)
robhogan Jan 2, 2026
4862cc7
Align Flow lib defs for Node.js buffer with v24 (#55017)
robhogan Jan 2, 2026
cead39c
Align Flow lib defs for Node.js url with v24 (#55021)
robhogan Jan 2, 2026
89ac112
removed unstable functions tracking the existance of connected device…
vzaidman Jan 4, 2026
be91c26
Fix copy-paste error in DevToolsRuntimeSettings (#55010)
Jan 5, 2026
0241b59
translation auto-update for batch 2/61 on master
Jan 5, 2026
f36fd46
do not spellcheck vendored scripts (#55020)
Simek Jan 5, 2026
65cc2e5
fix `print-packages` script (#55019)
Simek Jan 5, 2026
a1e4343
Delete print-packages script (#55034)
huntie Jan 5, 2026
f2948fb
Remove unused code from scm-utils (#55036)
huntie Jan 5, 2026
492df85
Cleanup useNativeEqualsInNativeReadableArrayAndroid flag (#55030)
javache Jan 5, 2026
913e869
Cleanup useNativeTransformHelperAndroid flag (#55031)
javache Jan 5, 2026
8f10b33
Breaking: Bump minimum Node.js version to v22.11 (prev LTS) (#55038)
robhogan Jan 5, 2026
32c3d2f
Pass `unstable_transformProfile` through Babel `caller` API and fall …
robhogan Jan 5, 2026
2166ab7
Replace CDP messageStr conversion error with assert (#55041)
huntie Jan 5, 2026
86e0738
Merge React Native 0.84 fork point
Saadnajmi Jul 16, 2026
35e2893
Align macOS key event payload typing
Saadnajmi Jul 14, 2026
89ecbd5
Regenerate API snapshot after 0.84 merge
Saadnajmi Jul 14, 2026
e2251e8
Port React Native 0.84 Apple sources to macOS
Saadnajmi Jul 14, 2026
a8959b6
Pin Hermes to the 0.84-compatible source revision
Saadnajmi Jul 14, 2026
b1bd018
Keep macOS accessibility proxy state in sync
Saadnajmi Jul 14, 2026
ff3eb39
Unify keyboard events on the upstream public model
Saadnajmi Jul 14, 2026
bf97509
Keep macOS Text style overrides in scope
Saadnajmi Jul 15, 2026
9a07b84
Keep debugger shell private in the macOS workspace
Saadnajmi Jul 15, 2026
021f7cd
Skip unavailable TextInput accessory APIs on visionOS
Saadnajmi Jul 15, 2026
68888b7
Avoid unavailable UIScreen fallback on visionOS
Saadnajmi Jul 15, 2026
9ad02ad
Fix inherited high-severity CodeQL findings
Saadnajmi Jul 15, 2026
8c813fe
Fix remaining Flow errors after the 0.84 merge
Saadnajmi Jul 15, 2026
2f73ceb
Parse Hermes stack frames without backtracking
Saadnajmi Jul 15, 2026
38e2483
Harden remaining CodeQL findings
Saadnajmi Jul 15, 2026
9663644
Parse LogBox errors without backtracking
Saadnajmi Jul 15, 2026
b49508e
Avoid shell interpolation in release tooling
Saadnajmi Jul 15, 2026
84ad8f7
Fix merged import ordering warnings
Saadnajmi Jul 15, 2026
33fa39e
Fix merged PlatformColor formatting
Saadnajmi Jul 15, 2026
f60714f
docs: add minor merge command
Saadnajmi Jul 16, 2026
a13b116
fix: regenerate dependencies after upstream rebase
Saadnajmi Jul 16, 2026
3cdcc31
fix: align tooling after upstream rebase
Saadnajmi Jul 16, 2026
4ac2eb4
chore: regenerate API snapshot after upstream rebase
Saadnajmi Jul 16, 2026
b638ecd
fix: restore 0.84 Hermes pod resolution
Saadnajmi Jul 16, 2026
da747cf
fix: preserve native build after upstream rebase
Saadnajmi Jul 16, 2026
72c0b4e
style: format codegen regression test
Saadnajmi Jul 16, 2026
4bacb12
fix: select one Fabric view host platform
Saadnajmi Jul 16, 2026
2777fb7
docs: defer minor merge skill until stack completion
Saadnajmi Jul 16, 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
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ packages/*/dist
packages/*/types_generated
packages/debugger-frontend/dist/**/*
packages/react-native-codegen/lib
private/react-native-codegen-typescript-test/lib/**/*
**/Pods/*
**/*.macos.js
**/*.windows.js
4 changes: 2 additions & 2 deletions .flowconfig
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ module.name_mapper='^@react-native/fantom$' -> '<PROJECT_ROOT>/private/react-nat
module.name_mapper='^@react-native/fantom/\(.*\)$' -> '<PROJECT_ROOT>/private/react-native-fantom/\1'
module.name_mapper='^@react-native/core-cli-utils$' -> '<PROJECT_ROOT>/packages/core-cli-utils/src/index.flow.js'
; macOS]
module.name_mapper='^@?[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\|xml\|ktx\)$' -> '<PROJECT_ROOT>/packages/react-native/Libraries/Image/RelativeImageStub'
module.name_mapper='^@?[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\|xml\|ktx\|heic\|heif\)$' -> '<PROJECT_ROOT>/packages/react-native/Libraries/Image/RelativeImageStub'

module.system.haste.module_ref_prefix=m#

Expand Down Expand Up @@ -103,4 +103,4 @@ untyped-import
untyped-type-import

[version]
^0.289.0
^0.295.0
17 changes: 10 additions & 7 deletions .github/actions/build-android/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ runs:
cache-read-only: "false"
cache-encryption-key: ${{ inputs.gradle-cache-encryption-key }}
- name: Restore Android ccache
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
with:
path: /github/home/.cache/ccache
key: v2-ccache-android-${{ github.job }}-${{ github.ref }}-${{ hashFiles('packages/react-native/ReactAndroid/**/*.cpp', 'packages/react-native/ReactAndroid/**/*.h', 'packages/react-native/ReactCommon/**/*.cpp', 'packages/react-native/ReactAndroid/**/CMakeLists.txt', 'packages/react-native/ReactCommon/**/CMakeLists.txt') }}
Expand All @@ -45,33 +45,36 @@ runs:
if [[ "${{ inputs.release-type }}" == "dry-run" ]]; then
# dry-run: we only build ARM64 to save time/resources. For release/nightlies the default is to build all archs.
export ORG_GRADLE_PROJECT_reactNativeArchitectures="arm64-v8a,x86" # x86 is required for E2E testing
export HERMES_PREBUILT_FLAG="ORG_GRADLE_PROJECT_react.internal.useHermesNightly=true"
TASKS="publishAllToMavenTempLocal build"
elif [[ "${{ inputs.release-type }}" == "nightly" ]]; then
# nightly: we set isSnapshot to true so artifacts are sent to the right repository on Maven Central.
export ORG_GRADLE_PROJECT_isSnapshot="true"
export HERMES_PREBUILT_FLAG="ORG_GRADLE_PROJECT_react.internal.useHermesNightly=true"
TASKS="publishAllToMavenTempLocal publishAndroidToSonatype build"
else
# release: we want to build all archs (default)
export HERMES_PREBUILT_FLAG="ORG_GRADLE_PROJECT_react.internal.useHermesStable=true"
TASKS="publishAllToMavenTempLocal publishAndroidToSonatype build"
fi
./gradlew $TASKS -PenableWarningsAsErrors=true
env "$HERMES_PREBUILT_FLAG" ./gradlew $TASKS -PenableWarningsAsErrors=true
- name: Save Android ccache
if: ${{ github.ref == 'refs/heads/main' || contains(github.ref, '-stable') }}
uses: actions/cache/save@v4
uses: actions/cache/save@v5
with:
path: /github/home/.cache/ccache
key: v2-ccache-android-${{ github.job }}-${{ github.ref }}-${{ hashFiles('packages/react-native/ReactAndroid/**/*.cpp', 'packages/react-native/ReactAndroid/**/*.h', 'packages/react-native/ReactCommon/**/*.cpp', 'packages/react-native/ReactAndroid/**/CMakeLists.txt', 'packages/react-native/ReactCommon/**/CMakeLists.txt') }}
- name: Show ccache stats
shell: bash
run: ccache -s -v
- name: Upload Maven Artifacts
uses: actions/upload-artifact@v4.3.4
uses: actions/upload-artifact@v6
with:
name: maven-local
path: /tmp/maven-local
- name: Upload test results
if: ${{ always() }}
uses: actions/upload-artifact@v4.3.4
uses: actions/upload-artifact@v6
with:
name: build-android-results
compression-level: 1
Expand All @@ -81,14 +84,14 @@ runs:
packages/react-native/ReactAndroid/build/reports
- name: Upload RNTester APK - hermes-debug
if: ${{ always() }}
uses: actions/upload-artifact@v4.3.4
uses: actions/upload-artifact@v6
with:
name: rntester-debug
path: packages/rn-tester/android/app/build/outputs/apk/debug/
compression-level: 0
- name: Upload RNTester APK - hermes-release
if: ${{ always() }}
uses: actions/upload-artifact@v4.3.4
uses: actions/upload-artifact@v6
with:
name: rntester-release
path: packages/rn-tester/android/app/build/outputs/apk/release/
Expand Down
8 changes: 4 additions & 4 deletions .github/actions/build-npm-package/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ runs:
shell: bash
run: git config --global --add safe.directory '*'
- name: Download ReactNativeDependencies
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
pattern: ReactNativeDependencies*
path: ./packages/react-native/ReactAndroid/external-artifacts/artifacts
merge-multiple: true
- name: Download ReactCore artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
pattern: ReactCore*
path: ./packages/react-native/ReactAndroid/external-artifacts/artifacts
Expand Down Expand Up @@ -65,7 +65,7 @@ runs:
fi
node ./scripts/releases-ci/publish-npm.js -t ${{ inputs.release-type }}
- name: Upload npm logs
uses: actions/upload-artifact@v4.3.4
uses: actions/upload-artifact@v6
with:
name: npm-logs
path: ~/.npm/_logs
Expand All @@ -80,7 +80,7 @@ runs:

echo "$FILENAME" > build/react-native-package-version
- name: Upload release package
uses: actions/upload-artifact@v4.3.4
uses: actions/upload-artifact@v6
if: ${{ inputs.release-type == 'dry-run' }}
with:
name: react-native-package
Expand Down
23 changes: 0 additions & 23 deletions .github/actions/diff-js-api-breaking-changes/action.yml

This file was deleted.

31 changes: 31 additions & 0 deletions .github/actions/diff-js-api-changes/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: diff-js-api-changes
description: Check for breaking changes in the public React Native JS API
runs:
using: composite
steps:
- name: Compute merge base with main
id: merge_base
shell: bash
run: |
git fetch origin main
git fetch --deepen=500
echo "merge_base=$(git merge-base HEAD origin/main)" >> $GITHUB_OUTPUT

- name: Output snapshot before state for comparison
shell: bash
env:
SCRATCH_DIR: ${{ runner.temp }}/diff-js-api-changes
run: |
mkdir -p $SCRATCH_DIR
git show ${{ steps.merge_base.outputs.merge_base }}:packages/react-native/ReactNativeApi.d.ts > $SCRATCH_DIR/ReactNativeApi-before.d.ts \
|| echo "" > $SCRATCH_DIR/ReactNativeApi-before.d.ts

- name: Run breaking change detection
shell: bash
env:
SCRATCH_DIR: ${{ runner.temp }}/diff-js-api-changes
run: |
node ./scripts/js-api/diff-api-snapshot \
$SCRATCH_DIR/ReactNativeApi-before.d.ts \
./packages/react-native/ReactNativeApi.d.ts \
> $SCRATCH_DIR/output.json
16 changes: 10 additions & 6 deletions .github/actions/maestro-android/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ inputs:
required: false
default: "."
description: The directory from which metro should be started
emulator-arch:
required: false
default: x86
description: The architecture of the emulator to run

runs:
using: composite
Expand All @@ -31,7 +35,7 @@ runs:
run: export MAESTRO_VERSION=1.40.0; curl -Ls "https://get.maestro.mobile.dev" | bash
- name: Set up JDK 17
if: ${{ inputs.install-java == 'true' }}
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: '17'
distribution: 'zulu'
Expand All @@ -53,7 +57,7 @@ runs:
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 24
arch: x86
arch: ${{ inputs.emulator-arch }}
ram-size: '8192M'
heap-size: '4096M'
disk-size: '10G'
Expand All @@ -69,16 +73,16 @@ runs:
NORM_APP_ID=$(echo "${{ inputs.app-id }}" | tr '.' '-')
echo "app-id=$NORM_APP_ID" >> $GITHUB_OUTPUT
- name: Store tests result
uses: actions/upload-artifact@v4.3.4
uses: actions/upload-artifact@v6
if: always()
with:
name: e2e_android_${{ steps.normalize-app-id.outputs.app-id }}_report_${{ inputs.flavor }}_NewArch
name: e2e_android_${{ steps.normalize-app-id.outputs.app-id }}_report_${{ inputs.flavor }}_${{ inputs.emulator-arch }}_NewArch
path: |
report.xml
screen.mp4
- name: Store Logs
if: steps.run-tests.outcome == 'failure'
uses: actions/upload-artifact@v4.3.4
uses: actions/upload-artifact@v6
with:
name: maestro-logs-android-${{ steps.normalize-app-id.outputs.app-id }}-${{ inputs.flavor }}-NewArch
name: maestro-logs-android-${{ steps.normalize-app-id.outputs.app-id }}-${{ inputs.flavor }}-${{ inputs.emulator-arch }}-NewArch
path: /tmp/MaestroLogs
6 changes: 3 additions & 3 deletions .github/actions/maestro-ios/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ runs:
brew tap facebook/fb
brew install facebook/fb/idb-companion
- name: Set up JDK 11
uses: actions/setup-java@v2
uses: actions/setup-java@v5
with:
java-version: '17'
distribution: 'zulu'
Expand Down Expand Up @@ -66,7 +66,7 @@ runs:
"${{ inputs.working-directory }}"
- name: Store video record
if: always()
uses: actions/upload-artifact@v4.3.4
uses: actions/upload-artifact@v6
with:
name: e2e_ios_${{ inputs.app-id }}_report_${{ inputs.flavor }}_NewArch
path: |
Expand All @@ -78,7 +78,7 @@ runs:
report.xml
- name: Store Logs
if: failure() && steps.run-tests.outcome == 'failure'
uses: actions/upload-artifact@v4.3.4
uses: actions/upload-artifact@v6
with:
name: maestro-logs-${{ inputs.app-id }}-${{ inputs.flavor }}-NewArch
path: /tmp/MaestroLogs
41 changes: 41 additions & 0 deletions .github/actions/prepare-hermes-v1-app/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: prepare-hermes-v1-app
description: Prepares a React Native app with Hermes V1 enabled
inputs:
retry-count:
description: 'Number of times to retry the yarn install on failure'
runs:
using: composite
steps:
- name: Create new app
shell: bash
run: |
cd /tmp
npx @react-native-community/cli init RNApp --skip-install --version nightly

- name: Select latest Hermes V1 version
shell: bash
run: |
node "$GITHUB_WORKSPACE/.github/workflow-scripts/selectLatestHermesV1Version.js"

- name: Apply patch to enable Hermes V1
shell: bash
run: |
cd /tmp/RNApp
git apply --binary --3way --whitespace=nowarn "$GITHUB_WORKSPACE/.github/workflow-scripts/hermes-v1.patch"
echo "✅ Patch applied successfully"

- name: Install app dependencies with retry
uses: nick-fields/retry@v3
with:
timeout_minutes: 10
max_attempts: ${{ inputs.retry-count }}
retry_wait_seconds: 15
shell: bash
command: |
cd /tmp/RNApp
yarn install
on_retry_command: |
echo "Cleaning up for yarn retry..."
cd /tmp/RNApp
rm -rf node_modules yarn.lock || true
yarn cache clean || true
6 changes: 3 additions & 3 deletions .github/actions/run-fantom-tests/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ runs:
cache-read-only: "false"
cache-encryption-key: ${{ inputs.gradle-cache-encryption-key }}
- name: Restore Fantom ccache
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
with:
path: /github/home/.cache/ccache
key: v2-ccache-fantom-${{ github.job }}-${{ github.ref }}-${{ hashFiles(
Expand Down Expand Up @@ -56,7 +56,7 @@ runs:
CXX: clang++
- name: Save Fantom ccache
if: ${{ github.ref == 'refs/heads/main' || contains(github.ref, '-stable') }}
uses: actions/cache/save@v4
uses: actions/cache/save@v5
with:
path: /github/home/.cache/ccache
key: v2-ccache-fantom-${{ github.job }}-${{ github.ref }}-${{ hashFiles(
Expand All @@ -75,7 +75,7 @@ runs:
run: ccache -s -v
- name: Upload test results
if: ${{ always() }}
uses: actions/upload-artifact@v4.3.4
uses: actions/upload-artifact@v6
with:
name: run-fantom-tests-results
compression-level: 1
Expand Down
4 changes: 2 additions & 2 deletions .github/actions/setup-node/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ inputs:
node-version:
description: 'The node.js version to use'
required: false
default: '22.14.0'
default: '22.11.0'
runs:
using: "composite"
steps:
- name: Setup node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: ${{ inputs.node-version }}
cache: yarn
4 changes: 2 additions & 2 deletions .github/actions/test-ios-helloworld/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,15 @@ runs:
- name: Run yarn install again, with the correct hermes version
uses: ./.github/actions/yarn-install
- name: Download ReactNativeDependencies
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: ReactNativeDependencies${{ inputs.flavor }}.xcframework.tar.gz
path: /tmp/third-party
- name: Print third-party folder
shell: bash
run: ls -lR /tmp/third-party
- name: Download React Native Prebuilds
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: ReactCore${{ inputs.flavor }}.xcframework.tar.gz
path: /tmp/ReactCore
Expand Down
Loading
Loading