Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
562 commits
Select commit Hold shift + click to select a range
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
663a9c1
Refactor: Rename installJSIBindings (#54975)
RSNara Jan 5, 2026
749b8f6
Update HERMES_V1_VERSION_NAME to 250829098.0.5 (#55042)
cipolleschi Jan 5, 2026
90e48d6
Capture idle callback before running it (#54984)
mozzius Jan 5, 2026
dfcb56d
Add KDoc documentation to GuardedFrameCallback (#55022)
mdvacca Jan 5, 2026
36a0d9e
Mark setAccessibilityFocus as deprecated (#54968)
Abbondanzo Jan 6, 2026
6587bea
Fixing typos (#55047)
SeaOtocinclus Jan 6, 2026
a425f4f
Fix validate-dotslash-artifacts jobs (#55049)
cipolleschi Jan 6, 2026
26da0fa
translation auto-update for batch 0/61 on master
Jan 6, 2026
e1d2de8
Cleanup useRawPropsJsiValue flag (#55032)
javache Jan 6, 2026
87939fc
Cleanup enableWebPerformanceAPIsByDefault flag (#55052)
rubennorte Jan 6, 2026
7e4fa70
Rerun failed fantom tests (#55053)
cipolleschi Jan 6, 2026
dcfe7f5
Set the release version also to test RC.0 (#55054)
cipolleschi Jan 6, 2026
d19efcf
Incorporate perf_hooks into main Node.js lib defs and align with v24 …
robhogan Jan 6, 2026
625d702
Transform `mixed` to `unknown` in xplat/js (#55048)
marcoww6 Jan 6, 2026
162627a
Add selection to TextInput onChange event (native) (#55044)
alanleedev Jan 6, 2026
c295ec2
Pressability: Setup w/ Insertion Effect (#55060)
yungsters Jan 6, 2026
58bc6c3
Fix unused exception parameter compile error in RCTUIManager catch block
Jan 7, 2026
1cc30dc
Transform $ReadOnly to Readonly 37/n (#55066)
marcoww6 Jan 7, 2026
41efc3b
Transform $ReadOnly to Readonly 38/n (#55067)
marcoww6 Jan 7, 2026
758a3db
Fling: Cleanup `enableVirtualViewExperimental` Feature Flag (#55065)
yungsters Jan 7, 2026
9d1c55b
Simplify the jq command used to read version inside build_android (#5…
cortinico Jan 7, 2026
bed1a9a
Add support for other flex props to the Animation Backend (#54946)
coado Jan 7, 2026
6d5b524
Add support for other view props to the Animation Backend (#54947)
coado Jan 7, 2026
f140c49
Use Hermes V1 as default engine (#54989)
cipolleschi Jan 7, 2026
4bd62a1
Remove "JavaScript logs have moved!" notice (#55075)
huntie Jan 7, 2026
f654168
Disable JS class transforms for Hermes V1 (use SH-native class suppor…
robhogan Jan 7, 2026
5cb9945
Cleanup disableOldAndroidAttachmentMetricsWorkarounds flag (#55035)
javache Jan 7, 2026
af96497
Move ShadowNodeFamily to PropsAnimatedNode (#54879)
Jan 7, 2026
f9e94c0
Sync on js thread after animation finished (#54877)
Jan 7, 2026
ac06f3b
Add option to trigger the backend from events (#54899)
Jan 7, 2026
a5fc307
Incorporate timers into main Node.js lib defs and align with v24 (#55…
robhogan Jan 7, 2026
1f23126
Bump `chromium-edge-launcher` to drop `rimraf` (#54711)
kitten Jan 7, 2026
0d27aed
Future proof for unknown type annotation node (#55069)
gkz Jan 7, 2026
42986f2
fix(android): support `unstable_path` query param in asset URLs (#55072)
tido64 Jan 7, 2026
67efd25
Update debugger-frontend from 1f006e2...d65c7f7 (#55085)
hoxyq Jan 7, 2026
74b8dde
Fling: Delete Legacy Version of `VirtualView` (#55082)
yungsters Jan 7, 2026
1236b6b
Revert D89724839: Disable JS class transforms for Hermes V1 (use SH-n…
robhogan Jan 8, 2026
9c4b92f
Fling: Prepare to Eliminate "Experimental" Suffix (#55086)
yungsters Jan 8, 2026
24c126d
Fix set-version script not updating dependencies under private/ (#55083)
huntie Jan 8, 2026
d527894
Disable JS class transforms for Hermes V1 (use SH-native class suppor…
robhogan Jan 8, 2026
1c94a36
Fling: Rename `VirtualView{Experimental => }` Native Component (#55089)
yungsters Jan 8, 2026
d339c6a
Fling: Cleanup `enableVirtualViewWindowFocusDetection` (#55094)
yungsters Jan 8, 2026
198c1a7
Fling: Cleanup `enableVirtualViewRenderState` (#55095)
yungsters Jan 8, 2026
b9294a7
Fling: Cleanup `virtualViewActivityBehavior` (#55096)
yungsters Jan 8, 2026
876bf20
Fling: Configure `virtualViewPrerenderRatio as Operational (#55098)
yungsters Jan 8, 2026
bb980b0
Fling: Cleanup `virtualViewHysteresisRatio` (#55099)
yungsters Jan 8, 2026
e11a2f0
StyleSheet: Lazily Compute `hairlineWidth` (#55100)
yungsters Jan 8, 2026
f34b870
RN: Verify Debugger Connection Origins (#55101)
yungsters Jan 9, 2026
9c6d94f
Add changelog for 0.84.0-rc.0 (#55091)
huntie Jan 9, 2026
f500af4
Update declare functions to have named params in metro (#55108)
SamChou19815 Jan 9, 2026
20319bd
Remove shouldSetIsClickableByDefault feature flag (#55105)
fabriziocucci Jan 10, 2026
07c0539
Remove shouldResetClickableWhenRecyclingView feature flag (#55106)
fabriziocucci Jan 10, 2026
0cda10b
Revert: Bump minimum Node.js version to v22.11 (prev LTS) (#55113)
robhogan Jan 11, 2026
68aab49
feat:- fix compilation issue with objcxx interop (#55117)
riteshshukla04 Jan 12, 2026
b45c820
Fix tests and reland "[debugger-shell] add debug statements to debugg…
vzaidman Jan 12, 2026
2a776b1
Fix test build breaks after CP https://github.com/google/googletest/c…
Jan 12, 2026
b60f533
Respect accessibilityElementsHidden in recursive label aggregation (#…
Jan 12, 2026
ea6884c
Transform $ReadOnlyMap to ReadonlyMap (#55110)
marcoww6 Jan 13, 2026
e7e87d7
Deploy 0.296.1 to fbsource (#55115)
gkz Jan 13, 2026
393eca5
Update hermes-parser and related packages in fbsource to 0.33.3 (#55092)
gkz Jan 13, 2026
bc8970e
Fix Hermes opt mode for local mac runs (#55138)
javache Jan 13, 2026
5c43ed2
fix(debugger-shell): add missing `debug` dependency (#55145)
tido64 Jan 13, 2026
071a196
Remove the remaining templateprocessor subspec from React-Fabric.pods…
Jan 13, 2026
a4bd79a
Add isBinary parameter to ws$MessageListener type (#55137)
emily8rown Jan 13, 2026
b023830
Fix logspam on CxxPlatform when metro isn't running (#55146)
javache Jan 13, 2026
04bdebc
Remove shouldResetOnClickListenerWhenRecyclingView feature flag (#55118)
fabriziocucci Jan 13, 2026
fc66884
Remove shouldSetEnabledBasedOnAccessibilityState feature flag (#55120)
fabriziocucci Jan 13, 2026
0be68b3
Refactor try/catch blocks to use unknown type annotations (#53938)
rubennorte Jan 13, 2026
2aee426
Remove unnecessary catch bindings (#53939)
rubennorte Jan 13, 2026
ebf117c
Account for REACT_NATIVE_DOWNLOADS_DIR inside fantom (#55148)
cortinico Jan 13, 2026
9438361
Transform `$Values` to `Values` (#55136)
marcoww6 Jan 13, 2026
8c058b4
Compile out UIView mulitpleTouchEnabled for AppleTV (#55127)
sbuggay Jan 14, 2026
b94bf02
Compile out orientation usage for AppleTV (#55128)
sbuggay Jan 14, 2026
fce872d
Compile out various unsupported TextInput APIs for AppleTV (#55129)
sbuggay Jan 14, 2026
53ab483
RCTView compiling for AppleTV (#55130)
sbuggay Jan 14, 2026
42340dc
Replace systemBackgroundColor for AppleTV (#55131)
sbuggay Jan 14, 2026
400a3b5
Fix hardcoded notch marginTop in RNTester (#55132)
sbuggay Jan 14, 2026
f15985f
Compile out UIFontTextStyleLargeTitle
sbuggay Jan 14, 2026
7051a07
Transform $ReadOnlyArray to ReadonlyArray 17/n (#55109)
marcoww6 Jan 14, 2026
92c3278
Transform $ReadOnlyArray to ReadonlyArray 18/n (#55152)
marcoww6 Jan 14, 2026
68e5b4e
Remove shouldUseLinkRoleForPressableText feature flag (#55121)
fabriziocucci Jan 14, 2026
5333759
Bump Xcode to 16.4 and stop downloading Apple SDKs (#55147)
cipolleschi Jan 14, 2026
38d7005
move header template to separate-folder (#54839)
chrfalch Jan 14, 2026
2b66a9a
change to angled include in umbrella (#54840)
chrfalch Jan 14, 2026
7ed7540
Use prebuilds in E2E tests (#55156)
cipolleschi Jan 14, 2026
e53955e
Remove unused code from AnimationBackend (#55155)
coado Jan 14, 2026
0344c0c
fix(typo): Update JDK string version from 11 to 17 (#55167)
gkartalis Jan 14, 2026
adde658
main - Correctly bump hermes-compiler to V1 version
cortinico Jan 14, 2026
77779f8
Forward ACTION_SCROLL events to SwipeRefreshLayout children (#55097)
Abbondanzo Jan 14, 2026
3b46755
fix rctimage observer crash when unloading with events in-flight (#55…
Jan 14, 2026
33641f0
Resolve `use_react_native!(path)` param in `react_native_pods.rb` fro…
kitten Jan 14, 2026
c9c601d
Node.js: Drop support for Node.js versions released before 20.19.4, a…
robhogan Jan 14, 2026
8f4e29b
main - Correctly apply substitution for HERMES_V1_VERSION_NAME (#55159)
cortinico Jan 14, 2026
fcede03
Add changelog for v0.84.0-rc.1 (#55170)
react-native-bot Jan 14, 2026
f1bedfb
Bump packages for next release (#55172)
huntie Jan 14, 2026
caa1fb6
Add ImportantForInteractionHelper for interaction handling (#55168)
fabriziocucci Jan 14, 2026
3fb0a6f
Update prettier-plugin-hermes-parser in fbsource to 0.33.2 (#55173)
gkz Jan 15, 2026
d1fb556
Remove `scripts/cxx-api` (#55162)
j-piasecki Jan 15, 2026
4fb3302
Bump Hermes version to 250829098.0.6 (#55164)
cipolleschi Jan 15, 2026
660a636
Update eslint-plugin-react to 7.37.5 (#55163)
javache Jan 15, 2026
6167171
Add missing include for animated backend (#55180)
rubennorte Jan 15, 2026
cf124f6
Make ImportantForInteractionHelper internal and move to views.view pa…
fabriziocucci Jan 15, 2026
60f9bfd
Transform mixed to unknown (#55176)
marcoww6 Jan 15, 2026
6241e61
RN: Minor Cleanup in `EventEmitter` (#55191)
yungsters Jan 15, 2026
f7cd8c4
RN: Export `EventEmitter` in Public API (#55190)
yungsters Jan 15, 2026
5ab4184
RN: Remove Special Case for "Warning: " Errors (#55193)
yungsters Jan 15, 2026
cd3a9c5
Transform all remaining utility types (#55178)
marcoww6 Jan 16, 2026
9d3cc38
chore: Clear timer functions do noting when a timer does not exist (#…
retyui Jan 16, 2026
0999637
Cleanup useShadowNodeStateOnClone flag (#55033)
javache Jan 16, 2026
58f9141
Propagate Hermes V1 opt-in to Fantom (#55157)
j-piasecki Jan 16, 2026
1c63877
Explicitly enable debugger when building Hermes for Fantom (#55202)
j-piasecki Jan 16, 2026
03b1bf6
Back out "Forward ACTION_SCROLL events to SwipeRefreshLayout children…
Abbondanzo Jan 16, 2026
0649717
Prevent view collapsing when pointerEvents is 'box-only' (#55185)
fabriziocucci Jan 16, 2026
95bac85
Always enable nested scrolling for swipe refresh layouts (#55189)
Abbondanzo Jan 16, 2026
30fd0c4
Log error when unsupported type is passed to interpolation outputRang…
zeyap Jan 16, 2026
ef9bab2
Make ReactSwipeRefreshLayout extendable (#55192)
Abbondanzo Jan 16, 2026
b8392ad
Remove Surface Handlers for AppleTV (#55196)
sbuggay Jan 16, 2026
1165c07
Log/redbox compiling for AppleTV (#55197)
sbuggay Jan 16, 2026
3bc9a5c
Stub unsupported components for AppleTV (#55198)
sbuggay Jan 16, 2026
808882c
Add tvOS to various @available version directives (#55199)
sbuggay Jan 16, 2026
7b0dbc1
Get RCTPushNotificationManager compiling for AppleTV (#55214)
sbuggay Jan 16, 2026
87d3a19
Compile out more unsupported UIKit APIs (#55213)
sbuggay Jan 16, 2026
0d64cf2
Fix react-native-github/packages/react-native-codegen/e2e/namespaced/…
marcoww6 Jan 17, 2026
3f56ac0
Fix react-native-github/packages/react-native-codegen/e2e/deep_import…
marcoww6 Jan 17, 2026
d9ee4bb
Add `scrollsChildToFocus` prop to ScrollView to control automatic scr…
johankasperi Jan 17, 2026
23aa4dd
Transform another round of xplat (#55217)
marcoww6 Jan 17, 2026
97c9202
Deploy 0.297.0 to xplat (#55218)
marcoww6 Jan 18, 2026
9353eb5
- Fix fontVariant stylistic sets being ignored in New Architecture (#…
dragoncodes Jan 18, 2026
2e9b7fb
Align Flow lib defs for Node.js child_process with v24 (#55186)
robhogan Jan 18, 2026
9f686f2
Fix regression stopping `--project-directory` from working (#55204)
kitten Jan 19, 2026
3d0f6a0
Test change to see if js api dif changes script compares
emily8rown Jan 19, 2026
d9103e1
added new type test to exports
emily8rown Jan 19, 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 @@ -69,7 +69,7 @@ munge_underscores=true
module.name_mapper='^react-native$' -> '<PROJECT_ROOT>/packages/react-native/index.js'
module.name_mapper='^react-native/\(.*\)$' -> '<PROJECT_ROOT>/packages/react-native/\1'
module.name_mapper='^@react-native/dev-middleware$' -> '<PROJECT_ROOT>/packages/dev-middleware'
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 @@ -98,4 +98,4 @@ untyped-import
untyped-type-import

[version]
^0.289.0
^0.297.0
26 changes: 18 additions & 8 deletions .github/actions/build-android/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,17 @@ runs:
uses: ./.github/actions/setup-node
- name: Install node dependencies
uses: ./.github/actions/yarn-install
- name: Read current RNVersion
shell: bash
id: read-rn-version
run: |
echo "rn-version=$(jq -r '.version' packages/react-native/package.json)" >> $GITHUB_OUTPUT
- name: Set React Native Version
# We don't want to set the version for stable branches, because this has been
# already set from the 'create release' commits on the release branch.
if: ${{ !endsWith(github.ref_name, '-stable') }}
# For testing RC.0, though, the version has not been set yet. In that case, we are on Stable branch and
# it is the only case when the version is still 1000.0.0
if: ${{ !endsWith(github.ref_name, '-stable') || endsWith(github.ref_name, '-stable') && steps.read-rn-version.outputs.rn-version == '1000.0.0' }}
shell: bash
run: node ./scripts/releases/set-rn-artifacts-version.js --build-type ${{ inputs.release-type }}
- name: Setup gradle
Expand All @@ -28,7 +35,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 +52,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 +91,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
8 changes: 4 additions & 4 deletions .github/actions/maestro-ios/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ runs:
run: |
brew tap facebook/fb
brew install facebook/fb/idb-companion
- name: Set up JDK 11
uses: actions/setup-java@v2
- name: Set up JDK 17
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
2 changes: 1 addition & 1 deletion .github/actions/setup-node/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ 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
24 changes: 1 addition & 23 deletions .github/actions/setup-xcode/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,33 +4,11 @@ inputs:
xcode-version:
description: 'The xcode version to use'
required: false
default: '16.2.0'
platform:
description: 'The platform to use. Valid values are: ios, ios-simulator, macos, mac-catalyst, tvos, tvos-simulator, xros, xros-simulator'
required: false
default: 'macos'
default: '16.4.0'
runs:
using: "composite"
steps:
- name: Setup xcode
uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd
with:
xcode-version: ${{ inputs.xcode-version }}
- name: Setup Platform ${{ inputs.platform }}
if: ${{ inputs.platform != 'macos' && inputs.platform != 'mac-catalyst' }}
shell: bash
run: |
# https://github.com/actions/runner-images/issues/12541
sudo xcodebuild -runFirstLaunch
sudo xcrun simctl list

# Install platform based on the platform
if [[ "${{ inputs.platform }}" == "xros" || "${{ inputs.platform }}" == "xros-simulator" ]]; then
sudo xcodebuild -downloadPlatform visionOS
elif [[ "${{ inputs.platform }}" == "tvos" || "${{ inputs.platform }}" == "tvos-simulator" ]]; then
sudo xcodebuild -downloadPlatform tvOS
else
sudo xcodebuild -downloadPlatform iOS
fi

sudo xcodebuild -runFirstLaunch
Loading
Loading