What's your app name?
What's your app package?
What's your current react-native version?
To which version would you like to upgrade?

📣 Useful content for upgrading

You can use the following command to kick off the upgrade: npx @rnx-kit/align-deps --requirements react-native@[major.minor].

align-deps is an OSS tool from Microsoft that automates dependency management. It knows which packages* versions are compatible with your specific version of RN, and it uses that knowledge to align dependencies, keeping your app healthy and up-to-date**. Find out more here.
* Not all packages are supported out-of-the-box.
** You still need to do the other changes below and verify the changelogs of the libraries that got upgraded.
Check out Upgrade Support if you are experiencing issues related to React Native during the upgrading process.
changelog
package.jsonMODIFIED
0 hidden comment
@@ -11,19 +11,19 @@
11 },11 },
12 "dependencies": {12 "dependencies": {
13 "react": "19.0.0",13 "react": "19.0.0",
14 "react-native": "0.78.2"14 "react-native": "0.79.0"
15 },15 },
16 "devDependencies": {16 "devDependencies": {
17 "@babel/core": "^7.25.2",17 "@babel/core": "^7.25.2",
18 "@babel/preset-env": "^7.25.3",18 "@babel/preset-env": "^7.25.3",
19 "@babel/runtime": "^7.25.0",19 "@babel/runtime": "^7.25.0",
20 "@react-native-community/cli": "15.0.1",
21 "@react-native-community/cli-platform-android": "15.0.1",
22 "@react-native-community/cli-platform-ios": "15.0.1",
23 "@react-native/babel-preset": "0.78.2",
24 "@react-native/eslint-config": "0.78.2",
25 "@react-native/metro-config": "0.78.2",
26 "@react-native/typescript-config": "0.78.2",20 "@react-native-community/cli": "18.0.0",
21 "@react-native-community/cli-platform-android": "18.0.0",
22 "@react-native-community/cli-platform-ios": "18.0.0",
23 "@react-native/babel-preset": "0.79.0",
24 "@react-native/eslint-config": "0.79.0",
25 "@react-native/metro-config": "0.79.0",
26 "@react-native/typescript-config": "0.79.0",
27 "@types/jest": "^29.5.13",27 "@types/jest": "^29.5.13",
28 "@types/react": "^19.0.0",28 "@types/react": "^19.0.0",
29 "@types/react-test-renderer": "^19.0.0",29 "@types/react-test-renderer": "^19.0.0",
App.tsxMODIFIED
0 hidden comment
@@ -64,7 +64,7 @@ function App(): React.JSX.Element {
64 /*64 /*
65 * To keep the template simple and small we're adding padding to prevent view65 * To keep the template simple and small we're adding padding to prevent view
66 * from rendering under the System UI.66 * from rendering under the System UI.
67 * For bigger apps the reccomendation is to use `react-native-safe-area-context`:67 * For bigger apps the recommendation is to use `react-native-safe-area-context`:
68 * https://github.com/AppAndFlow/react-native-safe-area-context68 * https://github.com/AppAndFlow/react-native-safe-area-context
69 *69 *
70 * You can read more about it here:70 * You can read more about it here:
GemfileMODIFIED
0 hidden comment
@@ -8,3 +8,9 @@ gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1'
8gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0'8gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0'
9gem 'xcodeproj', '< 1.26.0'9gem 'xcodeproj', '< 1.26.0'
10gem 'concurrent-ruby', '< 1.3.4'10gem 'concurrent-ruby', '< 1.3.4'
11
12# Ruby 3.4.0 has removed some libraries from the standard library.
13gem 'bigdecimal'
14gem 'logger'
15gem 'benchmark'
16gem 'mutex_m'
android/gradle/wrapper/gradle-wrapper.jarMODIFIEDBINARY
0 hidden comment
android/gradle/wrapper/gradle-wrapper.propertiesMODIFIED
0 hidden comment
@@ -1,6 +1,6 @@
1distributionBase=GRADLE_USER_HOME1distributionBase=GRADLE_USER_HOME
2distributionPath=wrapper/dists2distributionPath=wrapper/dists
3distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-all.zip3distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
4networkTimeout=100004networkTimeout=10000
5validateDistributionUrl=true5validateDistributionUrl=true
6zipStoreBase=GRADLE_USER_HOME6zipStoreBase=GRADLE_USER_HOME
android/gradlewMODIFIED
0 hidden comment
@@ -205,7 +205,7 @@ fi
205DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'205DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
206 206
207# Collect all arguments for the java command:207# Collect all arguments for the java command:
208# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,208# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
209# and any embedded shellness will be escaped.209# and any embedded shellness will be escaped.
210# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be210# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
211# treated as '${Hostname}' itself on the command line.211# treated as '${Hostname}' itself on the command line.
ios/RnDiffApp/AppDelegate.swiftMODIFIED
0 hidden comment
@@ -4,18 +4,36 @@ import React_RCTAppDelegate
4import ReactAppDependencyProvider4import ReactAppDependencyProvider
5 5
6@main6@main
7class AppDelegate: RCTAppDelegate {
8 override func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
9 self.moduleName = "RnDiffApp"
10 self.dependencyProvider = RCTAppDependencyProvider()7class AppDelegate: UIResponder, UIApplicationDelegate {
8 var window: UIWindow?
11 9
12 // You can add your custom initial props in the dictionary below.
13 // They will be passed down to the ViewController used by React Native.
14 self.initialProps = [:]10 var reactNativeDelegate: ReactNativeDelegate?
11 var reactNativeFactory: RCTReactNativeFactory?
15 12
16 return super.application(application, didFinishLaunchingWithOptions: launchOptions)13 func application(
14 _ application: UIApplication,
15 didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
16 ) -> Bool {
17 let delegate = ReactNativeDelegate()
18 let factory = RCTReactNativeFactory(delegate: delegate)
19 delegate.dependencyProvider = RCTAppDependencyProvider()
20
21 reactNativeDelegate = delegate
22 reactNativeFactory = factory
23
24 window = UIWindow(frame: UIScreen.main.bounds)
25
26 factory.startReactNative(
27 withModuleName: "RnDiffApp",
28 in: window,
29 launchOptions: launchOptions
30 )
31
32 return true
33 }
17}34}
18 35
36class ReactNativeDelegate: RCTDefaultReactNativeFactoryDelegate {
19 override func sourceURL(for bridge: RCTBridge) -> URL? {37 override func sourceURL(for bridge: RCTBridge) -> URL? {
20 self.bundleURL()38 self.bundleURL()
21 }39 }
1 /7