Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
586 commits
Select commit Hold shift + click to select a range
f346ab5
Deploy 0.300.0 to xplat (#55525)
mvitousek Feb 11, 2026
ad8ac5e
Add DrawCommandSpan Usable with PreparedLayoutTextView (#55526)
NickGerleman Feb 11, 2026
4ef7ac3
Fix CQS signal modernize-use-designated-initializers in xplat/yoga/yo…
Feb 11, 2026
a035363
Fix: [iOS][Fabric] Correctly mark inline attachments as clipped when …
delekta Feb 11, 2026
19faf7e
Fix multiple lint warnings in NativeViewHierarchyManager (#55499)
mdvacca Feb 12, 2026
4d152ff
Add updateRuntimeShadowNodeReferencesOnCommitThread feature flag (#55…
Feb 12, 2026
f3678f5
Animation Backend docs (#55488)
Feb 12, 2026
5ee695a
fix: missing symbols on prebuilt Android with hermesV1 disabled (#55400)
tjzel Feb 12, 2026
6802eb9
Move RCT_DEV_SETTINGS_ENABLE_PACKAGER_CONNECTION to its only consumer…
javache Feb 12, 2026
b97ca6e
Update build to better locate prepack script (#55536)
huntie Feb 12, 2026
d7a1d08
Create featureflag viewTransitionEnabled (#55537)
zeyap Feb 12, 2026
349cf15
Fixing fb4a crashes due to null pointer exception (#55529)
Feb 13, 2026
e803a34
Fix NonStaticNestedClass: Make inner class static (#55501)
mdvacca Feb 13, 2026
283442c
Fix MissingOverrideAnnotation: Add @Override to flex methods (#55502)
mdvacca Feb 13, 2026
78e2dc4
Fix DeadVariable and NotInvokedPrivateMethod: Remove unused code (#55…
mdvacca Feb 13, 2026
c8b6339
Fix HasBetterKotlinAlternativeMethod: Use Kotlin joinToString (#55504)
mdvacca Feb 13, 2026
cccc180
Fix HasBetterKotlinAlternativeMethod: Use Kotlin joinToString in Text…
mdvacca Feb 13, 2026
54b4cb5
Fix crash in `cloneMultiple` when families have no path to root (#55491)
coado Feb 13, 2026
369a817
Fix crash in RawPropsKeyMap::at() for out-of-bounds prop name lengths…
javache Feb 13, 2026
30600f7
Add integration tests for multi-session Debugger.enable (#55542)
motiz88 Feb 13, 2026
a08b2d2
Bump some babel deps (code-frame,generator,parser,template,traverse,t…
robhogan Feb 13, 2026
a308014
Suppress LogBox during performance tracing (#55470)
emily8rown Feb 13, 2026
6f54846
Allow overriding dev server ip via property (#55531)
amartinz Feb 13, 2026
9eb68a5
Remove enableClipChildrenForOverflowHidden logic (#55546)
fabriziocucci Feb 13, 2026
7146c13
Remove enableClipChildrenForOverflowHidden feature flag (#55547)
fabriziocucci Feb 13, 2026
5d0d941
useAnimatedValue in react-native-github (#55551)
lunaleaps Feb 13, 2026
3618224
Remove TextInlineImageNativeComponent Remnants (#55434)
NickGerleman Feb 14, 2026
b92d378
upstream useAnimatedColor and useAnimatedValueXY (#55539)
zeyap Feb 14, 2026
51ec52e
Fix image disappearing on Nougat with antialiased border radius clipp…
Abbondanzo Feb 14, 2026
4a7bc4c
Refactor how we promote shadow tree revisions as latest for JS consis…
j-piasecki Feb 16, 2026
61e9629
Add feature flag for Fabric commit branching (#54834)
j-piasecki Feb 16, 2026
45b4817
Implement Fabric commit branching (behind a flag) (#54835)
j-piasecki Feb 16, 2026
47e5e6c
Schedule JS revision merge on the main thread (#54837)
j-piasecki Feb 16, 2026
c8d498d
Add a synchronization mechanism for the layout information kept in th…
j-piasecki Feb 16, 2026
149a4b8
Add animation backend examples to catalyst (#55474)
Feb 16, 2026
3f200a2
Add conditional Android/iOS job runs in test-all workflow (#55449)
huntie Feb 16, 2026
9e49b37
Set LC_ALL: C.UTF8 to further jobs to unblock nightly (#55564)
cortinico Feb 16, 2026
22b9b3b
Cleanup PreparedLayoutTextView Recycling (#55554)
NickGerleman Feb 16, 2026
04b9107
Deploy 0.301.0 to xplat (#55561)
gkz Feb 16, 2026
79182c2
Explicitely set REACT_NATIVE_DOWNLOADS_DIR to use predownloaded deps …
cortinico Feb 16, 2026
88d40dc
Fix transformer changing process.env.BABEL_ENV as a side-effect, tran…
robhogan Feb 16, 2026
945d1f5
Add @Nullsafe(Nullsafe.Mode.LOCAL) to clean interfaces and classes
Feb 16, 2026
db45c28
Update React Native DevTools binaries
Feb 16, 2026
a175bff
Initial support for selectable text with enablePreparedTextLayout (#5…
NickGerleman Feb 17, 2026
66a7057
Move RCTComponentViewHelpers to ios specific directory (#55565)
j-piasecki Feb 17, 2026
cdf7836
Fix typos in feature flags utils comments (#55573)
fabriziocucci Feb 17, 2026
4dfefd1
upgrade undici from 5.29.0 to 6.23.0 (#55574)
philIip Feb 17, 2026
c5ae0c8
fix(react-native): resolve included-build gradle.properties from pare…
Titozzz Feb 17, 2026
bd57e6a
Add shared DevSupportHttpClient singleton (#55575)
cortinico Feb 17, 2026
338a6eb
Migrate Animated examples to Flow component syntax (#55583)
fabriziocucci Feb 17, 2026
51dc568
Migrate FlatList examples to Flow component syntax (#55584)
fabriziocucci Feb 17, 2026
16d4bd1
Sync clipToPadding with overflow on Android views (#55563)
fabriziocucci Feb 18, 2026
3296af7
Revert D92928315: Initial support for selectable text with enablePrep…
vladstoick Feb 18, 2026
5681db0
Remove deprecated StyleSheet.absoluteFill API (#55541)
huntie Feb 18, 2026
b9c9017
Migrate SectionList examples to Flow component syntax (#55585)
fabriziocucci Feb 18, 2026
b5bb600
Migrate ScrollView examples to Flow component syntax (#55593)
fabriziocucci Feb 18, 2026
826392f
Migrate Observer API examples to Flow component syntax (#55596)
fabriziocucci Feb 18, 2026
4373b84
Migrate Text examples to Flow component syntax (#55594)
fabriziocucci Feb 18, 2026
51d9b49
Migrate Experimental examples to Flow component syntax (#55595)
fabriziocucci Feb 18, 2026
ac57f64
Migrate DevServerHelper to shared OkHttpClient (#55576)
cortinico Feb 18, 2026
99ed910
Delegate no-arg PackagerStatusCheck constructor to shared OkHttpClien…
cortinico Feb 18, 2026
a92c7b1
Fix per-tap OkHttpClient allocation in RedBoxContentView (#55578)
cortinico Feb 18, 2026
21d7efa
Fix thread-safety race in InspectorNetworkHelper (#55579)
cortinico Feb 18, 2026
1cef987
Migrate CxxInspectorPackagerConnection to shared OkHttpClient (#55580)
cortinico Feb 18, 2026
0ebe6b6
Migrate ReconnectingWebSocket to shared OkHttpClient (#55581)
cortinico Feb 18, 2026
99ee571
Add custom request header support to DevSupportHttpClient (#55582)
cortinico Feb 18, 2026
c4ae055
Split out Jest preset to `@react-native/jest-preset` (#55169)
kitten Feb 18, 2026
ba4ed28
Add host instance pointer and text node feature flags (#55614)
Feb 18, 2026
907391f
Add RCTDevSupportHttpHeaders singleton (#55586)
cortinico Feb 18, 2026
ec59df6
Apply custom headers in RCTMultipartDataTask (#55607)
cortinico Feb 18, 2026
782e310
Apply custom headers in RCTBundleURLProvider (#55608)
cortinico Feb 18, 2026
583fa27
Apply custom headers in RCTInspectorDevServerHelper (#55609)
cortinico Feb 18, 2026
93a765b
add copyright header to Package.swift.template (#55599)
philIip Feb 18, 2026
44901aa
Fix Double Fire of Pressable Text (#55606)
NickGerleman Feb 19, 2026
b38428c
Fix js sync on animation end in Animation Backend (#55566)
Feb 19, 2026
55984e2
fix: add missing jest-preset.js export (#55618)
mdjastrzebski Feb 19, 2026
dd02486
Apply custom headers in RCTInspectorNetworkHelper (#55610)
cortinico Feb 19, 2026
59bc389
Apply custom headers in RCTReconnectingWebSocket (#55611)
cortinico Feb 19, 2026
424bfe1
Deploy 0.302.0 to xplat (#55617)
marcoww6 Feb 19, 2026
d073182
feat: [TypeScript] Add missing `onPressMove` prop to `<Pressable />` …
retyui Feb 19, 2026
e59d633
Apply custom headers in RCTCxxInspectorWebSocketAdapter (#55612)
cortinico Feb 19, 2026
21ada9c
Migrate LogBoxInspectorSection to Flow component syntax (#55619)
fabriziocucci Feb 19, 2026
7e4c994
Generate Kotlin files with enums.py (#55631)
mateoguzmana Feb 20, 2026
21ab455
PreparedLayout -> PreparedTextLayout (#55558)
NickGerleman Feb 20, 2026
2111bec
Formalize Text in JS as overflow: hidden by default (fixes overflow: …
NickGerleman Feb 20, 2026
8a740ac
Fix updating peerDependencies for releases (#55630)
mdjastrzebski Feb 20, 2026
1292c8b
Migrate LayoutShadowNode from Java to Kotlin (#55523)
cortinico Feb 20, 2026
e61f1bf
Migrate LogBoxButton to Flow component syntax (#55620)
fabriziocucci Feb 20, 2026
7f301c9
Migrate LogBoxInspectorStackFrame to Flow component syntax (#55621)
fabriziocucci Feb 20, 2026
61e4632
Migrate LogBoxInspectorSourceMapStatus to Flow component syntax (#55622)
fabriziocucci Feb 20, 2026
aeacb60
Migrate LogBoxInspectorMessageHeader to Flow component syntax (#55623)
fabriziocucci Feb 20, 2026
da6f819
Migrate LogBoxInspectorReactFrames to Flow component syntax (#55624)
fabriziocucci Feb 20, 2026
11315e6
Migrate LogBoxInspectorCodeFrame to Flow component syntax (#55625)
fabriziocucci Feb 20, 2026
75a0857
Migrate LogBoxInspectorStackFrames to Flow component syntax (#55626)
fabriziocucci Feb 20, 2026
ecd08b3
Migrate LogBoxMessage to Flow component syntax (#55627)
fabriziocucci Feb 20, 2026
57842e7
Fix union type alias sorting (#55603)
elicwhite Feb 20, 2026
9fdaac3
Show type alias name in union member errors (#55604)
elicwhite Feb 20, 2026
4e7b19a
Delete NativeViewHierarchyOptimizer (#55657)
mdvacca Feb 20, 2026
7de3dbe
Stub UIViewOperationQueue and remove its usages (#55658)
mdvacca Feb 20, 2026
4ad76b6
PreparedLayoutTextView: Don't show a selection highlight when tapping…
NickGerleman Feb 20, 2026
47c7165
Enable defaultTextToOverflowHidden by default (#55632)
NickGerleman Feb 21, 2026
3918dd1
Fix potential bitmap leaks in FrameTimingsObserver (#55652)
huntie Feb 21, 2026
352d73b
Add NativeViewHierarchyOptimizer parameter to ReactShadowNode methods…
mdvacca Feb 21, 2026
aabdf55
Fix infinite recursion in ReactPropAnnotationSetterSpecTest (#55662)
Feb 23, 2026
9b90675
Include manufacturer in deviceName metadata (#55699)
huntie Feb 23, 2026
58ed78f
Update Metro to 0.84.0 (#55672)
robhogan Feb 23, 2026
ddadca7
clean up ShadowNode class (#55685)
sammy-SC Feb 23, 2026
755895e
Remove legacy debugger entry point selection (#55548)
huntie Feb 23, 2026
8250db6
Remove prefersFuseboxFrontend from event reporter (#55549)
huntie Feb 23, 2026
421de23
Remove prefersFuseboxFrontend capability flag (#55550)
huntie Feb 23, 2026
cd4a2bd
Use ConfigurationCompat for locale access in I18nManagerModule (#55663)
alanleedev Feb 23, 2026
e112934
sync bundling progress between Metro cli and app hints (#55654)
vzaidman Feb 23, 2026
56e1710
sync bundling progress between Metro cli and app hints (#55655)
vzaidman Feb 23, 2026
2e3284c
downgrade NativeViewHierarchyOptimizer deprecation from ERROR to WARN…
sammy-SC Feb 23, 2026
efb80f9
xplat/js/react-native-github/packages/react-native/ReactAndroid/src/m…
javache Feb 23, 2026
ac1aa75
chore: fix typos in test descriptions and code comments (#55651)
szarbartosz Feb 23, 2026
42cd0f0
Fix TextInput isFocused false positive on stale refs after unmount (#…
chicio Feb 23, 2026
a04904c
Export ViewConfig processor attributes from ReactNativeStyleAttribute…
NickGerleman Feb 24, 2026
6c83352
Fix hard errors in filter parsing (#55675)
NickGerleman Feb 24, 2026
d0acce9
Wire native CSS parsing for transform (#55677)
NickGerleman Feb 24, 2026
8915d81
make metro accept tls server config (#55701)
vzaidman Feb 24, 2026
4626732
Deprecate RCTHostRuntimeDelegate and merge into RCTHostDelegate (#54915)
tsapeta Feb 24, 2026
bd4eee2
Fix flaky Modal-itest by adding proper root cleanup (#55712)
sammy-SC Feb 24, 2026
e26de8b
Update debugger-frontend from d65c7f7...8edd9be (#55705)
huntie Feb 24, 2026
ca9d81b
SurfaceMountingManager kotlin nits (#55716)
javache Feb 24, 2026
1707d30
stop standalone Devtools from starting in Fantom (#55713)
sammy-SC Feb 24, 2026
cfb9183
Fix minor issues in UIManager (#55686)
sammy-SC Feb 24, 2026
f31bb88
Add missing test cases for processBoxShadow parseLength edge cases (#…
sammy-SC Feb 24, 2026
863f5c0
Capture initial screenshot when starting frame timing trace (#55720)
rubennorte Feb 24, 2026
00184ac
Add Intersection Observer E2E tests for FB (#55656)
lunaleaps Feb 24, 2026
1813df7
Remove deprecated ShadowNode type aliases (#55687)
sammy-SC Feb 24, 2026
371b5b2
Setup doxygen configuration (#55639)
j-piasecki Feb 25, 2026
a65d884
Add basic doxygen wrapper and setup tests (#55640)
j-piasecki Feb 25, 2026
25e4025
Add basic test cases and parser implementation (#55641)
j-piasecki Feb 25, 2026
e69c08b
Handle enums in C++ API snapshot (#55691)
j-piasecki Feb 25, 2026
efc1528
Handle functions in C++ API snapshot (#55692)
j-piasecki Feb 25, 2026
2246457
Handle type aliases in C++ API snapshot (#55694)
j-piasecki Feb 25, 2026
e4ded3b
Handle templates in the C++ API snapshot (#55693)
j-piasecki Feb 25, 2026
f9db851
Handle concepts in the C++ API snapshot (#55695)
j-piasecki Feb 25, 2026
e0b9054
Integrate codegen into the api snapshot and allow configuration (#55642)
j-piasecki Feb 25, 2026
63f1e29
Wire native CSS parsing for transformOrigin (#55682)
NickGerleman Feb 25, 2026
677330a
Exclude benchmark tests by default, add --benchmarks flag (#55725)
sammy-SC Feb 25, 2026
5229e50
Fix memory leak in TextInput (#55719)
mobinni Feb 25, 2026
34fb790
Split definition to separate statements (#55572)
j-piasecki Feb 25, 2026
89df2e3
Fix Buck2 --out permission errors on macOS for claude code (#55736)
sammy-SC Feb 25, 2026
8230f3b
Refactor FrameTimingsObserver for multi-activity support (#55740)
rubennorte Feb 25, 2026
117f3c9
Return null from resolveView for stopped surfaces (#55737)
javache Feb 25, 2026
537d2a6
fix(ios): force zero width for empty Text component (#55472)
Hector-Zhuang Feb 25, 2026
fc927b1
Add missing default labels to CSS parser switch statements (#55689)
NickGerleman Feb 25, 2026
36b7158
Wire native CSS color parsing (#55679)
NickGerleman Feb 25, 2026
0ce2790
Update GenerateViewConfigJs for native CSS parsing (#55676)
NickGerleman Feb 25, 2026
e0d34b2
Fix visibility of DevSupportHttpClient by extracting DevSupportReques…
cortinico Feb 25, 2026
8038237
Move objective-c legacyviewmanagerinterop files to a platform-specifi…
j-piasecki Feb 25, 2026
796a9a8
Remove deprecated ImageManager and ContextContainer type aliases (#55…
sammy-SC Feb 25, 2026
9cff12c
Deprecate and replace obscure ShadowNode type aliases (#55690)
sammy-SC Feb 25, 2026
f5a921f
Remove redundant operator!= definitions in react-native-github (#55746)
NickGerleman Feb 25, 2026
5993308
Default operator== definitions in react-native-github (#55750)
NickGerleman Feb 25, 2026
357dd6b
Reorganize utils and add generalize type string parsing (#55698)
j-piasecki Feb 25, 2026
f013533
Qualify type arguments based on scope context (#55697)
j-piasecki Feb 25, 2026
bf4978e
Fix trailing return type in virtual functions (#55644)
j-piasecki Feb 25, 2026
269a2ee
Fix indexed access in function arguments (#55645)
j-piasecki Feb 25, 2026
5e4da84
Fix handling of unnamed template arguments (#55646)
j-piasecki Feb 25, 2026
03c1399
Update sorting and grouping behavior (#55647)
j-piasecki Feb 25, 2026
de87d99
Fix repo root resolution (#55648)
j-piasecki Feb 25, 2026
6ea9236
Handle brace initializers (#55650)
j-piasecki Feb 25, 2026
481134a
Unify doxygen text parsing (#55696)
j-piasecki Feb 25, 2026
36212c2
Unify CSSCompoundDataType with its variant (#55738)
NickGerleman Feb 25, 2026
4d66a26
Replace CSSSyntaxParser with CSSValueParser in data type sinks
NickGerleman Feb 25, 2026
984dbe8
Reset contentInset in scroll view prepareForRecycle (#55733)
sandeee1928 Feb 25, 2026
017bf1a
Fix asan/tsan env options handling (#55753)
Feb 25, 2026
77cb2ba
Fix const-correctness for EventTarget (#55681)
sammy-SC Feb 26, 2026
df5d42e
Wire native CSS parsing for aspectRatio (#55683)
NickGerleman Feb 26, 2026
62fd7a1
Wire native CSS parsing for fontVariant (#55684)
NickGerleman Feb 26, 2026
4f7fa58
Allow HermesJSRuntime/HermesRuntimeTargetDelegate to take both jsi::R…
lavenzg Feb 26, 2026
c2156a8
Stub NativeViewHierarchyManager and clean up usages (#55758)
mdvacca Feb 26, 2026
fbe15f6
Stub UIImplementation and clean up usages (#55759)
mdvacca Feb 26, 2026
f8daca0
Refactor ParagraphComponentDescriptor to support subclassing (#55634)
NickGerleman Feb 26, 2026
1bf9356
Add SelectableParagraph component and SelectableTextViewManager (#55635)
NickGerleman Feb 26, 2026
da3b883
Register SelectableTextViewManager in all ReactPackages (#55636)
NickGerleman Feb 26, 2026
4185ff8
Route selectable text through NativeSelectableText (#55678)
NickGerleman Feb 26, 2026
b2ccbb2
Teach ReactTextView Hit Testing/a11y about Facsimile State (Fixes hit…
NickGerleman Feb 26, 2026
8bf035d
Support textBreakStrategy and justificationMode for Selectable Facsim…
NickGerleman Feb 26, 2026
8475dcc
Rename template type not to collide with existing identifier (#55741)
j-piasecki Feb 26, 2026
d1b2ddc
Fix const-correctness for EventEmitter (#55714)
sammy-SC Feb 26, 2026
e76a6e2
Fix regression fetching file:// URI scheme in fetch() and XMLHttpRequ…
bhamiltoncx Feb 26, 2026
ec29c29
fix RCTBundleURLProvider crash when failing to check isPackagerRunnin…
vzaidman Feb 26, 2026
7d2d3a2
Fix SIGSEGV in ShadowNode::getTag() caused by use-after-free in findS…
Abbondanzo Feb 26, 2026
bc47849
Fix dirtied callback firing on removed children (#55717)
Feb 26, 2026
078f5ca
Remove unreferenced ReactNativeViewAttributes (#55782)
javache Feb 26, 2026
426cae6
Add Fantom integration tests (#55760)
sammy-SC Feb 26, 2026
f56b295
Reorder FrameTimingsObserver methods (#55743)
huntie Feb 26, 2026
e5f9f5f
Increase frame capture quality, apply scaling after DPI normalization…
huntie Feb 26, 2026
d552f2a
Fix FrameTimingsObverver to initiate PixelCopy on main thread (#55744)
huntie Feb 26, 2026
3924768
Fix bitmap reuse race condition in FrameTimingsObserver (#55745)
huntie Feb 26, 2026
47684ca
Fix trailing frame capture after recording ended (#55704)
huntie Feb 26, 2026
fc9940d
Fix FieldsBelowInit: Move property declarations before init block (#5…
mdvacca Feb 26, 2026
58d9486
Expose DevSupportHttpClient as public API (#55778)
cortinico Feb 26, 2026
4206c12
Rename BrowserLauncher interface and implementations
huntie Feb 26, 2026
703fe8b
Add module mock for DefaultToolLauncher and apply in tests (#55728)
huntie Feb 26, 2026
2f9711d
Fix race causing NPE in AccessibilityInfoModule event emission (#55792)
alanleedev Feb 27, 2026
1eca581
Add C++ sampling profiler support with FANTOM_PROFILE_CPP (#55735)
sammy-SC Feb 27, 2026
e5d2d95
Restore getUIImplementation() stub for backwards compatibility (#55798)
sammy-SC Feb 27, 2026
4e5d45f
Deprecate getEventDispatcher variants (#55779)
javache Feb 27, 2026
34779df
iOS - Image Timeout Exception Issue Fix (#55519)
Feb 27, 2026
947f5cd
Fix `Image` Jest mock after extraction to separate package (#55710)
mdjastrzebski Feb 27, 2026
0d40f2a
Remove NetworkEventUtil compatibility overloads (#55769)
huntie Feb 27, 2026
cc44e96
Re-implement request body previews on Android (#55456)
huntie Feb 27, 2026
f906121
Handle constexpr functions (#55801)
j-piasecki Feb 27, 2026
7e8a560
Use HTTPS/WSS for dev-support traffic when port is 443 (#55790)
cortinico Feb 27, 2026
e5d720d
Added missing tests for Standalone fusebox shell (#55460)
chicio Feb 27, 2026
178c30d
Fix const-correctness for ShadowNodeFamily (#55783)
sammy-SC Feb 27, 2026
7d4e5ef
Simplify LinearGradient angle (#55800)
javache Feb 27, 2026
f7091b4
Add tests for timestamps in events (#55799)
rubennorte Feb 27, 2026
05d64d9
Remove legacy event dispatching logic (#55802)
javache Feb 27, 2026
f88946d
Fix bug where offscreen layers would erroneously draw black pixels (#…
Abbondanzo Feb 27, 2026
c3acbc4
feat: enable reading fonts registered via addCustomFont (#55711)
vonovak Feb 27, 2026
21fae86
Fix DynamicFromArray thread-safety by using ThreadLocal pool (#55793)
edwii-zhu Feb 27, 2026
0eb5e65
Fix transformOrigin calculating based on incorrect value (#55796)
MazinZ Feb 27, 2026
6b7ef31
fix(iOS): correct RTL ScrollView offset on recycle in Fabric (#55804)
benslimanh Feb 27, 2026
ee5b089
Deploy 0.303.0 to xplat (#55791)
panagosg7 Feb 27, 2026
45de710
Fix crash in tracking spring animations when toValue node is detached…
kmsbernard Feb 27, 2026
0889f7d
Delete deprecated CatalystInstanceImpl and C++ counterparts (#55789)
mdvacca Feb 28, 2026
ff67a1b
Revert D94052733 - S627731 (#55815)
Feb 28, 2026
83d7c46
Revert D94052732 - S627731 (#55816)
Feb 28, 2026
ca7edaf
Guard WindowManager access in DisplayMetricsHolder for non-visual con…
alanleedev Feb 28, 2026
c5a38ab
Babel preset: don't override `dev` based on omission of obsolete `wit…
robhogan Feb 28, 2026
4d96fb5
Fix UIManagerModule.getUIImplementation() to return a non-null UIImpl…
cortinico Feb 28, 2026
d6042d2
Add Fantom integration tests for ActivityIndicator (#55767)
sammy-SC Feb 28, 2026
b2efda0
Improve bundling error message formatting (#55794)
Mar 2, 2026
f66d201
Optimize C++ header includes in renderer (#55788)
sammy-SC Mar 2, 2026
aefe0f5
Skip set-rn-artifacts-version for PRs targeting stable branches (#55809)
cipolleschi Mar 2, 2026
8cdcdf2
Babel transformer: Use `envName` to hint default value of `dev`, don'…
robhogan Mar 2, 2026
a7fe602
Migrate processBoxShadow tests to Fantom (#55820)
sammy-SC Mar 2, 2026
e131561
Replace TinyMap with std::unordered_map in Differentiator (#55680)
sammy-SC Mar 2, 2026
1cd0387
Add tests for aria- props (#55851)
sammy-SC Mar 2, 2026
67db89d
Add back receiveTouches on RCTEventEmitter with default implementatio…
javache Mar 2, 2026
b5c815c
Optimize processBoxShadow with pre-compiled regex patterns (#55825)
sammy-SC Mar 2, 2026
49d7871
feat: merge React Native 0.85 fork point into 0.84-merge
Saadnajmi Jul 16, 2026
aa440a6
fix(workspaces): align 0.85 package metadata
Saadnajmi Jul 17, 2026
9c8feac
fix(jest): preserve macOS platform resolution
Saadnajmi Jul 17, 2026
96966e2
fix(ios-prebuild): parse multiline podspec sources
Saadnajmi Jul 17, 2026
3854352
fix(types): reconcile 0.85 public type surfaces
Saadnajmi Jul 17, 2026
6e8bc14
fix(apple): integrate 0.85 platform APIs
Saadnajmi Jul 17, 2026
109e8da
chore: regenerate dependency lockfile
Saadnajmi Jul 17, 2026
2b4fb68
chore: regenerate RNTester CocoaPods metadata
Saadnajmi Jul 17, 2026
37fc284
chore: regenerate API and test snapshots
Saadnajmi Jul 17, 2026
982851e
docs: update 0.85 upstream differences
Saadnajmi Jul 17, 2026
2741f44
chore: audit 0.85 macOS diff tags
Saadnajmi Jul 17, 2026
404aa45
docs: keep upstream diff guide focused on tag conventions
Saadnajmi Jul 17, 2026
dcd3d60
fix: align hover guards with upstream 0.85
Saadnajmi Jul 17, 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 @@ -17,3 +17,4 @@ private/react-native-codegen-typescript-test/lib/**/*
**/Pods/*
**/*.macos.js
**/*.windows.js
**/__fixtures__/**
2 changes: 1 addition & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ module.exports = {
'**/__fixtures__/**/*.js',
'**/__mocks__/**/*.js',
'**/__tests__/**/*.js',
'packages/react-native/jest/**/*.js',
'packages/jest-preset/jest/**/*.js',
'packages/rn-tester/**/*.js',
],
globals: {
Expand Down
5 changes: 1 addition & 4 deletions .flowconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@
; Ignore the codegen e2e tests
<PROJECT_ROOT>/packages/react-native-codegen/e2e/__test_fixtures__/modules/NativeEnumTurboModule.js

; Ignore the Dangerfile
<PROJECT_ROOT>/private/react-native-bots/dangerfile.js

; Ignore "BUCK" generated dirs
<PROJECT_ROOT>/\.buckd/

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

[version]
^0.295.0
^0.303.0
11 changes: 10 additions & 1 deletion .github/actions/build-android/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,19 @@ 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
# We also skip this when the PR targets a stable branch (github.base_ref ends with '-stable'),
# since the version is already set on the stable branch.
if: ${{ !endsWith(github.ref_name, '-stable') && !endsWith(github.base_ref || '', '-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 Down
54 changes: 48 additions & 6 deletions .github/actions/diff-js-api-changes/action.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,34 @@
name: diff-js-api-changes
description: Check for breaking changes in the public React Native JS API
outputs:
message:
description: Formatted markdown message describing API changes, or empty if no changes
value: ${{ steps.format_output.outputs.message }}
runs:
using: composite
steps:
- name: Compute merge base with main
- name: Fetch PR and main, compute merge base
id: merge_base
shell: bash
env:
PR_SHA: ${{ github.event.pull_request.head.sha }}
run: |
git fetch origin main
git fetch --deepen=500
echo "merge_base=$(git merge-base HEAD origin/main)" >> $GITHUB_OUTPUT
git fetch origin "$PR_SHA" --depth=500
echo "merge_base=$(git merge-base "$PR_SHA" origin/main)" >> $GITHUB_OUTPUT

- name: Output snapshot before state for comparison
- name: Extract before and after API snapshots
shell: bash
env:
SCRATCH_DIR: ${{ runner.temp }}/diff-js-api-changes
MERGE_BASE: ${{ steps.merge_base.outputs.merge_base }}
PR_SHA: ${{ github.event.pull_request.head.sha }}
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 \
git show "$MERGE_BASE":packages/react-native/ReactNativeApi.d.ts > $SCRATCH_DIR/ReactNativeApi-before.d.ts \
|| echo "" > $SCRATCH_DIR/ReactNativeApi-before.d.ts
git show "$PR_SHA":packages/react-native/ReactNativeApi.d.ts > $SCRATCH_DIR/ReactNativeApi-after.d.ts \
|| echo "" > $SCRATCH_DIR/ReactNativeApi-after.d.ts

- name: Run breaking change detection
shell: bash
Expand All @@ -27,5 +37,37 @@ runs:
run: |
node ./scripts/js-api/diff-api-snapshot \
$SCRATCH_DIR/ReactNativeApi-before.d.ts \
./packages/react-native/ReactNativeApi.d.ts \
$SCRATCH_DIR/ReactNativeApi-after.d.ts \
> $SCRATCH_DIR/output.json

- name: Format output message
id: format_output
shell: bash
env:
SCRATCH_DIR: ${{ runner.temp }}/diff-js-api-changes
run: |
if [ ! -f "$SCRATCH_DIR/output.json" ]; then
echo "message=" >> $GITHUB_OUTPUT
exit 0
fi

RESULT=$(cat $SCRATCH_DIR/output.json | jq -r '.result // empty')
if [ -z "$RESULT" ] || [ "$RESULT" = "NON_BREAKING" ]; then
echo "message=" >> $GITHUB_OUTPUT
exit 0
fi

# Use delimiter for multiline output
{
echo "message<<EOF"
echo "> [!WARNING]"
echo "> **JavaScript API change detected**"
echo ">"
echo "> This PR commits an update to \`ReactNativeApi.d.ts\`, indicating a change to React Native's public JavaScript API."
echo ">"
echo "> - Please include a **clear changelog message**."
echo "> - This change will be subject to additional review."
echo ">"
echo "> This change was flagged as: \`${RESULT}\`"
echo "EOF"
} >> $GITHUB_OUTPUT
55 changes: 0 additions & 55 deletions .github/actions/lint/action.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/actions/maestro-ios/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ runs:
run: |
brew tap facebook/fb
brew install facebook/fb/idb-companion
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
java-version: '17'
Expand Down
55 changes: 55 additions & 0 deletions .github/actions/post-pr-comment/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: post-pr-comment
description: Post or update a PR comment, or delete if no sections
inputs:
sections:
description: 'JSON array of markdown sections to include in comment'
required: false
default: '[]'
header:
description: 'Optional header text to display at the top of the comment'
required: false
default: ''
marker:
description: 'HTML comment marker to identify this comment'
required: true
runs:
using: composite
steps:
- name: Create, update, or delete comment
uses: actions/github-script@v8
env:
SECTIONS_INPUT: ${{ inputs.sections }}
MARKER_INPUT: ${{ inputs.marker }}
HEADER_INPUT: ${{ inputs.header }}
with:
script: |
const marker = process.env.MARKER_INPUT;
const header = process.env.HEADER_INPUT;
const sections = JSON.parse(process.env.SECTIONS_INPUT)
.filter(Boolean)
.filter(s => s.trim());

const {owner, repo} = context.repo;
const issue_number = context.issue.number;

const {data: comments} = await github.rest.issues.listComments({
owner, repo, issue_number,
});

const existing = comments.find(c => c.body?.includes(marker));

if (!sections.length) {
if (existing) {
await github.rest.issues.deleteComment({owner, repo, comment_id: existing.id});
}
return;
}

const content = sections.join('\n\n');
const body = header ? `${marker}\n## ${header}\n\n${content}` : `${marker}\n${content}`;

if (existing) {
await github.rest.issues.updateComment({owner, repo, comment_id: existing.id, body});
} else {
await github.rest.issues.createComment({owner, repo, issue_number, body});
}
2 changes: 1 addition & 1 deletion .github/actions/setup-node/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ inputs:
node-version:
description: 'The node.js version to use'
required: false
default: '22.11.0'
default: '22.14.0'
runs:
using: "composite"
steps:
Expand Down
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: '26.2'
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
2 changes: 0 additions & 2 deletions .github/actions/test-ios-helloworld/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ runs:
steps:
- name: Setup xcode
uses: ./.github/actions/setup-xcode
with:
platform: ios
- name: Setup node.js
uses: ./.github/actions/setup-node
- name: Run yarn install
Expand Down
4 changes: 1 addition & 3 deletions .github/actions/test-ios-rntester/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ inputs:
default: 2.6.10
run-unit-tests:
description: whether unit tests should run or not.
default: "true"
default: false
flavor:
description: The flavor of the build. Must be one of "Debug", "Release".
default: Debug
Expand All @@ -24,8 +24,6 @@ runs:
steps:
- name: Setup xcode
uses: ./.github/actions/setup-xcode
with:
platform: ios
- name: Setup node.js
uses: ./.github/actions/setup-node
- name: Run yarn
Expand Down
24 changes: 0 additions & 24 deletions .github/workflow-scripts/analyze_code.sh

This file was deleted.

40 changes: 40 additions & 0 deletions .github/workflow-scripts/checkBranchTarget.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
*/

'use strict';

/**
* Validates that the PR targets an appropriate base branch.
*
* @param {string} baseRef - The base branch ref (e.g., 'main', '0.76-stable')
* @returns {{message: string, status: 'PASS'|'FAIL', shouldAddPickLabel: boolean}}
*/
function checkBranchTarget(baseRef) {
const isMain = baseRef === 'main';
const isStable = baseRef.endsWith('-stable');

let message = '';
let status = 'PASS';
if (!isMain && !isStable) {
status = 'FAIL';
message = `> [!CAUTION]
> **Invalid Base Branch**
>
> The base branch for this PR is \`${baseRef}\`, which is not \`main\` or a \`-stable\` branch.
> [Are you sure you want to target this branch?](https://reactnative.dev/docs/contributing#pull-requests)`;
}

return {
message,
status,
shouldAddPickLabel: isStable,
};
}

module.exports = checkBranchTarget;
Loading
Loading