Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3070 commits
Select commit Hold shift + click to select a range
a4f78b3
Allow waiting for user land Animated animations before firing transit…
zeyap Apr 16, 2026
c2280e3
Handle edge-to-edge when it's not enabled by gradle property (#56055)
zoontek Apr 16, 2026
f8fa76f
fix: forward style prop to Modal inner container View (#56181)
AnuMessi10 Apr 16, 2026
58fec1f
Add ExtraWindowEventListener interface (#55721)
zoontek Apr 16, 2026
a8d44bc
unbreak ViewTransition fantom tests
zeyap Apr 17, 2026
4a6c933
Fix Keyboard events and KeyboardAvoidingView on Android (edge-to-edge…
zoontek Apr 17, 2026
77d3df8
Avoid moving RawProps during animation backend commit when retries ar…
Apr 17, 2026
f0c62da
Remove reference to type that will not be generated (#56482)
rubennorte Apr 17, 2026
2979663
Remove legacy Paper renderer shim cleanup from artifact commit workfl…
rubennorte Apr 17, 2026
370606d
support multiple old pseudo elements for same name but different sour…
zeyap Apr 17, 2026
6530092
Add BackHandler to dismiss LogBox toasts on back press (#56474)
Abbondanzo Apr 17, 2026
56129fe
Respect enum values for TurboModule c++ codegen (#56478)
akawrykow Apr 17, 2026
d2af787
Downgrade image timeout in test environment from RCTLogError to RCTLo…
Apr 18, 2026
5620b1b
Fix unused parameter warnings in conversions.h (#56472)
christophpurrer Apr 18, 2026
68debb2
Fix event timestamp injection to check both casing variants (#56495)
fkgozali Apr 19, 2026
6779f6c
Fix -Wreorder-init-list in RCTTextInputComponentView for xcodestaging…
fkgozali Apr 20, 2026
0223364
Validate NPM token before creating a release (#56501)
cipolleschi Apr 20, 2026
8043a6d
Validate NPM token before nightly publish (#56502)
cipolleschi Apr 20, 2026
46c0177
Change failing C++ api validation signal to blocking (#56503)
j-piasecki Apr 20, 2026
1433e43
Clear AnimatedPropsRegistry on surface stop (#56485)
zeyap Apr 20, 2026
e8feade
fix react-native-cxx-stable-api-snapshot-validation test (#56511)
zeyap Apr 20, 2026
8944bb3
Fix unused parameter warnings in IMountingManager.h (#56488)
christophpurrer Apr 20, 2026
65c561e
PerformanceObserver: default durationThreshold to 104ms (#56506)
rubennorte Apr 20, 2026
3fb1fea
Evict Metro bundle graphs after each Fantom test to prevent OOM (#56514)
javache Apr 20, 2026
786ebf0
Guard Tracing.end handler against missing Tracing.start in jsinspecto…
fkgozali Apr 20, 2026
acb85ce
Fix unused parameters in EventQueueProcessorTest.cpp (#56493)
christophpurrer Apr 20, 2026
aa5a78c
Fix unused parameter warnings in TimerManager (#56516)
christophpurrer Apr 20, 2026
c533369
Remove invalid float enum example from RN Codegen (#56489)
christophpurrer Apr 20, 2026
b2aa694
Fix -Wnullable-to-nonnull-conversion for Xcode 26.4 (#56518)
fkgozali Apr 21, 2026
2902df0
Add changelog for v0.85.2 (#56515)
react-native-bot Apr 21, 2026
b111c0e
MapBufferBuilder: fix size_t→int32 partial-write in putString/putMapB…
meta-yaohway Apr 21, 2026
f2f9209
Fix node ownership when `display: contents` is used (#56422)
j-piasecki Apr 21, 2026
fd082b9
Re-throw errors from tasks and microtasks synchronously (#56513)
rubennorte Apr 21, 2026
70281d6
Skip use-hermes-nightly when hermes-compiler is already pinned (#56505)
alanjhughes Apr 21, 2026
cf1975f
Remove lowercase `timestamp` fallback in event timestamp injection (#…
rubennorte Apr 21, 2026
bedf33f
Deprecate ViewUtil.getUIManagerType and inline UIManagerType.Fabric (…
javache Apr 21, 2026
11a5432
Support light/dark mode toggling via Emulation.setEmulatedMedia (#56510)
huntie Apr 21, 2026
b1a8913
Fix remaining test failures after error re-throw landing (#56532)
rubennorte Apr 21, 2026
0f9b8e4
Cap maxWorkers and bump heap to bound Fantom Metro memory (#56529)
rubennorte Apr 21, 2026
c1ffe9f
Harden Metro bundle retry against file-watcher races (#56530)
rubennorte Apr 21, 2026
5f69a91
Document FANTOM_FORCE_CI_MODE for full local runs (#56531)
rubennorte Apr 21, 2026
dbd3255
Build both coverage and non-coverage tester binaries in CI (#56538)
rubennorte Apr 21, 2026
90017b5
Remove no-op MaintainVisibleScrollPositionHelper#updateScrollPosition…
javache Apr 21, 2026
5c55a61
Set hermes_build_mode constraint when building tester with coverage (…
rubennorte Apr 21, 2026
5042e58
Fix parentTagForUpdate in unflatten-unflatten branch (#56542)
fkgozali Apr 21, 2026
fed907b
Add Buck CLI override for feature flag defaults
motiz88 Apr 21, 2026
d6ed561
Add per-platform redBoxV2 feature flags
motiz88 Apr 21, 2026
084456e
Extract RCTRedBoxController from RCTRedBox.mm (#56509)
motiz88 Apr 21, 2026
5b9cefc
Remove double-conversion dependency and also DoubleConversions.cpp an…
christophpurrer Apr 21, 2026
cb99ee8
Deploy 0.310.0 to xplat (#56543)
mvitousek Apr 21, 2026
d655114
Fix unused parameter warning in propsConversions.h (#56500)
christophpurrer Apr 22, 2026
19a23e7
Fix unused parameter warnings in ShadowNode.h (#56519)
christophpurrer Apr 22, 2026
16edd89
Fix unused parameter warnings in graphicsConversions.h (#56520)
christophpurrer Apr 22, 2026
eed1e34
Fix unused parameter warnings in HostPlatformViewTraitsInitializer.h …
christophpurrer Apr 22, 2026
089276a
Fix unused parameter warnings in NativeFantomTestSpecificMethods.cpp …
christophpurrer Apr 22, 2026
45ceacc
Use Hermes V1 by default (#56476)
cipolleschi Apr 22, 2026
e2a0746
Add changelog for v0.83.6 (#56473)
react-native-bot Apr 22, 2026
cdfed83
Flatten ReactCxxPlatform timer registry directory structure (#56536)
javache Apr 22, 2026
ea38382
Fix REACT_NATIVE_PATH resolution when Pods/ is a symlink (#56453)
huntie Apr 22, 2026
cf94430
Make fabric parameter always true in renderApplication (#56517)
rubennorte Apr 22, 2026
78190b4
Revert D100830088: Fix REACT_NATIVE_PATH resolution when Pods/ is a s…
Apr 22, 2026
f81c991
Add LogBox-styled error overlay (#56550)
motiz88 Apr 22, 2026
54b4f46
Add shared C++ error parser and ANSI renderer (#56553)
motiz88 Apr 22, 2026
ad71deb
Show syntax-highlighted code frames (#56551)
motiz88 Apr 22, 2026
4ff8655
Mark all errors as retryable (#56552)
motiz88 Apr 22, 2026
da3d3a0
Auto-reload on retryable errors (#56549)
motiz88 Apr 22, 2026
301543c
Attempt to clear RedBox by automatically reloading on Metro file chan…
motiz88 Apr 22, 2026
d83d856
Fix truncated filenames in call stack frames (#56565)
motiz88 Apr 22, 2026
f437b2c
Fix debug build memory leak from fabric marker in updatePropsSynchron…
zeyap Apr 22, 2026
e01a329
Guard tvOS-unavailable APIs in RCTRedBox2Controller (#56568)
kastopia Apr 22, 2026
a78d6f4
Exclude metainternal from C++ API snapshots (#56545)
lavenzg Apr 22, 2026
f41364d
Fix unused parameter warnings in StubWebSocketClient.h (#56527)
christophpurrer Apr 22, 2026
54ced39
Add missing @Deprecated annotations to match @deprecated Javadoc tags…
cortinico Apr 22, 2026
98df9b1
Fix RCTTextLayoutManager nullable conversion (#56547)
fkgozali Apr 22, 2026
5182d4f
Fix C++ syntax in Objective-C header breaking React module build (#56…
motiz88 Apr 22, 2026
3982315
fbsource//xplat/js/react-native-github:RCTNetworkApple (#56560)
Apr 23, 2026
6614fe7
Fix StatusBar modifications not applying to Modal windows on Android …
zoontek Apr 23, 2026
9140ff9
Use tree-sitter for feature flag default rewriting (#56555)
motiz88 Apr 23, 2026
e67dba1
Add Buck CLI override for Kotlin feature flag defaults (#56558)
motiz88 Apr 23, 2026
f69a566
Port TextInput-test.js to Fantom and remove the legacy Jest test (#56…
rubennorte Apr 23, 2026
1a623a8
Simplify RendererProxy and RendererImplementation to Fabric-only (#56…
rubennorte Apr 23, 2026
2cb5a9d
Remove Paper (ReactNativeRenderer) files (#56557)
rubennorte Apr 23, 2026
53e6ce2
Daily `arc lint --take CLANGFORMAT` (#56576)
Apr 23, 2026
4aa375b
Fix REACT_NATIVE_PATH resolution when Pods/ is a symlink (#56577)
huntie Apr 23, 2026
9d18367
Fix measureInWindow on Android edge-to-edge (#56056)
zoontek Apr 23, 2026
24b51db
fix(android): WebSocketModule stripping caller-supplied Cookie header…
psjostrom Apr 23, 2026
d11aedd
Deploy 0.311.0 to xplat (#56589)
gkz Apr 24, 2026
c0adcea
Remove syncAndroidClipToPaddingWithOverflow feature flag (#56467)
fabriziocucci Apr 24, 2026
f4f4b95
Migrate RCTBlobManager to RCTTurboModuleWithJSIBindings (#56575)
javache Apr 24, 2026
fb0d28c
Fix React-CoreModules missing React-featureflags header path under us…
radko93 Apr 24, 2026
e37bba5
Make useConcurrentRoot always true in renderElement (#56562)
rubennorte Apr 24, 2026
68a6be9
Import ReactFabric methods directly in renderer implementation module…
rubennorte Apr 24, 2026
ea3b825
Move unstable_batchedUpdates out of the renderer implementation API (…
rubennorte Apr 24, 2026
6411611
Hoist `PerformanceLogger` primitives out of `react-native` (#56580)
rubennorte Apr 24, 2026
a5d7ab1
Revert D102166537: Hoist `PerformanceLogger` primitives out of `react…
Apr 24, 2026
ee1d067
Re-emit keyboardDidShow on IME height change (#56486)
alanleedev Apr 24, 2026
c9774c1
keep old snapshot node position updated at applyViewTransitionName (#…
zeyap Apr 24, 2026
3d2d14d
Remove unused ivars from React Native (RCTAnimation, RCTBlob, RCTNetw…
ingridwang Apr 24, 2026
11d894d
Upgrade lodash 4.17.21 → 4.18.1 (CVE-2026-4800) (#56603)
sandeep3028 Apr 24, 2026
ccff70b
EventQueueProcessor/EventTarget: SCOPE_EXIT-guard release on throwing…
meta-yaohway Apr 25, 2026
3c64581
Add changelog for v0.83.8 (#56596)
react-native-bot Apr 27, 2026
0518d72
Add E2E test retry jobs for PRs to handle flakiness (#56581)
cipolleschi Apr 27, 2026
8fc503d
AccessibilityInfo: added missing tests for Promise based methods, ali…
chicio Apr 27, 2026
ce696df
Fix toJSON return types in bom.js.flow (#56623)
rubennorte Apr 27, 2026
9ac9edc
Add MutationObserver and IntersectionObserver types in bom.js.flow (#…
rubennorte Apr 27, 2026
b396df7
Create example for MutationObserver in RNTester (disabled by feature …
rubennorte Apr 27, 2026
497d9c1
Add syncAndroidClipBoundsWithOverflow feature flag
fabriziocucci Apr 27, 2026
2c208f8
Override getClipBounds to expose overflow clipping to the framework (…
fabriziocucci Apr 27, 2026
0f58e5e
Back out "Revert D102166537: [RN] Hoist `PerformanceLogger` primitive…
rubennorte Apr 27, 2026
610564c
Fix PixelCopy snapshot for partially off-screen views (#56608)
zeyap Apr 27, 2026
e0a453c
Dispatch FPS events from ACTION_SCROLL events (#56601)
Abbondanzo Apr 27, 2026
44a4b1b
Fix Dimensions window values on Android < 15 (#53254)
zoontek Apr 27, 2026
c20a58a
make sure view width and height are non 0 before calling createBitmap…
zeyap Apr 27, 2026
0c153e2
Handle OutOfMemoryError in NetworkingModule response processing (#56630)
shubhamksavita Apr 28, 2026
1e8e182
fix(hit-testing): ignore views with non-invertible transforms (scale …
qflen Apr 28, 2026
6a59fc9
Add tests for event dispatching bubbling to document and documentElem…
rubennorte Apr 28, 2026
2a5c4b3
Improve typing of `renderApplication` (#56636)
rubennorte Apr 28, 2026
6a17c21
Delete obsolete MountingIntermediateCommits-itest.js (#56628)
fkgozali Apr 28, 2026
59ac1db
Mark FPS listener in ScrollViews as final, avoid reset in initView (#…
Abbondanzo Apr 28, 2026
78a740d
Add redbox subspec to React-debug pod (#56585)
motiz88 Apr 28, 2026
7128482
Bump Metro to ^0.84.3 (#56638)
motiz88 Apr 29, 2026
ef598d9
Add tests for DeviceInfoModule.getWindowDisplayMetrics edge-to-edge b…
zoontek Apr 29, 2026
795d902
Fix unreachable-code-break (#56648)
ingridwang Apr 29, 2026
32d3eaf
Add exponential backoff to InspectorPackagerConnection reconnect and …
shubhamksavita Apr 30, 2026
1181985
Update prettier-plugin-hermes-parser in fbsource to 0.36.0
marcoww6 Apr 30, 2026
29d8405
Improve Fantom documentation in __docs__/README.md (#56660)
rubennorte Apr 30, 2026
a3906b6
Expand globals test coverage in setUpDefaultReactNativeEnvironment-Gl…
rubennorte Apr 30, 2026
6ec4597
Fix LayoutAnimation crash from mutation sort ordering (#56629)
fkgozali Apr 30, 2026
eba0bfb
Enable `overrideBySynchronousMountPropsAtMountingAndroid` by default …
jingjing2222 Apr 30, 2026
90c2c59
Fix text wrapping in absolutely positioned elements on Android (#56651)
clocksarestupid Apr 30, 2026
0b3df3f
Update hermes-parser and related packages in fbsource to 0.36.0 (#56662)
marcoww6 Apr 30, 2026
5ae948e
Deploy 0.312.0 to xplat (#56664)
marcoww6 May 1, 2026
3446958
Honor skipBubbling in the new EventTarget-based event dispatch (#56666)
rubennorte May 1, 2026
06b23b8
Use MutableIntObjectMap for SurfaceMountingManager view registry (#56…
javache May 1, 2026
86dbb3b
Fix TSAN data races in InspectorFlags and InspectorPackagerConnection…
javache May 1, 2026
52d87f9
Consolidate image prefetch flags into enableImagePrefetchingAndroid (…
christophpurrer May 2, 2026
a25e0fd
Add test for synchronous mount props override behavior (#56663)
zeyap May 4, 2026
52ff392
folly::dynamic::push_back (dynamic.h) (#56676)
May 4, 2026
d0672fb
Add enableSchedulerDelegateInvalidation feature flag (#56678)
fkgozali May 5, 2026
aadbe96
Guard Scheduler deferred lambdas against delegate teardown (#56680)
fkgozali May 5, 2026
d1cdce2
Manually fix references to registry.facebook.net -> registry.yarnpkg.…
robhogan May 5, 2026
fbdbf4a
Add changelog for v0.85.3 (#56685)
react-native-bot May 5, 2026
0d20210
clear up props registry in shared backend on js thread (#56677)
zeyap May 5, 2026
c33582b
Add animationBackend_ nullcheck before calling clearRegistry() (#56679)
zeyap May 5, 2026
c4f94c7
Deploy 0.312.1 to xplat (#56681)
panagosg7 May 6, 2026
5b3a1a4
Return actual loaded bundle URL from SourceCodeModule (#56698)
javache May 6, 2026
882be91
Auto-reconnect PackagerConnection to Metro dev server (#56625)
javache May 6, 2026
ca83ef3
Introduce StatefulSpan and MutableSpannableLayout for safe span state…
andrewdacenko May 6, 2026
97fa2a4
Move event dispatch logic from FabricUIManager into SurfaceMountingMa…
javache May 6, 2026
71a0d5d
Add support for animated effects on spans of text (#56702)
andrewdacenko May 6, 2026
7ae9b66
Rename DrawCommandSpan to CanvasEffectSpan and remove UpdateAppearanc…
andrewdacenko May 6, 2026
f85a777
Fix UBSan float-cast-overflow in BridgingTest.numberTest (#56693)
christophpurrer May 7, 2026
dd03f88
Deploy 0.313.0 to xplat (#56712)
panagosg7 May 7, 2026
ba204fa
Use software snapshot capture unless featureflag (#56684)
zeyap May 7, 2026
8ac88f4
Remove 'unspecified' from ColorSchemeName (#56686)
huntie May 7, 2026
ef6463c
Align nullable types across Appearance API (#56687)
huntie May 7, 2026
91702e5
Add 'auto' to ColorSchemeOverride, deprecate 'unspecified'
huntie May 7, 2026
c49aa90
Remove setViewZIndex and associated state from BaseViewManager (#56717)
javache May 7, 2026
6bc4db2
Fix flow-bin registry URL in yarn.lock (#56719)
cipolleschi May 7, 2026
783f457
Bump packages to 0.87.0-main following 0.86 cut (#56716)
robhogan May 7, 2026
fa05b8c
Add error handling in InspectorPackagerConnection::connect() (#56713)
shubhamksavita May 7, 2026
2a0f595
Add TouchableSpan interface for position-aware touch on text spans (#…
andrewdacenko May 7, 2026
4255f9b
Fix missing and incorrect AccessibilityInfo types (#56708)
huntie May 7, 2026
9f4513c
Cleanup useLISAlgorithmInDifferentiator flag (#56715)
javache May 7, 2026
9cb2e63
Remove unused websocketProxyURL property (#56722)
huntie May 7, 2026
f119cdd
Move accessibility order + swift blur filters to canary (#56721)
joevilches May 7, 2026
18ef5d1
Add `IEventLoopControl` APIs to hermes-interface (#55431)
tsaichien May 7, 2026
0175449
Bump Hermes V1 to latest stable 250829098.0.13 (#56728)
robhogan May 8, 2026
745b749
Add changelog for v0.86.0-rc.0 (#56711)
react-native-bot May 8, 2026
661ce06
Remove stale disableMaintainVisibleContentPosition feature flag (#56727)
May 8, 2026
a3e87c6
Fix Fabric out-of-order event delivery on Android
javache May 8, 2026
c0bf154
Re-enabled VirtualizedList "retains batch render region when an item …
chicio May 8, 2026
d80377c
Replace merge commit scheduling with a run loop observer (#56726)
j-piasecki May 11, 2026
dabb434
Fix RetryableMountingLayerException crash in updateOverflowInset (#56…
javache May 11, 2026
5dea3b5
Fix use-after-free data race in EventEmitter.cpp (T259167206) (#56763)
May 11, 2026
3790942
Optimize EventTarget-based event dispatch pipeline (#56738)
rubennorte May 11, 2026
645f846
Re-throw event listener errors in a new task (#56760)
rubennorte May 11, 2026
c7920fa
Match `dispatchEvent` return contract on `dispatchTrustedEvent` (#56761)
rubennorte May 11, 2026
ed96b22
Add optimizedAnimatedPropUpdates feature flag (#56466)
May 11, 2026
09e55cb
Add Performance Test example to rn-tester Animation Backend
May 11, 2026
e2e6553
Add rn-tester example exercising every batched-animated prop (#56734)
May 11, 2026
5162816
fix: fix getNativeScrollRef return type for FlatList (#54735)
janpe May 11, 2026
535b844
Update return type for getNativeScrollRef methods (#56718)
huntie May 11, 2026
bc1a31f
- Fix missing format specifier in renderApplication invariant (#56329)
w3di May 11, 2026
44bb83b
Make PODFILE_DIR build setting portable across machines (#56732)
zoontek May 11, 2026
2c2cd9e
Remove native View prop transformation flag (#56699)
sammy-SC May 11, 2026
734f5c1
Migrate NativeSampleTurboModule to codegen integration - RFC (#56723)
christophpurrer May 11, 2026
f947625
Remove legacy Hermes C++ code and HERMES_V1_ENABLED compile definitio…
cipolleschi May 11, 2026
0a5c8c6
Remove hermesV1Enabled Gradle property and simplify Hermes version re…
cipolleschi May 11, 2026
940ee8a
Remove RCT_HERMES_V1_ENABLED from CocoaPods infrastructure (#56735)
cipolleschi May 11, 2026
d49aac6
Consolidate Hermes version files and simplify JS release scripts (#56…
cipolleschi May 11, 2026
84b22ed
Remove dual Hermes version outputs from CI workflows (#56739)
cipolleschi May 11, 2026
26040d8
Remove isHermesV1 from Babel preset (#56754)
cipolleschi May 11, 2026
06d6229
Remove V0 nightly download path from ios-prebuild (#56759)
cipolleschi May 11, 2026
99988ab
Remove V0 nightly download path from hermes-utils.rb (#56755)
cipolleschi May 11, 2026
041b6d5
Rename 'nightly' functions to 'prebuilt' in release scripts (#56753)
cipolleschi May 11, 2026
f375135
Rename use-hermes-nightly.js to use-hermes-prebuilt.js (#56750)
cipolleschi May 11, 2026
ac48b56
Rename try-set-nightly-hermes-compiler.js (#56758)
cipolleschi May 11, 2026
ca4aaff
Rename use-hermes-nightly workflow input to use-hermes-prebuilt (#56756)
cipolleschi May 11, 2026
b05ab2f
Update stale 'Hermes V1' comments (#56757)
cipolleschi May 11, 2026
e4e3e93
Update hermesTag fixture to current version format (#56751)
cipolleschi May 11, 2026
e2936cb
Remove old hermes nightly script files (#56752)
cipolleschi May 11, 2026
497177f
Bump @babel/plugin-transform-modules-systemjs to fix CVE-2026-44728 (…
CalixTang May 11, 2026
ab8b40d
Add TextEffect component and registry for custom text span effects (#…
andrewdacenko May 11, 2026
ddccf61
Update React Native DevTools binaries
May 12, 2026
74b1a4d
- Fix hover out timeout stored in wrong variable in Pressability (#56…
w3di May 12, 2026
b09fce6
Clarify Android AppState background API docs (#56779)
federicobartoli May 12, 2026
efcab20
Fix ScrollView touch events ignored in contentInset area on iOS (#56747)
cbrevik May 12, 2026
d0f1197
Migrate YogaAlign enum to Kotlin (#56783)
cortinico May 12, 2026
fe15456
Migrate YogaBoxSizing enum to Kotlin (#56787)
cortinico May 12, 2026
2d2b992
Migrate YogaDimension enum to Kotlin (#56795)
cortinico May 12, 2026
9580a54
Migrate YogaDisplay enum to Kotlin (#56781)
cortinico May 12, 2026
2be96e8
Migrate YogaEdge enum to Kotlin (#56782)
cortinico May 12, 2026
d695a5c
Migrate YogaErrata enum to Kotlin (#56798)
cortinico May 12, 2026
70ebd43
Migrate YogaExperimentalFeature enum to Kotlin (#56797)
cortinico May 12, 2026
984621b
Migrate YogaFlexDirection enum to Kotlin (#56788)
cortinico May 12, 2026
f1b488f
Migrate YogaGridTrackType enum to Kotlin (#56786)
cortinico May 12, 2026
26862a0
Migrate YogaGutter enum to Kotlin (#56791)
cortinico May 12, 2026
084a776
Migrate YogaJustify enum to Kotlin (#56796)
cortinico May 12, 2026
5d5350b
Migrate YogaLogLevel enum to Kotlin (#56794)
cortinico May 12, 2026
b7801f2
Migrate YogaMeasureMode enum to Kotlin (#56785)
cortinico May 12, 2026
8823a80
Fix Image.getSize returning downsampled dimensions on Android (#56736)
zoontek May 12, 2026
e028946
Add C++ test for Scheduler delegate UAF after JS-throw teardown (#56800)
fkgozali May 12, 2026
2991a97
Upgrade TypeScript to ^6.0.3 (#56772)
huntie May 13, 2026
1faa665
Guard against OTA mismatch in NativeAnimatedHelper queue (#56802)
May 13, 2026
bb137aa
Migrate YogaNodeType enum to Kotlin (#56792)
cortinico May 13, 2026
14c1d16
Migrate YogaOverflow enum to Kotlin (#56790)
cortinico May 13, 2026
d181829
Migrate YogaPositionType enum to Kotlin (#56789)
cortinico May 13, 2026
97cf21d
Migrate YogaUnit enum to Kotlin (#56784)
cortinico May 13, 2026
6e26262
Migrate YogaWrap enum to Kotlin (#56793)
cortinico May 13, 2026
668ca29
Deploy 0.314.0 to xplat (#56810)
SamChou19815 May 13, 2026
814ebb1
fix(cocoapods) Podfile.lock SPEC CHECKSUMS drift for React XCFramewor…
chrfalch May 13, 2026
37be935
Update react-native-devtools-frontend URLs (#56812)
huntie May 13, 2026
fafcfcd
Do not include an `expanded` property by default in accessibilityStat…
rozele May 13, 2026
2c6cb27
Add null guard for changedTouches in ResponderTouchHistoryStore.recor…
May 14, 2026
3abe228
Add Image.getSize device coverage (#56746)
Abbondanzo May 14, 2026
a9be1b1
Add --watch mode to build-types script (#56808)
huntie May 14, 2026
0b9969f
Prune no-op Omit keys from generated types (#56824)
huntie May 14, 2026
67303df
Move CxxCallbackImpl to native-types (#56822)
javache May 14, 2026
e4cb767
Babel preset: Add unstable_preserveBlockScoping to experiment with di…
robhogan May 14, 2026
0ff4c85
Migrate RCTAlertManager to handle synchronous void method execution (…
christophpurrer May 14, 2026
ef38dbb
Update hermes-parser and related packages in fbsource to 0.36.1 (#56806)
imdreamrunner May 15, 2026
4695ac5
Update React Native Android API dump for Kotlin 2.2 ABI changes (#56833)
May 15, 2026
18811f8
ci: declare workflow-level `contents: read` on 2 workflows (#56834)
arpitjain099 May 15, 2026
0825f21
Remove legacy architecture stub: UIImplementation (#56826)
cortinico May 15, 2026
2f1d1e3
Migrate YogaNodeJNIBase.java to Kotlin (#56780)
cortinico May 15, 2026
2092992
Cache prebuilt iOS binaries in ~/Library/Caches/ReactNative
cipolleschi May 15, 2026
ce18d83
Add SHA1 validation for cached prebuilt iOS binaries
cipolleschi May 15, 2026
53e6908
Extract shared cache and SHA validation into ReactNativePodsUtils
cipolleschi May 15, 2026
3aabd20
Keep hermes-utils.rb self-contained and add verification logs
cipolleschi May 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
9 changes: 0 additions & 9 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,3 @@ end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2

[*.gradle]
indent_size = 4

[*.kts]
indent_size = 4

[BUCK]
indent_size = 4
2 changes: 2 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ 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
**/__fixtures__/**
5 changes: 4 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ module.exports = {
// Flow handles these checks for us, so they aren't required
'no-undef': 'off',
'no-unreachable': 'off',
// Throwing from function or rejecting promises with non-error values could result in unclear error stack traces and lead to harder debugging
'prefer-promise-reject-errors': 'error',
'no-throw-literal': 'error',
},
},
{
Expand Down Expand Up @@ -95,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
13 changes: 2 additions & 11 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 @@ -69,18 +66,12 @@ 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\)$' -> '<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#

react.runtime=automatic

suppress_type=$FlowIssue
suppress_type=$FlowFixMe
suppress_type=$FlowFixMeProps
suppress_type=$FlowFixMeState
suppress_type=$FlowFixMeEmpty

ban_spread_key_props=true

[lints]
Expand All @@ -104,4 +95,4 @@ untyped-import
untyped-type-import

[version]
^0.275.0
^0.314.0
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/debugger_bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: 🔍 Debugger - Bug Report
description: Report a bug with React Native DevTools and the New Debugger
labels: ["Needs: Triage :mag:", "Debugger"]
labels: ["Needs: Triage :mag:", "Debugging"]

body:
- type: markdown
Expand Down
47 changes: 28 additions & 19 deletions .github/actions/build-android/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@ inputs:
release-type:
required: true
description: The type of release we are building. It could be nightly, release or dry-run
run-e2e-tests:
default: 'false'
description: If we need to build to run E2E tests. If yes, we need to build also x86.
gradle-cache-encryption-key:
description: "The encryption key needed to store the Gradle Configuration cache"
runs:
Expand All @@ -19,7 +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.
# 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 All @@ -28,13 +37,14 @@ 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: v1-ccache-android-${{ github.job }}-${{ github.ref }}
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') }}
restore-keys: |
v1-ccache-android-${{ github.job }}-
v1-ccache-android-
v2-ccache-android-${{ github.job }}-${{ github.ref }}-
v2-ccache-android-${{ github.job }}-
v2-ccache-android-
- name: Show ccache stats
shell: bash
run: ccache -s -v
Expand All @@ -43,38 +53,37 @@ runs:
run: |
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.
if [[ "${{ inputs.run-e2e-tests }}" == 'true' ]]; then
export ORG_GRADLE_PROJECT_reactNativeArchitectures="arm64-v8a,x86" # x86 is required for E2E testing
else
export ORG_GRADLE_PROJECT_reactNativeArchitectures="arm64-v8a"
fi
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: v1-ccache-android-${{ github.job }}-${{ github.ref }}
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 @@ -84,14 +93,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
103 changes: 0 additions & 103 deletions .github/actions/build-apple-slices-hermes/action.yml

This file was deleted.

84 changes: 84 additions & 0 deletions .github/actions/build-fantom-runner/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Build Fantom Runner
inputs:
release-type:
required: true
description: The type of release we are building. It could be nightly, release or dry-run
gradle-cache-encryption-key:
description: "The encryption key needed to store the Gradle Configuration cache"

runs:
using: composite
steps:
- name: Install dependencies
shell: bash
run: |
sudo apt update
sudo apt install -y git cmake openssl libssl-dev clang
- name: Setup git safe folders
shell: bash
run: git config --global --add safe.directory '*'
- name: Setup node.js
uses: ./.github/actions/setup-node
- name: Install node dependencies
uses: ./.github/actions/yarn-install
- name: Setup gradle
uses: ./.github/actions/setup-gradle
with:
cache-read-only: "false"
cache-encryption-key: ${{ inputs.gradle-cache-encryption-key }}
- name: Restore Fantom ccache
uses: actions/cache/restore@v5
with:
path: /github/home/.cache/ccache
key: v2-ccache-fantom-${{ github.job }}-${{ github.ref }}-${{ hashFiles(
'packages/react-native/ReactAndroid/**/*.cpp',
'packages/react-native/ReactAndroid/**/*.h',
'packages/react-native/ReactAndroid/**/CMakeLists.txt',
'packages/react-native/ReactCommon/**/*.cpp',
'packages/react-native/ReactCommon/**/*.h',
'packages/react-native/ReactCommon/**/CMakeLists.txt',
'private/react-native-fantom/tester/**/*.cpp',
'private/react-native-fantom/tester/**/*.h',
'private/react-native-fantom/tester/**/CMakeLists.txt'
) }}
restore-keys: |
v2-ccache-fantom-${{ github.job }}-${{ github.ref }}-
v2-ccache-fantom-${{ github.job }}-
v2-ccache-fantom-
- name: Show ccache stats (before)
shell: bash
run: ccache -s -v
- name: Build Fantom Runner
shell: bash
run: yarn workspace @react-native/fantom build
env:
CC: clang
CXX: clang++
- name: Save Fantom ccache
if: ${{ github.ref == 'refs/heads/main' || contains(github.ref, '-stable') }}
uses: actions/cache/save@v5
with:
path: /github/home/.cache/ccache
key: v2-ccache-fantom-${{ github.job }}-${{ github.ref }}-${{ hashFiles(
'packages/react-native/ReactAndroid/**/*.cpp',
'packages/react-native/ReactAndroid/**/*.h',
'packages/react-native/ReactAndroid/**/CMakeLists.txt',
'packages/react-native/ReactCommon/**/*.cpp',
'packages/react-native/ReactCommon/**/*.h',
'packages/react-native/ReactCommon/**/CMakeLists.txt',
'private/react-native-fantom/tester/**/*.cpp',
'private/react-native-fantom/tester/**/*.h',
'private/react-native-fantom/tester/**/CMakeLists.txt'
) }}
- name: Show ccache stats (after)
shell: bash
run: ccache -s -v
- name: Copy shared libraries
shell: bash
run: cp packages/react-native/ReactAndroid/hermes-engine/build/hermes/lib/libhermesvm.so private/react-native-fantom/build/tester/
- name: Upload Fantom Runner binary
uses: actions/upload-artifact@v6
with:
name: fantom-runner-binary
compression-level: 1
path: private/react-native-fantom/build/tester/
Loading
Loading