diff --git a/packages/react-native/ReactAndroid/api/ReactAndroid.api b/packages/react-native/ReactAndroid/api/ReactAndroid.api
index 67f73536f27226..809e00fc5956de 100644
--- a/packages/react-native/ReactAndroid/api/ReactAndroid.api
+++ b/packages/react-native/ReactAndroid/api/ReactAndroid.api
@@ -1890,12 +1890,10 @@ public class com/facebook/react/common/network/OkHttpCallUtil {
public class com/facebook/react/config/ReactFeatureFlags {
public static field calculateTransformedFramesEnabled Z
public static field dispatchPointerEvents Z
- public static field doNotSwapLeftAndRightOnAndroidInLTR Z
public static field enableBackgroundExecutor Z
public static field enableBridgelessArchitecture Z
public static field enableBridgelessArchitectureNewCreateReloadDestroy Z
public static field enableBridgelessArchitectureSoftExceptions Z
- public static field enableCleanParagraphYogaNode Z
public static field enableClonelessStateProgression Z
public static field enableCppPropsIteratorSetter Z
public static field enableDefaultAsyncBatchedPriority Z
diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java
index 3349b35d1246f5..250772c9015e91 100644
--- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java
+++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java
@@ -130,12 +130,6 @@ public class ReactFeatureFlags {
/** Use native view configs in bridgeless mode. */
public static boolean useNativeViewConfigsInBridgelessMode = false;
- /** Only swap left and right on Android in RTL scripts. */
- public static boolean doNotSwapLeftAndRightOnAndroidInLTR = false;
-
- /** Clean yoga node when does not change. */
- public static boolean enableCleanParagraphYogaNode = false;
-
/** Default state updates and events to async batched priority. */
public static boolean enableDefaultAsyncBatchedPriority = false;
diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/fabric/Binding.cpp b/packages/react-native/ReactAndroid/src/main/jni/react/fabric/Binding.cpp
index 0f89b1ee8fe29b..3331911f0f17ec 100644
--- a/packages/react-native/ReactAndroid/src/main/jni/react/fabric/Binding.cpp
+++ b/packages/react-native/ReactAndroid/src/main/jni/react/fabric/Binding.cpp
@@ -414,10 +414,6 @@ void Binding::installFabricUIManager(
CoreFeatures::enablePropIteratorSetter =
getFeatureFlagValue("enableCppPropsIteratorSetter");
- CoreFeatures::doNotSwapLeftAndRightOnAndroidInLTR =
- getFeatureFlagValue("doNotSwapLeftAndRightOnAndroidInLTR");
- CoreFeatures::enableCleanParagraphYogaNode =
- getFeatureFlagValue("enableCleanParagraphYogaNode");
CoreFeatures::enableDefaultAsyncBatchedPriority =
getFeatureFlagValue("enableDefaultAsyncBatchedPriority");
CoreFeatures::enableClonelessStateProgression =
diff --git a/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp b/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp
index ca5761652b6171..fa48189076ebfe 100644
--- a/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp
+++ b/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp
@@ -17,7 +17,6 @@
#include
#include
#include
-#include
#include "ParagraphState.h"
@@ -31,13 +30,11 @@ ParagraphShadowNode::ParagraphShadowNode(
const ShadowNode& sourceShadowNode,
const ShadowNodeFragment& fragment)
: ConcreteViewShadowNode(sourceShadowNode, fragment) {
- if (CoreFeatures::enableCleanParagraphYogaNode) {
- if (!fragment.children && !fragment.props) {
- // This ParagraphShadowNode was cloned but did not change
- // in a way that affects its layout. Let's mark it clean
- // to stop Yoga from traversing it.
- cleanLayout();
- }
+ if (!fragment.children && !fragment.props) {
+ // This ParagraphShadowNode was cloned but did not change
+ // in a way that affects its layout. Let's mark it clean
+ // to stop Yoga from traversing it.
+ cleanLayout();
}
}
diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp b/packages/react-native/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp
index 08a3220e56396d..accb37664809a9 100644
--- a/packages/react-native/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp
+++ b/packages/react-native/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp
@@ -580,8 +580,7 @@ void YogaLayoutableShadowNode::layoutTree(
SystraceSection s1("YogaLayoutableShadowNode::layoutTree");
bool swapLeftAndRight = layoutContext.swapLeftAndRightInRTL &&
- (layoutConstraints.layoutDirection == LayoutDirection::RightToLeft ||
- !CoreFeatures::doNotSwapLeftAndRightOnAndroidInLTR);
+ layoutConstraints.layoutDirection == LayoutDirection::RightToLeft;
{
SystraceSection s2("YogaLayoutableShadowNode::configureYogaTree");
@@ -699,8 +698,7 @@ void YogaLayoutableShadowNode::layout(LayoutContext layoutContext) {
newLayoutMetrics.pointScaleFactor = layoutContext.pointScaleFactor;
newLayoutMetrics.wasLeftAndRightSwapped =
layoutContext.swapLeftAndRightInRTL &&
- (newLayoutMetrics.layoutDirection == LayoutDirection::RightToLeft ||
- !CoreFeatures::doNotSwapLeftAndRightOnAndroidInLTR);
+ newLayoutMetrics.layoutDirection == LayoutDirection::RightToLeft;
// Child node's layout has changed. When a node is added to
// `affectedNodes`, onLayout event is called on the component. Comparing
diff --git a/packages/react-native/ReactCommon/react/utils/CoreFeatures.cpp b/packages/react-native/ReactCommon/react/utils/CoreFeatures.cpp
index c967febaac7a21..fcdc92e97f9941 100644
--- a/packages/react-native/ReactCommon/react/utils/CoreFeatures.cpp
+++ b/packages/react-native/ReactCommon/react/utils/CoreFeatures.cpp
@@ -15,8 +15,6 @@ bool CoreFeatures::cacheLastTextMeasurement = false;
bool CoreFeatures::cancelImageDownloadsOnRecycle = false;
bool CoreFeatures::enableGranularScrollViewStateUpdatesIOS = false;
bool CoreFeatures::enableMountHooks = false;
-bool CoreFeatures::doNotSwapLeftAndRightOnAndroidInLTR = false;
-bool CoreFeatures::enableCleanParagraphYogaNode = false;
bool CoreFeatures::enableGranularShadowTreeStateReconciliation = false;
bool CoreFeatures::enableDefaultAsyncBatchedPriority = false;
bool CoreFeatures::enableClonelessStateProgression = false;
diff --git a/packages/react-native/ReactCommon/react/utils/CoreFeatures.h b/packages/react-native/ReactCommon/react/utils/CoreFeatures.h
index 3ad24c5e02e4d8..2af28d74a10b9e 100644
--- a/packages/react-native/ReactCommon/react/utils/CoreFeatures.h
+++ b/packages/react-native/ReactCommon/react/utils/CoreFeatures.h
@@ -41,12 +41,6 @@ class CoreFeatures {
// Report mount operations from the host platform to notify mount hooks.
static bool enableMountHooks;
- // Only swap left and right on Android in RTL scripts.
- static bool doNotSwapLeftAndRightOnAndroidInLTR;
-
- // Clean yoga node when does not change.
- static bool enableCleanParagraphYogaNode;
-
// When enabled, the renderer would only fail commits when they propagate
// state and the last commit that updated state changed before committing.
static bool enableGranularShadowTreeStateReconciliation;